[Patch v2 1/6] soc: qcom: gsbi: Add support for ADM CRCI muxing

Kumar Gala galak at codeaurora.org
Fri Jan 30 08:32:58 PST 2015


On Jan 30, 2015, at 12:25 AM, Andy Gross <agross at codeaurora.org> wrote:

> 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 <agross at codeaurora.org>
> ---
> .../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 of
> the 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.

> +
> 	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




More information about the linux-arm-kernel mailing list