M7350/kernel/Documentation/devicetree/bindings/slimbus/slim-msm-ctrl.txt
2024-09-09 08:52:07 +00:00

59 lines
2.7 KiB
Plaintext

Qualcomm SLIMBUS controller
Qualcomm implements 2 type of slimbus controllers:
1. "qcom,slim-msm": This controller is used if applications processor
driver is controlling slimbus master component. This driver is
responsible for communicating with slave HW directly using
messaging interface, and doing data channel management. Driver
also communicates with satellite component (driver implemented
by other execution environment, such as ADSP) to get its
requirements for data channel and bandwidth requirements.
2. "qcom,slim-ngd": This controller is used if applications processor
driver is controlling slimbus satellite component (also known as
Non-ported Generic Device, or NGD). This is light-weight slimbus
controller responsible for communicating with slave HW directly
over bus messaging interface, and communicating with master component
(driver residing on other execution environment, such as ADSP)
for bandwidth and data channel management.
Required properties:
- reg : Offset and length of the register region(s) for the device
- reg-names : Register region name(s) referenced in reg above
Required register resource entries are:
"slimbus_physical": Physical adderss of controller register blocks
"slimbus_bam_physical": Physical address of Bus Access Module (BAM)
for this controller
- compatible : should be "qcom,slim-msm" if this is master component driver
- compatible : should be "qcom,slim-ngd" if this is satellite component driver
- cell-index : SLIMBUS number used for this controller
- interrupts : Interrupt numbers used by this controller
- interrupt-names : Required interrupt resource entries are:
"slimbus_irq" : Interrupt for SLIMBUS core
"slimbus_bam_irq" : Interrupt for controller core's BAM
Optional property:
- reg entry for slew rate : If slew rate control register is provided, this
entry should be used.
- reg-name for slew rate: "slimbus_slew_reg"
- qcom,min-clk-gear : Minimum clock gear at which this controller can be run
(range: 1-10)
Default value will be 1 if this entry is not specified
- qcom,max-clk-gear: Maximum clock gear at which this controller can be run
(range: 1-10)
Default value will be 10 if this entry is not specified
- qcom,rxreg-access: This boolean indicates that slimbus RX should use direct
register access to receive data. This flag is only needed if
BAM pipe is not available to receive data from slimbus
Example:
slim@fe12f000 {
cell-index = <1>;
compatible = "qcom,slim-msm";
reg = <0xfe12f000 0x35000>,
<0xfe104000 0x20000>;
reg-names = "slimbus_physical", "slimbus_bam_physical";
interrupts = <0 163 0 0 164 0>;
interrupt-names = "slimbus_irq", "slimbus_bam_irq";
qcom,min-clk-gear = <10>;
qcom,rxreg-access;
};