From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752178AbaBPFM1 (ORCPT ); Sun, 16 Feb 2014 00:12:27 -0500 Received: from kolab.o2s.ch ([77.109.136.180]:55104 "EHLO kolab.o2s.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751197AbaBPFMU (ORCPT ); Sun, 16 Feb 2014 00:12:20 -0500 Subject: [PATCH v6 7/8] ARM: dts: sun5i: Add support for mmc To: devicetree@vger.kernel.org, Ulf Hansson , Laurent Pinchart , Mike Turquette , Simon Baatz , Hans de Goede , Emilio =?utf-8?b?TMOzcGV6?= , linux-mmc@vger.kernel.org, Chris Ball , linux-kernel@vger.kernel.org, H Hartley Sweeten , linux-sunxi@googlegroups.com, Tejun Heo , Maxime Ripard , Guennadi Liakhovetski , linux-arm-kernel@lists.infradead.org From: David =?utf-8?q?Lanzend=C3=B6rfer?= Date: Sun, 16 Feb 2014 06:12:11 +0100 Message-ID: <20140216051211.728.31056.stgit@dizzy-6.o2s.ch> In-Reply-To: <20140216050933.728.25526.stgit@dizzy-6.o2s.ch> References: <20140216050933.728.25526.stgit@dizzy-6.o2s.ch> User-Agent: StGit/0.16 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Signed-off-by: David Lanzendörfer Signed-off-by: Hans de Goede --- arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts | 30 +++++++++++++++ arch/arm/boot/dts/sun5i-a10s.dtsi | 44 ++++++++++++++++++++++ arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts | 15 ++++++++ arch/arm/boot/dts/sun5i-a13-olinuxino.dts | 15 ++++++++ arch/arm/boot/dts/sun5i-a13.dtsi | 37 +++++++++++++++++++ 5 files changed, 141 insertions(+) diff --git a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts index 3c9f8b3..5c7b454 100644 --- a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts +++ b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts @@ -34,7 +34,37 @@ }; }; + mmc0: mmc@01c0f000 { + pinctrl-names = "default", "default"; + pinctrl-0 = <&mmc0_pins_a>; + pinctrl-1 = <&mmc0_cd_pin_olinuxino_micro>; + cd-gpios = <&pio 6 1 0>; /* PG1 */ + status = "okay"; + }; + + mmc1: mmc@01c10000 { + pinctrl-names = "default", "default"; + pinctrl-0 = <&mmc1_pins_a>; + pinctrl-1 = <&mmc1_cd_pin_olinuxino_micro>; + cd-gpios = <&pio 6 13 0>; /* PG13 */ + status = "okay"; + }; + pinctrl@01c20800 { + mmc0_cd_pin_olinuxino_micro: mmc0_cd_pin@0 { + allwinner,pins = "PG1"; + allwinner,function = "gpio_in"; + allwinner,drive = <0>; + allwinner,pull = <1>; + }; + + mmc1_cd_pin_olinuxino_micro: mmc1_cd_pin@0 { + allwinner,pins = "PG13"; + allwinner,function = "gpio_in"; + allwinner,drive = <0>; + allwinner,pull = <1>; + }; + led_pins_olinuxino: led_pins@0 { allwinner,pins = "PE3"; allwinner,function = "gpio_out"; diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi index 327e87b..b6d1de0 100644 --- a/arch/arm/boot/dts/sun5i-a10s.dtsi +++ b/arch/arm/boot/dts/sun5i-a10s.dtsi @@ -293,6 +293,36 @@ #size-cells = <0>; }; + mmc0: mmc@01c0f000 { + compatible = "allwinner,sun5i-a13-mmc"; + reg = <0x01c0f000 0x1000>; + clocks = <&ahb_gates 8>, <&mmc0_clk>; + clock-names = "ahb", "mod"; + interrupts = <32>; + bus-width = <4>; + status = "disabled"; + }; + + mmc1: mmc@01c10000 { + compatible = "allwinner,sun5i-a13-mmc"; + reg = <0x01c10000 0x1000>; + clocks = <&ahb_gates 9>, <&mmc1_clk>; + clock-names = "ahb", "mod"; + interrupts = <33>; + bus-width = <4>; + status = "disabled"; + }; + + mmc2: mmc@01c11000 { + compatible = "allwinner,sun5i-a13-mmc"; + reg = <0x01c11000 0x1000>; + clocks = <&ahb_gates 10>, <&mmc2_clk>; + clock-names = "ahb", "mod"; + interrupts = <34>; + bus-width = <4>; + status = "disabled"; + }; + intc: interrupt-controller@01c20400 { compatible = "allwinner,sun4i-ic"; reg = <0x01c20400 0x400>; @@ -363,6 +393,20 @@ allwinner,drive = <0>; allwinner,pull = <0>; }; + + mmc0_pins_a: mmc0@0 { + allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5"; + allwinner,function = "mmc0"; + allwinner,drive = <3>; + allwinner,pull = <0>; + }; + + mmc1_pins_a: mmc1@0 { + allwinner,pins = "PG3","PG4","PG5","PG6","PG7","PG8"; + allwinner,function = "mmc1"; + allwinner,drive = <3>; + allwinner,pull = <0>; + }; }; timer@01c20c00 { diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts index fe2ce0a..2f08bb2 100644 --- a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts +++ b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts @@ -20,7 +20,22 @@ compatible = "olimex,a13-olinuxino-micro", "allwinner,sun5i-a13"; soc@01c00000 { + mmc0: mmc@01c0f000 { + pinctrl-names = "default", "default"; + pinctrl-0 = <&mmc0_pins_a>; + pinctrl-1 = <&mmc0_cd_pin_olinuxinom>; + cd-gpios = <&pio 6 0 0>; /* PG0 */ + status = "okay"; + }; + pinctrl@01c20800 { + mmc0_cd_pin_olinuxinom: mmc0_cd_pin@0 { + allwinner,pins = "PG0"; + allwinner,function = "gpio_in"; + allwinner,drive = <0>; + allwinner,pull = <1>; + }; + led_pins_olinuxinom: led_pins@0 { allwinner,pins = "PG9"; allwinner,function = "gpio_out"; diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts index a4ba5ff..a7280f5 100644 --- a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts +++ b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts @@ -19,7 +19,22 @@ compatible = "olimex,a13-olinuxino", "allwinner,sun5i-a13"; soc@01c00000 { + mmc0: mmc@01c0f000 { + pinctrl-names = "default", "default"; + pinctrl-0 = <&mmc0_pins_a>; + pinctrl-1 = <&mmc0_cd_pin_olinuxino>; + cd-gpios = <&pio 6 0 0>; /* PG0 */ + status = "okay"; + }; + pinctrl@01c20800 { + mmc0_cd_pin_olinuxino: mmc0_cd_pin@0 { + allwinner,pins = "PG0"; + allwinner,function = "gpio_in"; + allwinner,drive = <0>; + allwinner,pull = <1>; + }; + led_pins_olinuxino: led_pins@0 { allwinner,pins = "PG9"; allwinner,function = "gpio_out"; diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi index f49eb13..040d304 100644 --- a/arch/arm/boot/dts/sun5i-a13.dtsi +++ b/arch/arm/boot/dts/sun5i-a13.dtsi @@ -274,6 +274,36 @@ #size-cells = <1>; ranges; + mmc0: mmc@01c0f000 { + compatible = "allwinner,sun5i-a13-mmc"; + reg = <0x01c0f000 0x1000>; + clocks = <&ahb_gates 8>, <&mmc0_clk>; + clock-names = "ahb", "mod"; + interrupts = <32>; + bus-width = <4>; + status = "disabled"; + }; + + mmc1: mmc@01c10000 { + compatible = "allwinner,sun5i-a13-mmc"; + reg = <0x01c10000 0x1000>; + clocks = <&ahb_gates 9>, <&mmc1_clk>; + clock-names = "ahb", "mod"; + interrupts = <33>; + bus-width = <4>; + status = "disabled"; + }; + + mmc2: mmc@01c11000 { + compatible = "allwinner,sun5i-a13-mmc"; + reg = <0x01c11000 0x1000>; + clocks = <&ahb_gates 10>, <&mmc2_clk>; + clock-names = "ahb", "mod"; + interrupts = <34>; + bus-width = <4>; + status = "disabled"; + }; + intc: interrupt-controller@01c20400 { compatible = "allwinner,sun4i-ic"; reg = <0x01c20400 0x400>; @@ -326,6 +356,13 @@ allwinner,drive = <0>; allwinner,pull = <0>; }; + + mmc0_pins_a: mmc0@0 { + allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5"; + allwinner,function = "mmc0"; + allwinner,drive = <3>; + allwinner,pull = <0>; + }; }; timer@01c20c00 { From mboxrd@z Thu Jan 1 00:00:00 1970 From: David =?utf-8?q?Lanzend=C3=B6rfer?= Subject: [PATCH v6 7/8] ARM: dts: sun5i: Add support for mmc Date: Sun, 16 Feb 2014 06:12:11 +0100 Message-ID: <20140216051211.728.31056.stgit@dizzy-6.o2s.ch> References: <20140216050933.728.25526.stgit@dizzy-6.o2s.ch> Reply-To: linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <20140216050933.728.25526.stgit-GPtPHOohwllnsqa/0SyWJQ@public.gmane.org> List-Post: , List-Help: , List-Archive: Sender: linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org List-Subscribe: , List-Unsubscribe: , To: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Ulf Hansson , Laurent Pinchart , Mike Turquette , Simon Baatz , Hans de Goede , Emilio =?utf-8?b?TMOzcGV6?= , linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Chris Ball , linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, H Hartley Sweeten , linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org, Tejun Heo , Maxime Ripard , Guennadi Liakhovetski , linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org List-Id: devicetree@vger.kernel.org Signed-off-by: David Lanzend=C3=B6rfer Signed-off-by: Hans de Goede --- arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts | 30 +++++++++++++++ arch/arm/boot/dts/sun5i-a10s.dtsi | 44 ++++++++++++++++++= ++++ arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts | 15 ++++++++ arch/arm/boot/dts/sun5i-a13-olinuxino.dts | 15 ++++++++ arch/arm/boot/dts/sun5i-a13.dtsi | 37 ++++++++++++++++++= + 5 files changed, 141 insertions(+) diff --git a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts b/arch/arm/bo= ot/dts/sun5i-a10s-olinuxino-micro.dts index 3c9f8b3..5c7b454 100644 --- a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts +++ b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts @@ -34,7 +34,37 @@ }; }; =20 + mmc0: mmc@01c0f000 { + pinctrl-names =3D "default", "default"; + pinctrl-0 =3D <&mmc0_pins_a>; + pinctrl-1 =3D <&mmc0_cd_pin_olinuxino_micro>; + cd-gpios =3D <&pio 6 1 0>; /* PG1 */ + status =3D "okay"; + }; + + mmc1: mmc@01c10000 { + pinctrl-names =3D "default", "default"; + pinctrl-0 =3D <&mmc1_pins_a>; + pinctrl-1 =3D <&mmc1_cd_pin_olinuxino_micro>; + cd-gpios =3D <&pio 6 13 0>; /* PG13 */ + status =3D "okay"; + }; + pinctrl@01c20800 { + mmc0_cd_pin_olinuxino_micro: mmc0_cd_pin@0 { + allwinner,pins =3D "PG1"; + allwinner,function =3D "gpio_in"; + allwinner,drive =3D <0>; + allwinner,pull =3D <1>; + }; + + mmc1_cd_pin_olinuxino_micro: mmc1_cd_pin@0 { + allwinner,pins =3D "PG13"; + allwinner,function =3D "gpio_in"; + allwinner,drive =3D <0>; + allwinner,pull =3D <1>; + }; + led_pins_olinuxino: led_pins@0 { allwinner,pins =3D "PE3"; allwinner,function =3D "gpio_out"; diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a1= 0s.dtsi index 327e87b..b6d1de0 100644 --- a/arch/arm/boot/dts/sun5i-a10s.dtsi +++ b/arch/arm/boot/dts/sun5i-a10s.dtsi @@ -293,6 +293,36 @@ #size-cells =3D <0>; }; =20 + mmc0: mmc@01c0f000 { + compatible =3D "allwinner,sun5i-a13-mmc"; + reg =3D <0x01c0f000 0x1000>; + clocks =3D <&ahb_gates 8>, <&mmc0_clk>; + clock-names =3D "ahb", "mod"; + interrupts =3D <32>; + bus-width =3D <4>; + status =3D "disabled"; + }; + + mmc1: mmc@01c10000 { + compatible =3D "allwinner,sun5i-a13-mmc"; + reg =3D <0x01c10000 0x1000>; + clocks =3D <&ahb_gates 9>, <&mmc1_clk>; + clock-names =3D "ahb", "mod"; + interrupts =3D <33>; + bus-width =3D <4>; + status =3D "disabled"; + }; + + mmc2: mmc@01c11000 { + compatible =3D "allwinner,sun5i-a13-mmc"; + reg =3D <0x01c11000 0x1000>; + clocks =3D <&ahb_gates 10>, <&mmc2_clk>; + clock-names =3D "ahb", "mod"; + interrupts =3D <34>; + bus-width =3D <4>; + status =3D "disabled"; + }; + intc: interrupt-controller@01c20400 { compatible =3D "allwinner,sun4i-ic"; reg =3D <0x01c20400 0x400>; @@ -363,6 +393,20 @@ allwinner,drive =3D <0>; allwinner,pull =3D <0>; }; + + mmc0_pins_a: mmc0@0 { + allwinner,pins =3D "PF0","PF1","PF2","PF3","PF4","PF5"; + allwinner,function =3D "mmc0"; + allwinner,drive =3D <3>; + allwinner,pull =3D <0>; + }; + + mmc1_pins_a: mmc1@0 { + allwinner,pins =3D "PG3","PG4","PG5","PG6","PG7","PG8"; + allwinner,function =3D "mmc1"; + allwinner,drive =3D <3>; + allwinner,pull =3D <0>; + }; }; =20 timer@01c20c00 { diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts b/arch/arm/boo= t/dts/sun5i-a13-olinuxino-micro.dts index fe2ce0a..2f08bb2 100644 --- a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts +++ b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts @@ -20,7 +20,22 @@ compatible =3D "olimex,a13-olinuxino-micro", "allwinner,sun5i-a13"; =20 soc@01c00000 { + mmc0: mmc@01c0f000 { + pinctrl-names =3D "default", "default"; + pinctrl-0 =3D <&mmc0_pins_a>; + pinctrl-1 =3D <&mmc0_cd_pin_olinuxinom>; + cd-gpios =3D <&pio 6 0 0>; /* PG0 */ + status =3D "okay"; + }; + pinctrl@01c20800 { + mmc0_cd_pin_olinuxinom: mmc0_cd_pin@0 { + allwinner,pins =3D "PG0"; + allwinner,function =3D "gpio_in"; + allwinner,drive =3D <0>; + allwinner,pull =3D <1>; + }; + led_pins_olinuxinom: led_pins@0 { allwinner,pins =3D "PG9"; allwinner,function =3D "gpio_out"; diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts b/arch/arm/boot/dts/= sun5i-a13-olinuxino.dts index a4ba5ff..a7280f5 100644 --- a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts +++ b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts @@ -19,7 +19,22 @@ compatible =3D "olimex,a13-olinuxino", "allwinner,sun5i-a13"; =20 soc@01c00000 { + mmc0: mmc@01c0f000 { + pinctrl-names =3D "default", "default"; + pinctrl-0 =3D <&mmc0_pins_a>; + pinctrl-1 =3D <&mmc0_cd_pin_olinuxino>; + cd-gpios =3D <&pio 6 0 0>; /* PG0 */ + status =3D "okay"; + }; + pinctrl@01c20800 { + mmc0_cd_pin_olinuxino: mmc0_cd_pin@0 { + allwinner,pins =3D "PG0"; + allwinner,function =3D "gpio_in"; + allwinner,drive =3D <0>; + allwinner,pull =3D <1>; + }; + led_pins_olinuxino: led_pins@0 { allwinner,pins =3D "PG9"; allwinner,function =3D "gpio_out"; diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13= .dtsi index f49eb13..040d304 100644 --- a/arch/arm/boot/dts/sun5i-a13.dtsi +++ b/arch/arm/boot/dts/sun5i-a13.dtsi @@ -274,6 +274,36 @@ #size-cells =3D <1>; ranges; =20 + mmc0: mmc@01c0f000 { + compatible =3D "allwinner,sun5i-a13-mmc"; + reg =3D <0x01c0f000 0x1000>; + clocks =3D <&ahb_gates 8>, <&mmc0_clk>; + clock-names =3D "ahb", "mod"; + interrupts =3D <32>; + bus-width =3D <4>; + status =3D "disabled"; + }; + + mmc1: mmc@01c10000 { + compatible =3D "allwinner,sun5i-a13-mmc"; + reg =3D <0x01c10000 0x1000>; + clocks =3D <&ahb_gates 9>, <&mmc1_clk>; + clock-names =3D "ahb", "mod"; + interrupts =3D <33>; + bus-width =3D <4>; + status =3D "disabled"; + }; + + mmc2: mmc@01c11000 { + compatible =3D "allwinner,sun5i-a13-mmc"; + reg =3D <0x01c11000 0x1000>; + clocks =3D <&ahb_gates 10>, <&mmc2_clk>; + clock-names =3D "ahb", "mod"; + interrupts =3D <34>; + bus-width =3D <4>; + status =3D "disabled"; + }; + intc: interrupt-controller@01c20400 { compatible =3D "allwinner,sun4i-ic"; reg =3D <0x01c20400 0x400>; @@ -326,6 +356,13 @@ allwinner,drive =3D <0>; allwinner,pull =3D <0>; }; + + mmc0_pins_a: mmc0@0 { + allwinner,pins =3D "PF0","PF1","PF2","PF3","PF4","PF5"; + allwinner,function =3D "mmc0"; + allwinner,drive =3D <3>; + allwinner,pull =3D <0>; + }; }; =20 timer@01c20c00 { --=20 You received this message because you are subscribed to the Google Groups "= linux-sunxi" group. To unsubscribe from this group and stop receiving emails from it, send an e= mail to linux-sunxi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit https://groups.google.com/groups/opt_out. From mboxrd@z Thu Jan 1 00:00:00 1970 From: david.lanzendoerfer@o2s.ch (David =?utf-8?q?Lanzend=C3=B6rfer?=) Date: Sun, 16 Feb 2014 06:12:11 +0100 Subject: [PATCH v6 7/8] ARM: dts: sun5i: Add support for mmc In-Reply-To: <20140216050933.728.25526.stgit@dizzy-6.o2s.ch> References: <20140216050933.728.25526.stgit@dizzy-6.o2s.ch> Message-ID: <20140216051211.728.31056.stgit@dizzy-6.o2s.ch> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Signed-off-by: David Lanzend?rfer Signed-off-by: Hans de Goede --- arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts | 30 +++++++++++++++ arch/arm/boot/dts/sun5i-a10s.dtsi | 44 ++++++++++++++++++++++ arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts | 15 ++++++++ arch/arm/boot/dts/sun5i-a13-olinuxino.dts | 15 ++++++++ arch/arm/boot/dts/sun5i-a13.dtsi | 37 +++++++++++++++++++ 5 files changed, 141 insertions(+) diff --git a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts index 3c9f8b3..5c7b454 100644 --- a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts +++ b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts @@ -34,7 +34,37 @@ }; }; + mmc0: mmc at 01c0f000 { + pinctrl-names = "default", "default"; + pinctrl-0 = <&mmc0_pins_a>; + pinctrl-1 = <&mmc0_cd_pin_olinuxino_micro>; + cd-gpios = <&pio 6 1 0>; /* PG1 */ + status = "okay"; + }; + + mmc1: mmc at 01c10000 { + pinctrl-names = "default", "default"; + pinctrl-0 = <&mmc1_pins_a>; + pinctrl-1 = <&mmc1_cd_pin_olinuxino_micro>; + cd-gpios = <&pio 6 13 0>; /* PG13 */ + status = "okay"; + }; + pinctrl at 01c20800 { + mmc0_cd_pin_olinuxino_micro: mmc0_cd_pin at 0 { + allwinner,pins = "PG1"; + allwinner,function = "gpio_in"; + allwinner,drive = <0>; + allwinner,pull = <1>; + }; + + mmc1_cd_pin_olinuxino_micro: mmc1_cd_pin at 0 { + allwinner,pins = "PG13"; + allwinner,function = "gpio_in"; + allwinner,drive = <0>; + allwinner,pull = <1>; + }; + led_pins_olinuxino: led_pins at 0 { allwinner,pins = "PE3"; allwinner,function = "gpio_out"; diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi index 327e87b..b6d1de0 100644 --- a/arch/arm/boot/dts/sun5i-a10s.dtsi +++ b/arch/arm/boot/dts/sun5i-a10s.dtsi @@ -293,6 +293,36 @@ #size-cells = <0>; }; + mmc0: mmc at 01c0f000 { + compatible = "allwinner,sun5i-a13-mmc"; + reg = <0x01c0f000 0x1000>; + clocks = <&ahb_gates 8>, <&mmc0_clk>; + clock-names = "ahb", "mod"; + interrupts = <32>; + bus-width = <4>; + status = "disabled"; + }; + + mmc1: mmc at 01c10000 { + compatible = "allwinner,sun5i-a13-mmc"; + reg = <0x01c10000 0x1000>; + clocks = <&ahb_gates 9>, <&mmc1_clk>; + clock-names = "ahb", "mod"; + interrupts = <33>; + bus-width = <4>; + status = "disabled"; + }; + + mmc2: mmc at 01c11000 { + compatible = "allwinner,sun5i-a13-mmc"; + reg = <0x01c11000 0x1000>; + clocks = <&ahb_gates 10>, <&mmc2_clk>; + clock-names = "ahb", "mod"; + interrupts = <34>; + bus-width = <4>; + status = "disabled"; + }; + intc: interrupt-controller at 01c20400 { compatible = "allwinner,sun4i-ic"; reg = <0x01c20400 0x400>; @@ -363,6 +393,20 @@ allwinner,drive = <0>; allwinner,pull = <0>; }; + + mmc0_pins_a: mmc0 at 0 { + allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5"; + allwinner,function = "mmc0"; + allwinner,drive = <3>; + allwinner,pull = <0>; + }; + + mmc1_pins_a: mmc1 at 0 { + allwinner,pins = "PG3","PG4","PG5","PG6","PG7","PG8"; + allwinner,function = "mmc1"; + allwinner,drive = <3>; + allwinner,pull = <0>; + }; }; timer at 01c20c00 { diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts index fe2ce0a..2f08bb2 100644 --- a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts +++ b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts @@ -20,7 +20,22 @@ compatible = "olimex,a13-olinuxino-micro", "allwinner,sun5i-a13"; soc at 01c00000 { + mmc0: mmc at 01c0f000 { + pinctrl-names = "default", "default"; + pinctrl-0 = <&mmc0_pins_a>; + pinctrl-1 = <&mmc0_cd_pin_olinuxinom>; + cd-gpios = <&pio 6 0 0>; /* PG0 */ + status = "okay"; + }; + pinctrl at 01c20800 { + mmc0_cd_pin_olinuxinom: mmc0_cd_pin at 0 { + allwinner,pins = "PG0"; + allwinner,function = "gpio_in"; + allwinner,drive = <0>; + allwinner,pull = <1>; + }; + led_pins_olinuxinom: led_pins at 0 { allwinner,pins = "PG9"; allwinner,function = "gpio_out"; diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts index a4ba5ff..a7280f5 100644 --- a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts +++ b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts @@ -19,7 +19,22 @@ compatible = "olimex,a13-olinuxino", "allwinner,sun5i-a13"; soc at 01c00000 { + mmc0: mmc at 01c0f000 { + pinctrl-names = "default", "default"; + pinctrl-0 = <&mmc0_pins_a>; + pinctrl-1 = <&mmc0_cd_pin_olinuxino>; + cd-gpios = <&pio 6 0 0>; /* PG0 */ + status = "okay"; + }; + pinctrl at 01c20800 { + mmc0_cd_pin_olinuxino: mmc0_cd_pin at 0 { + allwinner,pins = "PG0"; + allwinner,function = "gpio_in"; + allwinner,drive = <0>; + allwinner,pull = <1>; + }; + led_pins_olinuxino: led_pins at 0 { allwinner,pins = "PG9"; allwinner,function = "gpio_out"; diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi index f49eb13..040d304 100644 --- a/arch/arm/boot/dts/sun5i-a13.dtsi +++ b/arch/arm/boot/dts/sun5i-a13.dtsi @@ -274,6 +274,36 @@ #size-cells = <1>; ranges; + mmc0: mmc at 01c0f000 { + compatible = "allwinner,sun5i-a13-mmc"; + reg = <0x01c0f000 0x1000>; + clocks = <&ahb_gates 8>, <&mmc0_clk>; + clock-names = "ahb", "mod"; + interrupts = <32>; + bus-width = <4>; + status = "disabled"; + }; + + mmc1: mmc at 01c10000 { + compatible = "allwinner,sun5i-a13-mmc"; + reg = <0x01c10000 0x1000>; + clocks = <&ahb_gates 9>, <&mmc1_clk>; + clock-names = "ahb", "mod"; + interrupts = <33>; + bus-width = <4>; + status = "disabled"; + }; + + mmc2: mmc at 01c11000 { + compatible = "allwinner,sun5i-a13-mmc"; + reg = <0x01c11000 0x1000>; + clocks = <&ahb_gates 10>, <&mmc2_clk>; + clock-names = "ahb", "mod"; + interrupts = <34>; + bus-width = <4>; + status = "disabled"; + }; + intc: interrupt-controller at 01c20400 { compatible = "allwinner,sun4i-ic"; reg = <0x01c20400 0x400>; @@ -326,6 +356,13 @@ allwinner,drive = <0>; allwinner,pull = <0>; }; + + mmc0_pins_a: mmc0 at 0 { + allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5"; + allwinner,function = "mmc0"; + allwinner,drive = <3>; + allwinner,pull = <0>; + }; }; timer at 01c20c00 {