[Patch v2 1/6] soc: qcom: gsbi: Add support for ADM CRCI muxing
From: Kumar Gala <hidden>
Date: 2015-01-30 16:33:08
Also in:
linux-arm-msm, linux-devicetree, lkml
On Jan 30, 2015, at 12:25 AM, Andy Gross [off-list ref] wrote:
quoted hunk ↗ jump to hunk
This patch adds automatic configuration for the ADM CRCI muxing required to support DMA operations for GSBI clients. The GSBI mode and instance determine the correct TCSR ADM CRCI MUX value that must be programmed so that the DMA works properly. Signed-off-by: Andy Gross <redacted> --- .../devicetree/bindings/soc/qcom/qcom,gsbi.txt | 18 ++- drivers/soc/qcom/Kconfig | 1 + drivers/soc/qcom/qcom_gsbi.c | 153 ++++++++++++++++++++ 3 files changed, 171 insertions(+), 1 deletion(-)diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,gsbi.txt b/Documentation/devicetree/bindings/soc/qcom/qcom,gsbi.txt index 4ce24d4..8fe7b37 100644 --- a/Documentation/devicetree/bindings/soc/qcom/qcom,gsbi.txt +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,gsbi.txt@@ -6,7 +6,7 @@ configuration settings. The mode setting will govern the input/output mode ofthe 4 GSBI IOs. Required properties: -- compatible: must contain "qcom,gsbi-v1.0.0" for APQ8064/IPQ8064 +- compatible: Should contain "qcom,gsbi-v1.0.0" - reg: Address range for GSBI registers - clocks: required clock - clock-names: must contain "iface" entry@@ -16,12 +16,16 @@ Required properties:Optional properties: - qcom,crci : indicates CRCI MUX value for QUP CRCI ports. Please reference dt-bindings/soc/qcom,gsbi.h for valid CRCI mux values. +- syscon-tcsr: indicates phandle of TCSR syscon node. Required if child uses + dma. Required properties if child node exists: - #address-cells: Must be 1 - #size-cells: Must be 1 - ranges: Must be present +Note: Each GSBI should have an alias correctly numbered in "aliases" node. + Properties for children: A GSBI controller node can contain 0 or more child nodes representing serial@@ -37,6 +41,10 @@ Example for APQ8064:#include <dt-bindings/soc/qcom,gsbi.h> + aliases { + gsbi4 = <&gsbi4>; + };
You appear to be using the alias name to determine a index number for the gsbi, if that is the case, than you should probably just add a cell-index node to the gsbi?s for this purpose.
quoted hunk ↗ jump to hunk
+ gsbi4 at 16300000 { compatible = "qcom,gsbi-v1.0.0"; reg = <0x16300000 0x100>;@@ -48,6 +56,8 @@ Example for APQ8064:qcom,mode = <GSBI_PROT_I2C_UART>; qcom,crci = <GSBI_CRCI_QUP>; + syscon-tcsr = <&tcsr>; + /* child nodes go under here */ i2c_qup4: i2c at 16380000 {@@ -76,3 +86,9 @@ Example for APQ8064:}; }; + tcsr: syscon at 1a400000 { + compatible = "qcom,apq8064-tcsr", "syscon"; + reg = <0x1a400000 0x100>; + }; + +
- k -- Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project