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

From: Kumar Gala
Date: Fri Jan 30 2015 - 11:33:12 EST



On Jan 30, 2015, at 12:25 AM, Andy Gross <agross@xxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxx>
> ---
> .../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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/