From: Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: "Maxime Ripard"
<maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
"David Lanzendörfer"
<david.lanzendoerfer-Z7Kmv9EsliU@public.gmane.org>
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
"Ulf Hansson"
<ulf.hansson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
"Laurent Pinchart"
<laurent.pinchart+renesas-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org>,
"Mike Turquette"
<mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
"Simon Baatz" <gmbnomis-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
"Emilio López" <emilio-0Z03zUJReD5OxF6Tv1QG9Q@public.gmane.org>,
linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
"Chris Ball" <chris-OsFVWbfNK3isTnJN9+BGXg@public.gmane.org>,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
"H Hartley Sweeten"
<hsweeten-3FF4nKcrg1dE2c76skzGb0EOCMrvLtNR@public.gmane.org>,
linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org,
"Tejun Heo" <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
"Guennadi Liakhovetski"
<g.liakhovetski-Mmb7MZpHnFY@public.gmane.org>,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [PATCH v7 5/8] ARM: dts: sun7i: Add support for mmc
Date: Tue, 18 Feb 2014 16:10:38 +0100 [thread overview]
Message-ID: <530377EE.8010909@redhat.com> (raw)
In-Reply-To: <20140218142221.GJ3142@lukather>
Hi,
On 02/18/2014 03:22 PM, Maxime Ripard wrote:
> On Mon, Feb 17, 2014 at 11:02:41AM +0100, David Lanzendörfer wrote:
>> Signed-off-by: David Lanzendörfer <david.lanzendoerfer-Z7Kmv9EsliU@public.gmane.org>
>> Signed-off-by: Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
>> ---
>> arch/arm/boot/dts/sun7i-a20-cubieboard2.dts | 8 +++
>> arch/arm/boot/dts/sun7i-a20-cubietruck.dts | 8 +++
>> arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts | 23 +++++++++
>> arch/arm/boot/dts/sun7i-a20.dtsi | 61 +++++++++++++++++++++++
>> 4 files changed, 100 insertions(+)
>>
>
> I'd prefer to have three patches here:
> - One that add the controllers
> - One that add the pin muxing options
> - One that enable the controllers on the various boards.
>
>> diff --git a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
>> index 5c51cb8..ae800b6 100644
>> --- a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
>> +++ b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
>> @@ -34,6 +34,14 @@
>> };
>> };
>>
>> + mmc0: mmc@01c0f000 {
>> + pinctrl-names = "default", "default";
>> + pinctrl-0 = <&mmc0_pins_a>;
>> + pinctrl-1 = <&mmc0_cd_pin_reference_design>;
>
> This can be made a single pinctrl group, you don't need the pinctrl-1
> stuff, it only complicates the node.
Then how do we deal with boards which use a different gpio for card-detect ?
In that case we don't want to change the mux setting of the reference
design cd pin. IOW I believe that having 2 separate pinctrl settings for
this is the rigt thing todo. I would prefer using just mmc0_cd_pin_a instead
of _reference_design though.
Oh wait, you're probably talking about using:
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
Yes that would be better.
>
>> + cd-gpios = <&pio 7 1 0>; /* PH1 */
>> + status = "okay";
>> + };
>> +
>> pinctrl@01c20800 {
>> led_pins_cubieboard2: led_pins@0 {
>> allwinner,pins = "PH20", "PH21";
>> diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
>> index f9dcb61..370cef84 100644
>> --- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
>> +++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
>> @@ -19,6 +19,14 @@
>> compatible = "cubietech,cubietruck", "allwinner,sun7i-a20";
>>
>> soc@01c00000 {
>> + mmc0: mmc@01c0f000 {
>> + pinctrl-names = "default", "default";
>> + pinctrl-0 = <&mmc0_pins_a>;
>> + pinctrl-1 = <&mmc0_cd_pin_reference_design>;
>> + cd-gpios = <&pio 7 1 0>; /* PH1 */
>> + status = "okay";
>> + };
>> +
>> pinctrl@01c20800 {
>> led_pins_cubietruck: led_pins@0 {
>> allwinner,pins = "PH7", "PH11", "PH20", "PH21";
>> diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
>> index ead3013..685ec06 100644
>> --- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
>> +++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
>> @@ -34,7 +34,30 @@
>> };
>> };
>>
>> + mmc0: mmc@01c0f000 {
>> + pinctrl-names = "default", "default";
>> + pinctrl-0 = <&mmc0_pins_a>;
>> + pinctrl-1 = <&mmc0_cd_pin_reference_design>;
>> + cd-gpios = <&pio 7 1 0>; /* PH1 */
>> + status = "okay";
>> + };
>> +
>> + mmc3: mmc@01c12000 {
>> + pinctrl-names = "default", "default";
>> + pinctrl-0 = <&mmc3_pins_a>;
>> + pinctrl-1 = <&mmc3_cd_pin_olinuxinom>;
>> + cd-gpios = <&pio 7 11 0>; /* PH11 */
>> + status = "okay";
>> + };
>> +
>> pinctrl@01c20800 {
>> + mmc3_cd_pin_olinuxinom: mmc3_cd_pin@0 {
>> + allwinner,pins = "PH11";
>> + allwinner,function = "gpio_in";
>> + allwinner,drive = <0>;
>> + allwinner,pull = <1>;
>> + };
>> +
>> led_pins_olinuxino: led_pins@0 {
>> allwinner,pins = "PH2";
>> allwinner,function = "gpio_out";
>> diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
>> index 9ff0948..5b55414 100644
>> --- a/arch/arm/boot/dts/sun7i-a20.dtsi
>> +++ b/arch/arm/boot/dts/sun7i-a20.dtsi
>> @@ -355,6 +355,46 @@
>> #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 = <0 32 4>;
>> + bus-width = <4>;
>
> This belongs to the board, the controller itself is able to handle
> several bus width.
I believe that providing some form of default in the dtsi makes sense
here and all boards we've seen sofar always use 4 bits, we can always
override this from the dts file itself.
>
>> + status = "disabled";
>> + };
>> +
>> + mmc1: mmc@01c10000 {
>> + compatible = "allwinner,sun5i-a13-mmc";
>> + reg = <0x01c10000 0x1000>;
>> + clocks = <&ahb_gates 9>, <&mmc1_clk>;
>> + clock-names = "ahb", "mod";
>> + interrupts = <0 33 4>;
>> + 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 = <0 34 4>;
>> + bus-width = <4>;
>> + status = "disabled";
>> + };
>> +
>> + mmc3: mmc@01c12000 {
>> + compatible = "allwinner,sun5i-a13-mmc";
>> + reg = <0x01c12000 0x1000>;
>> + clocks = <&ahb_gates 11>, <&mmc3_clk>;
>> + clock-names = "ahb", "mod";
>> + interrupts = <0 35 4>;
>> + bus-width = <4>;
>> + status = "disabled";
>> + };
>> +
>> pio: pinctrl@01c20800 {
>> compatible = "allwinner,sun7i-a20-pinctrl";
>> reg = <0x01c20800 0x400>;
>> @@ -432,6 +472,27 @@
>> 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>;
>> + };
>> +
>> + mmc0_cd_pin_reference_design: mmc0_cd_pin@0 {
>> + allwinner,pins = "PH1";
>> + allwinner,function = "gpio_in";
>> + allwinner,drive = <0>;
>> + allwinner,pull = <1>;
>> + };
>> +
>> + mmc3_pins_a: mmc3@0 {
>> + allwinner,pins = "PI4","PI5","PI6","PI7","PI8","PI9";
>> + allwinner,function = "mmc3";
>> + allwinner,drive = <3>;
>> + allwinner,pull = <0>;
>> + };
>> };
>>
>> timer@01c20c00 {
>>
>
> Looks good otherwise.
>
> Thanks!
> Maxime
>
Regards,
Hans
--
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 email to linux-sunxi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
For more options, visit https://groups.google.com/groups/opt_out.
next prev parent reply other threads:[~2014-02-18 15:10 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-17 10:02 [PATCH v7 0/8] ARM: sunxi: Add driver for SD/MMC hosts found on allwinner sunxi SOCs David Lanzendörfer
[not found] ` <20140217095907.15040.81893.stgit-pgFh0Jf6HD9Xzn/AsuzBOg@public.gmane.org>
2014-02-17 10:02 ` [PATCH v7 1/8] clk: sunxi: factors: automatic reparenting support David Lanzendörfer
[not found] ` <20140217100215.15040.63745.stgit-pgFh0Jf6HD9Xzn/AsuzBOg@public.gmane.org>
2014-02-18 14:05 ` Maxime Ripard
[not found] ` <20140319233945.21989.12073@quantum>
2014-03-20 9:47 ` Maxime Ripard
2014-02-17 10:02 ` [PATCH v7 2/8] clk: sunxi: Implement MMC phase control David Lanzendörfer
[not found] ` <20140217100221.15040.47203.stgit-pgFh0Jf6HD9Xzn/AsuzBOg@public.gmane.org>
2014-02-18 14:15 ` Maxime Ripard
2014-02-19 5:21 ` Mike Turquette
2014-02-19 8:36 ` Maxime Ripard
2014-02-23 20:31 ` Mike Turquette
[not found] ` <20140602213134.10062.14293@quantum>
2014-06-05 16:01 ` Maxime Ripard
2014-02-17 10:02 ` [PATCH v7 3/8] ARM: sunxi: clk: export clk_sunxi_mmc_phase_control David Lanzendörfer
[not found] ` <20140217100228.15040.32391.stgit-pgFh0Jf6HD9Xzn/AsuzBOg@public.gmane.org>
2014-02-18 14:17 ` Maxime Ripard
2014-02-17 10:02 ` [PATCH v7 4/8] ARM: sunxi: Add driver for SD/MMC hosts found on Allwinner sunxi SoCs David Lanzendörfer
[not found] ` <20140217100234.15040.84232.stgit-pgFh0Jf6HD9Xzn/AsuzBOg@public.gmane.org>
2014-02-18 15:37 ` Maxime Ripard
2014-02-18 20:49 ` Hans de Goede
[not found] ` <5303C751.5090809-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-02-19 9:46 ` Maxime Ripard
2014-02-19 12:14 ` Hans de Goede
[not found] ` <5304A042.7090903-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-02-22 8:31 ` Maxime Ripard
2014-02-22 11:19 ` Hans de Goede
2014-02-17 10:02 ` [PATCH v7 5/8] ARM: dts: sun7i: Add support for mmc David Lanzendörfer
[not found] ` <20140217100241.15040.24836.stgit-pgFh0Jf6HD9Xzn/AsuzBOg@public.gmane.org>
2014-02-18 14:22 ` Maxime Ripard
2014-02-18 15:10 ` Hans de Goede [this message]
[not found] ` <530377EE.8010909-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-02-21 18:54 ` Maxime Ripard
2014-02-17 10:02 ` [PATCH v7 6/8] ARM: dts: sun4i: " David Lanzendörfer
2014-02-17 10:02 ` [PATCH v7 7/8] ARM: dts: sun5i: " David Lanzendörfer
2014-02-17 10:03 ` [PATCH v7 8/8] ARM: sunxi: Add documentation for driver for SD/MMC hosts found on Allwinner sunxi SoCs David Lanzendörfer
[not found] ` <20140217100302.15040.56273.stgit-pgFh0Jf6HD9Xzn/AsuzBOg@public.gmane.org>
2014-02-18 15:42 ` Maxime Ripard
2014-02-22 7:32 ` David Lanzendörfer
[not found] ` <1559221.mEv19UvCzF-pgFh0Jf6HD9Xzn/AsuzBOg@public.gmane.org>
2014-02-22 8:37 ` Maxime Ripard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=530377EE.8010909@redhat.com \
--to=hdegoede-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
--cc=chris-OsFVWbfNK3isTnJN9+BGXg@public.gmane.org \
--cc=david.lanzendoerfer-Z7Kmv9EsliU@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=emilio-0Z03zUJReD5OxF6Tv1QG9Q@public.gmane.org \
--cc=g.liakhovetski-Mmb7MZpHnFY@public.gmane.org \
--cc=gmbnomis-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=hsweeten-3FF4nKcrg1dE2c76skzGb0EOCMrvLtNR@public.gmane.org \
--cc=laurent.pinchart+renesas-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \
--cc=maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
--cc=mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=ulf.hansson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).