Re: [linux-sunxi] Re: [PATCH 3/3] arm64: allwinner: dts: h6: add Wi-Fi support for Pine H64 model A/B

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

 




于 2018年7月24日 GMT+08:00 上午10:26:02, Chen-Yu Tsai <wens@xxxxxxxx> 写到:
>On Tue, Jul 24, 2018 at 10:23 AM, Icenowy Zheng <icenowy@xxxxxxx>
>wrote:
>>
>>
>> 于 2018年7月24日 GMT+08:00 上午10:21:59, Chen-Yu Tsai <wens@xxxxxxxx> 写到:
>>>On Tue, Jul 24, 2018 at 9:15 AM, Icenowy Zheng <icenowy@xxxxxxx>
>wrote:
>>>> The Pine H64 model A has a Wi-Fi module connector and the model B
>has
>>>an
>>>> on-board RTL8723BS Wi-Fi module.
>>>>
>>>> Add support for them. For model A, as it's not defaultly present,
>>>keep
>>>> it disabled now.
>>>
>>>Nope. Pine64 actually has two WiFi/BT modules. And they require
>>>different
>>>device tree snippets for both the WiFi and BT side. This is better
>>>resolved
>>>with device tree overlays.
>>>
>>>I have both, though I've yet found time to work on them.
>>
>> I have also both.
>>
>> The skeleton here can get the Wi-Fi of both to work.
>
>Cool. Then I can put away my RTL module for now. :)

P.S. SDIO is auto detectable, and for BCM chips, the OOB interrupt
is only a bonus function and it can fall back to standard in-band
interrupt (which doesn't need special binding, and is currently
used by mainline r8723bs driver.)

>
>ChenYu
>
>>
>>>
>>>ChenYu
>>>
>>>> Signed-off-by: Icenowy Zheng <icenowy@xxxxxxx>
>>>> ---
>>>>  .../allwinner/sun50i-h6-pine-h64-model-b.dts  |  8 +++++
>>>>  .../boot/dts/allwinner/sun50i-h6-pine-h64.dts | 29
>>>+++++++++++++++++++
>>>>  2 files changed, 37 insertions(+)
>>>>
>>>> diff --git
>>>a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64-model-b.dts
>>>b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64-model-b.dts
>>>> index d0fcc25efb00..d0f775613c9b 100644
>>>> --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64-model-b.dts
>>>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64-model-b.dts
>>>> @@ -18,3 +18,11 @@
>>>>                 };
>>>>         };
>>>>  };
>>>> +
>>>> +&mmc1 {
>>>> +       status = "okay";
>>>> +};
>>>> +
>>>> +&wifi_pwrseq {
>>>> +       status = "okay";
>>>> +};
>>>> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
>>>b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
>>>> index a85867f8b684..75db6d4139bf 100644
>>>> --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
>>>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
>>>> @@ -40,6 +40,12 @@
>>>>                         gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /*
>PL7
>>>*/
>>>>                 };
>>>>         };
>>>> +
>>>> +       wifi_pwrseq: wifi_pwrseq {
>>>> +               compatible = "mmc-pwrseq-simple";
>>>> +               reset-gpios = <&r_pio 1 3 GPIO_ACTIVE_LOW>; /* PL2
>*/
>>>> +               status = "disabled";
>>>> +       };
>>>>  };
>>>>
>>>>  &mmc0 {
>>>> @@ -50,6 +56,17 @@
>>>>         status = "okay";
>>>>  };
>>>>
>>>> +&mmc1 {
>>>> +       pinctrl-names = "default";
>>>> +       pinctrl-0 = <&mmc1_pins>;
>>>> +       vmmc-supply = <&reg_cldo2>;
>>>> +       vqmmc-supply = <&reg_bldo2>;
>>>> +       mmc-pwrseq = <&wifi_pwrseq>;
>>>> +       bus-width = <4>;
>>>> +       non-removable;
>>>> +       status = "disabled";
>>>> +};
>>>> +
>>>>  &mmc2 {
>>>>         pinctrl-names = "default";
>>>>         pinctrl-0 = <&mmc2_pins>;
>>>> @@ -128,12 +145,24 @@
>>>>                         };
>>>>
>>>>                         reg_cldo2: cldo2 {
>>>> +                               /*
>>>> +                                * This regulator is connected with
>>>CLDO3.
>>>> +                                * Before the kernel can support
>>>synchronized
>>>> +                                * enable of coupled regulators,
>keep
>>>them
>>>> +                                * both always on as a ugly hack.
>>>> +                                */
>>>> +                               regulator-always-on;
>>>>                                 regulator-min-microvolt =
><3300000>;
>>>>                                 regulator-max-microvolt =
><3300000>;
>>>>                                 regulator-name = "vcc-wifi-1";
>>>>                         };
>>>>
>>>>                         reg_cldo3: cldo3 {
>>>> +                               /*
>>>> +                                * This regulator is connected with
>>>CLDO2.
>>>> +                                * See the comments for CLDO2.
>>>> +                                */
>>>> +                               regulator-always-on;
>>>>                                 regulator-min-microvolt =
><3300000>;
>>>>                                 regulator-max-microvolt =
><3300000>;
>>>>                                 regulator-name = "vcc-wifi-2";
>>>> --
>>>> 2.18.0
>>>>
>>
>> --
>> 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@xxxxxxxxxxxxxxxx.
>> For more options, visit https://groups.google.com/d/optout.
--
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