Re: [linux-sunxi] Re: [PATCH 3/3] ARM: sunxi: dts: Add ahci support to a few A10 and A20 boards

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 7 December 2013 12:47, Olliver Schinagl <oliver+list@xxxxxxxxxxx> wrote:
> Hey maxime,
>
> On 06-12-13 19:33, Maxime Ripard wrote:
>>
>> Hi Oliver,
>>
>> On Wed, Dec 04, 2013 at 01:10:55PM +0100, oliver@xxxxxxxxxxx wrote:
>>>
>>> From: Oliver Schinagl <oliver@xxxxxxxxxxx>
>>>
>>> This patch adds sunxi sata support to A10 and A20 boards that have such
>>> a connector. Some boards also feature a regulator via a GPIO and support
>>> for this is also added.
>>>
>>> Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx>
>>
>>
>> Your git setup seems to be pretty uncertain about how your first name is
>> spelled :)
>
> I should have formally mention it to confuse less people,
>
> This is how officially my name is spelled (I left out any 'middle' letters.
> I never really used it as such, as it confuses people and they always write
> it wrong anyway. After years I decided that at least on these patches, I
> should write it down properly (googleability etc in the future). So formally
> it's Olliver 'oliver' M. Schinagl.
>
> And no, I won't share my middle name :p
>
> There! :)
>
>>
>>> ---
>>>   arch/arm/boot/dts/sun4i-a10-cubieboard.dts      | 26
>>> +++++++++++++++++++++++++
>>>   arch/arm/boot/dts/sun4i-a10.dtsi                |  9 +++++++++
>>>   arch/arm/boot/dts/sun7i-a20-cubieboard2.dts     | 26
>>> +++++++++++++++++++++++++
>>>   arch/arm/boot/dts/sun7i-a20-cubietruck.dts      | 26
>>> +++++++++++++++++++++++++
>>>   arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts | 26
>>> +++++++++++++++++++++++++
>>>   arch/arm/boot/dts/sun7i-a20.dtsi                |  9 +++++++++
>>>   6 files changed, 122 insertions(+)
>>
>>
>> Could you split this into several patches please?
>
> Yes, appologies, will take care of this! Sorry,
>
> Oliver
>
>>
>> At least one per SoC.
>>
>>> diff --git a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
>>> b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
>>> index 425a7db..b620084 100644
>>> --- a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
>>> +++ b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
>>> @@ -42,7 +42,18 @@
>>>                         };
>>>                 };
>>>
>>> +               sata: ahci@01c18000 {
>>> +                       pwr-supply = <&reg_ahci_5v>;
>>> +                       status = "okay";
>>> +               };
>>> +
>>>                 pinctrl@01c20800 {
>>> +                       ahci_pwr_pin: ahci_pwr_pin@0 {
>>
>>
>> Please prefix it with name of the board.
>>
>>> +                               allwinner,pins = "PB8";
>>> +                               allwinner,function = "gpio_out";
>>> +                               allwinner,driver = <0>;
>>> +                               allwinner,pull = <0>;
>>> +                       };
>>
>>
>> Please add a newline here.
>>
>>>                         led_pins_cubieboard: led_pins@0 {
>>>                                 allwinner,pins = "PH20", "PH21";
>>>                                 allwinner,function = "gpio_out";
>>> @@ -86,4 +97,19 @@
>>>                         linux,default-trigger = "heartbeat";
>>>                 };
>>>         };
>>> +
>>> +       regulators {
>>> +               compatible = "simple-bus";
>>> +               pinctrl-names = "default";
>>> +
>>> +               reg_ahci_5v: ahci-5v {
>>> +                       compatible = "regulator-fixed";
>>> +                       regulator-name = "ahci-5v";
>>> +                       regulator-min-microvolt = <5000000>;
>>> +                       regulator-max-microvolt = <5000000>;
>>> +                       pinctrl-0 = <&ahci_pwr_pin>;
>>> +                       gpio = <&pio 1 8 0>;
>>> +                       enable-active-high;
>>> +               };
>>> +       };
>>>   };
>>> diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi
>>> b/arch/arm/boot/dts/sun4i-a10.dtsi
>>> index 4dccdb0..53c6cdb 100644
>>> --- a/arch/arm/boot/dts/sun4i-a10.dtsi
>>> +++ b/arch/arm/boot/dts/sun4i-a10.dtsi
>>> @@ -306,6 +306,15 @@
>>>                         #size-cells = <0>;
>>>                 };
>>>
>>> +               sata: ahci@01c18000 {
>>> +                       compatible = "allwinner,sun4i-a10-ahci";
>>
>>
>> Please use sun4i-ahci for consistency.
>>
>>> +                       reg = <0x01c18000 0x1000>;
>>> +                       interrupts = <0 56 1>;
>>
>>
>> The interrupt here doesn't seem right. Is it actually working at all?
>>
>>> +                       clocks = <&ahb_gates 25>, <&pll6 0>;
>>> +                       clock-names = "ahb_sata", "pll6_sata";
>>> +                       status = "disabled";
>>> +               };
>>> +
>>>                 intc: interrupt-controller@01c20400 {
>>>                         compatible = "allwinner,sun4i-ic";
>>>                         reg = <0x01c20400 0x400>;
>>> diff --git a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
>>> b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
>>> index 5c51cb8..99c5e78 100644
>>> --- a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
>>> +++ b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
>>> @@ -34,7 +34,18 @@
>>>                         };
>>>                 };
>>>
>>> +               sata: ahci@01c18000 {
>>> +                       pwr-supply = <&reg_ahci_5v>;
>>> +                       status = "okay";
>>> +               };
>>> +
>>>                 pinctrl@01c20800 {
>>> +                       ahci_pwr_pin: ahci_pwr_pin@0 {
>>> +                               allwinner,pins = "PB8";
>>> +                               allwinner,function = "gpio_out";
>>> +                               allwinner,drive = <0>;
>>> +                               allwinner,pull = <0>;
>>> +                       };
>>
>>
>> Please add a newline here.
>>
>>>                         led_pins_cubieboard2: led_pins@0 {
>>>                                 allwinner,pins = "PH20", "PH21";
>>>                                 allwinner,function = "gpio_out";
>>> @@ -77,4 +88,19 @@
>>>                         gpios = <&pio 7 20 0>;
>>>                 };
>>>         };
>>> +
>>> +       regulators {
>>> +               compatible = "simple-bus";
>>> +               pinctrl-names = "default";
>>> +
>>> +               reg_ahci_5v: ahci-5v {
>>> +                       compatible = "regulator-fixed";
>>> +                       regulator-name = "ahci-5v";
>>> +                       regulator-min-microvolt = <5000000>;
>>> +                       regulator-max-microvolt = <5000000>;
>>> +                       pinctrl-0 = <&ahci_pwr_pin>;
>>> +                       gpio = <&pio 1 8 0>;
>>> +                       enable-active-high;
>>> +               };
>>> +       };
>>>   };
>>> diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
>>> b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
>>> index 8a1009d..19af23e 100644
>>> --- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
>>> +++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
>>> @@ -19,7 +19,18 @@
>>>         compatible = "cubietech,cubietruck", "allwinner,sun7i-a20";
>>>
>>>         soc@01c00000 {
>>> +               sata: ahci@01c18000 {
>>> +                       pwr-supply = <&reg_ahci_5v>;
>>> +                       status = "okay";
>>> +               };
>>> +
>>>                 pinctrl@01c20800 {
>>> +                       ahci_pwr_pin: ahci_pwr_pin@0 {
>>> +                               allwinner,pins = "PH12";
>>> +                               allwinner,function = "gpio_out";
>>> +                               allwinner,driver = <0>;
>>> +                               allwinner,pull = <0>;
>>> +                       };
>>
>>
>> Please add a newline here.
>>
>>>                         led_pins_cubietruck: led_pins@0 {
>>>                                 allwinner,pins = "PH7", "PH11", "PH20",
>>> "PH21";
>>>                                 allwinner,function = "gpio_out";
>>> @@ -60,4 +71,19 @@
>>>                         gpios = <&pio 7 7 0>;
>>>                 };
>>>         };
>>> +
>>> +       regulators {
>>> +               compatible = "simple-bus";
>>> +               pinctrl-names = "default";
>>> +
>>> +               reg_ahci_5v: ahci-5v {
>>> +                       compatible = "regulator-fixed";
>>> +                       regulator-name = "ahci-5v";
>>> +                       regulator-min-microvolt = <5000000>;
>>> +                       regulator-max-microvolt = <5000000>;
>>> +                       pinctrl-0 = <&ahci_pwr_pin>;
>>> +                       gpio = <&pio 7 12 0>;
>>> +                       enable-active-high;
>>> +               };
>>> +       };
>>>   };
>>> diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
>>> b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
>>> index ead3013..23ed708 100644
>>> --- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
>>> +++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
>>> @@ -34,7 +34,19 @@
>>>                         };
>>>                 };
>>>
>>> +               sata: ahci@01c18000 {
>>> +                       pwr-supply = <&reg_ahci_5v>;
>>> +                       status = "okay";
>>> +               };
>>> +
>>>                 pinctrl@01c20800 {
>>> +                       ahci_pwr_pin: ahci_pwr_pin@0 {
>>> +                               allwinner,pins = "PB8";
>>> +                               allwinner,function = "gpio_out";
>>> +                               allwinner,drive = <0>;
>>> +                               allwinner,pull = <0>;
>>> +                       };
>>> +
>>>                         led_pins_olinuxino: led_pins@0 {
>>>                                 allwinner,pins = "PH2";
>>>                                 allwinner,function = "gpio_out";
>>> @@ -91,4 +103,18 @@
>>>                         default-state = "on";
>>>                 };
>>>         };
>>> +
>>> +       regulators {
>>> +               compatible = "simple-bus";
>>> +
>>> +               reg_ahci_5v: ahci-5v {
>>> +                       compatible = "regulator-fixed";
>>> +                       regulator-name = "ahci-5v";
>>> +                       regulator-min-microvolt = <5000000>;
>>> +                       regulator-max-microvolt = <5000000>;
>>> +                       pinctrl-0 = <&ahci_pwr_pin>;
>>> +                       gpio = <&pio 1 8 0>;
>>> +                       enable-active-high;
>>> +               };
>>> +       };
>>>   };
>>> diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi
>>> b/arch/arm/boot/dts/sun7i-a20.dtsi
>>> index 0552a64..b72c69e 100644
>>> --- a/arch/arm/boot/dts/sun7i-a20.dtsi
>>> +++ b/arch/arm/boot/dts/sun7i-a20.dtsi
>>> @@ -368,6 +368,15 @@
>>>                         };
>>>                 };
>>>
>>> +               sata: ahci@01c18000 {
>>> +                       compatible = "allwinner,sun4i-a10-ahci";
>>> +                       reg = <0x01c18000 0x1000>;
>>> +                       interrupts = <0 56 1>;
>
> Will always fix this to <0 56 4> if i'm not mistaken.

<0 56 1> appears to work on sun7i but sun4i has <56> in the working
DT. The DT you sent has <0 56 1> on sun4i which somehow compiles and
loads as DT but the driver fails.

Thanks

Michal
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux