diff mbox

[v2,06/16] arm64: dts: add Hi6220 spi configuration nodes

Message ID 1459589383-16914-7-git-send-email-guodong.xu@linaro.org (mailing list archive)
State New, archived
Headers show

Commit Message

Guodong Xu April 2, 2016, 9:29 a.m. UTC
From: Zhong Kaihua <zhongkaihua@huawei.com>

Add Hi6220 spi configuration nodes

Signed-off-by: Zhong Kaihua <zhongkaihua@huawei.com>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
---
 arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts   |  1 +
 arch/arm64/boot/dts/hisilicon/hi6220.dtsi        | 15 +++++++++++++++
 arch/arm64/boot/dts/hisilicon/hikey-pinctrl.dtsi | 21 +++++++++++++++++++++
 3 files changed, 37 insertions(+)

Comments

Rob Herring (Arm) April 4, 2016, 5:16 a.m. UTC | #1
On Sat, Apr 02, 2016 at 05:29:33PM +0800, Guodong Xu wrote:
> From: Zhong Kaihua <zhongkaihua@huawei.com>
> 
> Add Hi6220 spi configuration nodes
> 
> Signed-off-by: Zhong Kaihua <zhongkaihua@huawei.com>
> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
> ---
>  arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts   |  1 +
>  arch/arm64/boot/dts/hisilicon/hi6220.dtsi        | 15 +++++++++++++++
>  arch/arm64/boot/dts/hisilicon/hikey-pinctrl.dtsi | 21 +++++++++++++++++++++
>  3 files changed, 37 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
> index 985a2ad..5c9ee31 100644
> --- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
> +++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
> @@ -20,6 +20,7 @@
>  		serial1 = &uart1; /* BT UART */
>  		serial2 = &uart2; /* LS Expansion UART0 */
>  		serial3 = &uart3; /* LS Expansion UART1 */
> +		spi0 = &spi_0;

You shouldn't really need an alias for SPI.

>  	};
>  
>  	chosen {
> diff --git a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
> index e96cc3c..dcca83b 100644
> --- a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
> +++ b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
> @@ -585,5 +585,20 @@
>  			clock-names = "apb_pclk";
>  			status = "ok";
>  		};
> +
> +		spi_0: spi@f7106000 {
> +			compatible = "arm,pl022", "arm,primecell";
> +			reg = <0x0 0xf7106000 0x0 0x1000>;
> +			interrupts = <0 50 4>;
> +			bus-id = <0>;
> +			enable-dma = <0>;
> +			clocks = <&sys_ctrl HI6220_SPI_CLK>;
> +			clock-names = "apb_pclk";
> +			pinctrl-names = "default";
> +			pinctrl-0 = <&spi0_pmx_func &spi0_cfg_func>;
> +			num-cs = <1>;
> +			cs-gpios = <&gpio6 2 0>;
> +			status = "ok";

You only need an ok to override a disabled status, so I think you can 
drop this. Or disable by default and let boards override it if that 
makes sense.

Rob
Guodong Xu April 12, 2016, 9:40 a.m. UTC | #2
On 4 April 2016 at 13:16, Rob Herring <robh@kernel.org> wrote:
> On Sat, Apr 02, 2016 at 05:29:33PM +0800, Guodong Xu wrote:
>> From: Zhong Kaihua <zhongkaihua@huawei.com>
>>
>> Add Hi6220 spi configuration nodes
>>
>> Signed-off-by: Zhong Kaihua <zhongkaihua@huawei.com>
>> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
>> ---
>>  arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts   |  1 +
>>  arch/arm64/boot/dts/hisilicon/hi6220.dtsi        | 15 +++++++++++++++
>>  arch/arm64/boot/dts/hisilicon/hikey-pinctrl.dtsi | 21 +++++++++++++++++++++
>>  3 files changed, 37 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
>> index 985a2ad..5c9ee31 100644
>> --- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
>> +++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
>> @@ -20,6 +20,7 @@
>>               serial1 = &uart1; /* BT UART */
>>               serial2 = &uart2; /* LS Expansion UART0 */
>>               serial3 = &uart3; /* LS Expansion UART1 */
>> +             spi0 = &spi_0;
>
> You shouldn't really need an alias for SPI.

Will remove it.

>
>>       };
>>
>>       chosen {
>> diff --git a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
>> index e96cc3c..dcca83b 100644
>> --- a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
>> +++ b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
>> @@ -585,5 +585,20 @@
>>                       clock-names = "apb_pclk";
>>                       status = "ok";
>>               };
>> +
>> +             spi_0: spi@f7106000 {
>> +                     compatible = "arm,pl022", "arm,primecell";
>> +                     reg = <0x0 0xf7106000 0x0 0x1000>;
>> +                     interrupts = <0 50 4>;
>> +                     bus-id = <0>;
>> +                     enable-dma = <0>;
>> +                     clocks = <&sys_ctrl HI6220_SPI_CLK>;
>> +                     clock-names = "apb_pclk";
>> +                     pinctrl-names = "default";
>> +                     pinctrl-0 = <&spi0_pmx_func &spi0_cfg_func>;
>> +                     num-cs = <1>;
>> +                     cs-gpios = <&gpio6 2 0>;
>> +                     status = "ok";
>
> You only need an ok to override a disabled status, so I think you can
> drop this. Or disable by default and let boards override it if that
> makes sense.

Thanks. I will modify this to "disabled", and enable it in board dts:
hi6220-hikey.dts

-Guodong

>
> Rob
diff mbox

Patch

diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
index 985a2ad..5c9ee31 100644
--- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
+++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
@@ -20,6 +20,7 @@ 
 		serial1 = &uart1; /* BT UART */
 		serial2 = &uart2; /* LS Expansion UART0 */
 		serial3 = &uart3; /* LS Expansion UART1 */
+		spi0 = &spi_0;
 	};
 
 	chosen {
diff --git a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
index e96cc3c..dcca83b 100644
--- a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
@@ -585,5 +585,20 @@ 
 			clock-names = "apb_pclk";
 			status = "ok";
 		};
+
+		spi_0: spi@f7106000 {
+			compatible = "arm,pl022", "arm,primecell";
+			reg = <0x0 0xf7106000 0x0 0x1000>;
+			interrupts = <0 50 4>;
+			bus-id = <0>;
+			enable-dma = <0>;
+			clocks = <&sys_ctrl HI6220_SPI_CLK>;
+			clock-names = "apb_pclk";
+			pinctrl-names = "default";
+			pinctrl-0 = <&spi0_pmx_func &spi0_cfg_func>;
+			num-cs = <1>;
+			cs-gpios = <&gpio6 2 0>;
+			status = "ok";
+		};
 	};
 };
diff --git a/arch/arm64/boot/dts/hisilicon/hikey-pinctrl.dtsi b/arch/arm64/boot/dts/hisilicon/hikey-pinctrl.dtsi
index 28806df..0916e84 100644
--- a/arch/arm64/boot/dts/hisilicon/hikey-pinctrl.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hikey-pinctrl.dtsi
@@ -221,6 +221,15 @@ 
 					0xfc   MUX_M0	/* I2C2_SDA     (IOMG063) */
 				>;
 			};
+
+			spi0_pmx_func: spi0_pmx_func {
+				pinctrl-single,pins = <
+					0x1a0  MUX_M1   /* SPI0_DI      (IOMG104) */
+					0x1a4  MUX_M1	/* SPI0_DO	(IOMG105) */
+					0x1a8  MUX_M1	/* SPI0_CS_N	(IOMG106) */
+					0x1ac  MUX_M1	/* SPI0_CLK	(IOMG107) */
+				>;
+			};
 		};
 
 		pmx1: pinmux@f7010800 {
@@ -625,6 +634,18 @@ 
 				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS  PULL_UP>;
 				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
 			};
+
+			spi0_cfg_func: spi0_cfg_func {
+				pinctrl-single,pins = <
+					0x1b0  0x0	/* SPI0_DI	(IOCFG108) */
+					0x1b4  0x0	/* SPI0_DO	(IOCFG109) */
+					0x1b8  0x0	/* SPI0_CS_N	(IOCFG110) */
+					0x1bc  0x0	/* SPI0_CLK	(IOCFG111) */
+				>;
+				pinctrl-single,bias-pulldown  = <PULL_DIS  PULL_DOWN PULL_DIS PULL_DOWN>;
+				pinctrl-single,bias-pullup    = <PULL_DIS  PULL_UP   PULL_DIS PULL_UP>;
+				pinctrl-single,drive-strength = <DRIVE1_02MA DRIVE_MASK>;
+			};
 		};
 
 		pmx2: pinmux@f8001800 {