59 lines
2.7 KiB
Plaintext
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;
|
||
|
};
|