[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAL_JsqKk0KOheyGvc=EBkgH3K4fPDsppLQGtXjNA4cekW57bvQ@mail.gmail.com>
Date: Thu, 2 Jul 2015 10:47:16 -0500
From: Rob Herring <robherring2@...il.com>
To: Orson Zhai <orsonzhai@...il.com>
Cc: Chunyan Zhang <chunyan.zhang@...eadtrum.com>,
"chris@...ntf.net" <chris@...ntf.net>,
Ulf Hansson <ulf.hansson@...aro.org>,
Lee Jones <lee.jones@...aro.org>,
Shawn Guo <shawn.guo@...aro.org>,
Grant Likely <grant.likely@...aro.org>,
Rob Herring <robh+dt@...nel.org>,
Arnd Bergmann <arnd@...db.de>, billows.wu@...eadtrum.com,
Wei Qiao (乔伟) <wei.qiao@...eadtrum.com>,
baolin.wang@...eadtrum.com, ning.yang@...eadtrum.com,
Orson Zhai(翟京) <orson.zhai@...eadtrum.com>,
jason.wu@...eadtrum.com,
"linux-mmc@...r.kernel.org" <linux-mmc@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>
Subject: Re: [RFC PATCH] mmc: sprd: add MMC host driver for Spreadtrum SoC
On Thu, Jul 2, 2015 at 4:26 AM, Orson Zhai <orsonzhai@...il.com> wrote:
> Hi Rob,
>
> Thanks for your quick reply.
> I have one question to your last comment.
>
> On Thu, Jul 2, 2015 at 1:50 AM, Rob Herring <robherring2@...il.com> wrote:
>> On Wed, Jul 1, 2015 at 2:23 AM, Chunyan Zhang
>> <chunyan.zhang@...eadtrum.com> wrote:
>>> From: Billows Wu <billows.wu@...eadtrum.com>
[...]
>>> +const struct of_device_id sdhost_of_match[] = {
>>> + {.compatible = "sprd,sd-sdhost-3.0", .data = &sd_caps_info,},
>>> + {.compatible = "sprd,wifi-sdhost-3.0", .data = &wifi_caps_info,},
>>> + {.compatible = "sprd,emmc-sdhost-3.0", .data = &emmc_caps_info,},
>>
>> What these are connected to is irrelevant to the driver and compatible
>> string. All these differences belong in the DT unless the IP blocks
>> are really different.
>
> It's my idea to let Billows do like this.
> I learn from SSP part in freescale "arch/arm/boot/dts/imx28-evk.dts"
> Their ssp0-ssp2 each have 2 roles, mmc or generic spi bus.
> And they may write one of their combo configuration like this:
That is a bit different as the host controller is operating in
completely different modes. In your case, the host controller is the
same and functions the same way, but just has different cards
attached.
>
> 43 ssp1: ssp@...12000 {
> 44 compatible = "fsl,imx28-mmc";
> 45 bus-width = <8>;
> 46 wp-gpios = <&gpio0 28 0>;
> 47 };
> 48
> 49 ssp2: ssp@...14000 {
> 50 #address-cells = <1>;
> 51 #size-cells = <0>;
> 52 compatible = "fsl,imx28-spi";
> 53 pinctrl-names = "default";
> 54 pinctrl-0 = <&spi2_pins_a>;
> 55 status = "okay";
> 56
> 57 flash: m25p80@0 {
> 58 #address-cells = <1>;
> 59 #size-cells = <1>;
> 60 compatible = "sst,sst25vf016b";
> 61 spi-max-frequency = <40000000>;
> 62 reg = <0>;
> 63 };
> 64 };
>
> Billows tell me they also have 3 roles in their sd host controller
> corresponding to 3 kinds of different operation.
> He used to create "sprd,name" property for this. Is it a good way or
> anything else better?
Why do you need to know? You can define parameters which can't be
probed such as bus width, voltage, and clock freq. in DT for each
host. The MMC subsys core will figure out the type of device attached.
Rob
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists