On Jan 30, 2015, at 12:25 AM, Andy Gross <agr...@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 <agr...@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@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@16380000 {
> @@ -76,3 +86,9 @@ Example for APQ8064:
>               };
>       };
> 
> +     tcsr: syscon@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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to