12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- TSPP Driver
- For information on the TSPP driver, please refer to the TSPP driver
- documentation: Documentation/arm/msm/tspp.txt.
- The devicetree representation of the TSPP block should be:
- Required properties:
- - compatible: "qcom,msm_tspp"
- - cell-index: <0> - represents device ID.
- - reg: physical memory base addresses and sizes for the following:
- TSIF0, TSIF1, TSPP and TSPP_BAM.
- - reg-names: names of the memory regions.
- - interrupts: represents IRQ numbers for the following:
- TSIF_TSPP_IRQ, TSIF0_IRQ, TSIF1_IRQ, TSIF_BAM_IRQ.
- - interrupt-names: TSPP, TSIF and BAM interrupt names.
- - qcom,tsif-pclk: interface clock name.
- - qcom,tsif-ref-clk: reference clock name.
- The driver uses clk_get to get the clocks by name. The clocks
- should be defined in the relevant clock file (e.g. clock-8974.c).
- - gpios: GPIO numbers for TSIF0 (CLK, EN, DATA and SYNC) and TSIF1 (same).
- - qcom,gpio-names: GPIO names - strings describing the GPIO functionality.
- - qcom,gpios-func: GPIO functionality according to the GPIO functionality table.
- GPIO pins can have more than a single functionality, and the TSPP driver
- is responsible for configuring the GPIOs to work in TSIF functionality
- based on this parameter.
- Note: it is assumed that the functionality value (e.g. 1 in 8974 case)
- is applicable to all TSIF GPIOs.
- Optional properties:
- - vdd_cx-supply: Reference to the regulator that supplies the CX rail.
- Some hardware platforms (e.g. 8974-v2) require the voltage of the rail
- supplying power to the TSIF hardware block to be elevated before
- enabling the TSIF clocks.
- - Refer to "Documentation/devicetree/bindings/arm/msm/msm_bus.txt" for
- the below optional properties:
- - qcom,msm-bus,name
- - qcom,msm-bus,num-cases
- - qcom,msm-bus,num-paths
- - qcom,msm-bus,vectors-KBps
- Example (for 8974 platform, avaialble at msm8974.dtsi):
- tspp: msm_tspp@f99d8000 {
- compatible = "qcom,msm_tspp";
- cell-index = <0>;
- reg = <0xf99d8000 0x1000>, /* MSM_TSIF0_PHYS */
- <0xf99d9000 0x1000>, /* MSM_TSIF1_PHYS */
- <0xf99da000 0x1000>, /* MSM_TSPP_PHYS */
- <0xf99c4000 0x14000>; /* MSM_TSPP_BAM_PHYS */
- reg-names = "MSM_TSIF0_PHYS",
- "MSM_TSIF1_PHYS",
- "MSM_TSPP_PHYS",
- "MSM_TSPP_BAM_PHYS";
- interrupts = <0 153 0>, /* TSIF_TSPP_IRQ */
- <0 151 0>, /* TSIF0_IRQ */
- <0 152 0>, /* TSIF1_IRQ */
- <0 154 0>; /* TSIF_BAM_IRQ */
- interrupt-names = "TSIF_TSPP_IRQ",
- "TSIF0_IRQ",
- "TSIF1_IRQ",
- "TSIF_BAM_IRQ";
- qcom,tsif-pclk = "iface_clk";
- qcom,tsif-ref-clk = "ref_clk";
- gpios = <&msmgpio 89 0>, /* TSIF0 CLK */
- <&msmgpio 90 0>, /* TSIF0 EN */
- <&msmgpio 91 0>, /* TSIF0 DATA */
- <&msmgpio 92 0>, /* TSIF0 SYNC */
- <&msmgpio 93 0>, /* TSIF1 CLK */
- <&msmgpio 94 0>, /* TSIF1 EN */
- <&msmgpio 95 0>, /* TSIF1 DATA */
- <&msmgpio 96 0>; /* TSIF1 SYNC */
- qcom,gpio-names = "tsif_clk",
- "tsif_en",
- "tsif_data",
- "tsif_sync",
- "tsif_clk",
- "tsif_en",
- "tsif_data",
- "tsif_sync";
- qcom,gpios-func = <1>;
- qcom,msm-bus,name = "tsif";
- qcom,msm-bus,num-cases = <2>;
- qcom,msm-bus,num-paths = <1>;
- qcom,msm-bus,vectors-KBps =
- <82 512 0 0>, /* No vote */
- <82 512 12288 24576>; /* Max. bandwidth, 2xTSIF, each max of 96Mbps */
- };
|