* [PATCH v3 0/2] Add support for WiFi/BT header on Pine64 A64
@ 2025-04-19 16:00 Peter Robinson
2025-04-19 16:00 ` [PATCH v3 1/2] arm64: dts: allwinner: a64: Add WiFi/BT header on Pine64 Peter Robinson
2025-04-19 16:00 ` [PATCH v3 2/2] arm64: dts: allwinner: a64: Add WiFi/BT header on SoPine Peter Robinson
0 siblings, 2 replies; 12+ messages in thread
From: Peter Robinson @ 2025-04-19 16:00 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, devicetree, linux-arm-kernel,
linux-sunxi
Cc: Peter Robinson
Add the BT and WiFi pins on the WiFi/BT header on the Pine64/Sopine
boards.
Changes in v3:
- Explicitly disable mmc WiFi section in DT even though it's already
disabled in the SoC DT.
Changes in v2:
- drop patch that enables the WiFi module, it'll move to a overlay later
Peter Robinson (2):
arm64: dts: allwinner: a64: Add WiFi/BT header on Pine64
arm64: dts: allwinner: a64: Add WiFi/BT header on SoPine
.../boot/dts/allwinner/sun50i-a64-pine64.dts | 18 +++++++++++++
.../allwinner/sun50i-a64-sopine-baseboard.dts | 25 +++++++++++++++++++
2 files changed, 43 insertions(+)
--
2.49.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 1/2] arm64: dts: allwinner: a64: Add WiFi/BT header on Pine64
2025-04-19 16:00 [PATCH v3 0/2] Add support for WiFi/BT header on Pine64 A64 Peter Robinson
@ 2025-04-19 16:00 ` Peter Robinson
2025-04-19 18:25 ` Dragan Simic
2025-04-19 16:00 ` [PATCH v3 2/2] arm64: dts: allwinner: a64: Add WiFi/BT header on SoPine Peter Robinson
1 sibling, 1 reply; 12+ messages in thread
From: Peter Robinson @ 2025-04-19 16:00 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, devicetree, linux-arm-kernel,
linux-sunxi
Cc: Peter Robinson
This adds all the pin mappings on the WiFi/BT header on
the original Pine64. They're disabled by default as the
modules don't ship by default. This includes, where they
haven't been already, UART1 for BT and mmc1 for WiFi.
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
.../boot/dts/allwinner/sun50i-a64-pine64.dts | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
index 09e71fd60785..764fb191107a 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
@@ -35,6 +35,11 @@ hdmi_con_in: endpoint {
};
};
};
+
+ wifi_pwrseq: pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
+ };
};
&codec {
@@ -124,6 +129,18 @@ &mmc0 {
status = "okay";
};
+/* On Wifi/BT connector */
+&mmc1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc1_pins>;
+ vmmc-supply = <®_dldo4>;
+ vqmmc-supply = <®_eldo1>;
+ mmc-pwrseq = <&wifi_pwrseq>;
+ bus-width = <4>;
+ non-removable;
+ status = "disabled";
+};
+
&ohci0 {
status = "okay";
};
@@ -286,6 +303,7 @@ &uart0 {
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
+ uart-has-rtscts;
status = "disabled";
};
--
2.49.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v3 2/2] arm64: dts: allwinner: a64: Add WiFi/BT header on SoPine
2025-04-19 16:00 [PATCH v3 0/2] Add support for WiFi/BT header on Pine64 A64 Peter Robinson
2025-04-19 16:00 ` [PATCH v3 1/2] arm64: dts: allwinner: a64: Add WiFi/BT header on Pine64 Peter Robinson
@ 2025-04-19 16:00 ` Peter Robinson
2025-04-19 18:25 ` Dragan Simic
1 sibling, 1 reply; 12+ messages in thread
From: Peter Robinson @ 2025-04-19 16:00 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, devicetree, linux-arm-kernel,
linux-sunxi
Cc: Peter Robinson
This adds all the pin mappings on the WiFi/BT header on
the SoPine baseboard/A64-LTS. They're disabled by default
as the modules don't ship by default. This includes, where
they haven't been already, UART1 for BT and mmc1 for WiFi.
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
.../allwinner/sun50i-a64-sopine-baseboard.dts | 25 +++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
index be2347c8f267..64d696f110ee 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
@@ -42,6 +42,11 @@ reg_vcc1v8: vcc1v8 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
+
+ wifi_pwrseq: pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
+ };
};
&ac_power_supply {
@@ -103,6 +108,18 @@ ext_rgmii_phy: ethernet-phy@1 {
};
};
+/* On Wifi/BT connector */
+&mmc1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc1_pins>;
+ vmmc-supply = <®_dldo4>;
+ vqmmc-supply = <®_eldo1>;
+ mmc-pwrseq = <&wifi_pwrseq>;
+ bus-width = <4>;
+ non-removable;
+ status = "disabled";
+};
+
&mmc2 {
pinctrl-names = "default";
pinctrl-0 = <&mmc2_pins>;
@@ -175,6 +192,14 @@ &uart0 {
status = "okay";
};
+/* On Wifi/BT connector, with RTS/CTS */
+&uart1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
+ uart-has-rtscts;
+ status = "disabled";
+};
+
/* On Pi-2 connector */
&uart2 {
pinctrl-names = "default";
--
2.49.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v3 1/2] arm64: dts: allwinner: a64: Add WiFi/BT header on Pine64
2025-04-19 16:00 ` [PATCH v3 1/2] arm64: dts: allwinner: a64: Add WiFi/BT header on Pine64 Peter Robinson
@ 2025-04-19 18:25 ` Dragan Simic
0 siblings, 0 replies; 12+ messages in thread
From: Dragan Simic @ 2025-04-19 18:25 UTC (permalink / raw)
To: Peter Robinson
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, devicetree, linux-arm-kernel,
linux-sunxi
Hello Peter,
On 2025-04-19 18:00, Peter Robinson wrote:
> This adds all the pin mappings on the WiFi/BT header on
> the original Pine64. They're disabled by default as the
> modules don't ship by default. This includes, where they
> haven't been already, UART1 for BT and mmc1 for WiFi.
>
> Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
> ---
> .../boot/dts/allwinner/sun50i-a64-pine64.dts | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
> b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
> index 09e71fd60785..764fb191107a 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
> @@ -35,6 +35,11 @@ hdmi_con_in: endpoint {
> };
> };
> };
> +
> + wifi_pwrseq: pwrseq {
> + compatible = "mmc-pwrseq-simple";
> + reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
> + };
Is there a reason why the status of this node isn't set to
"disabled"? Or even better, why don't we move this node
entirely into the proposed DT overlay?
The required reset procedure actually depends on what's
found on the add-on module, so it should belong to the DT
overlay that defines the add-on module.
> };
>
> &codec {
> @@ -124,6 +129,18 @@ &mmc0 {
> status = "okay";
> };
>
> +/* On Wifi/BT connector */
> +&mmc1 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&mmc1_pins>;
> + vmmc-supply = <®_dldo4>;
> + vqmmc-supply = <®_eldo1>;
> + mmc-pwrseq = <&wifi_pwrseq>;
Of course, the "mmc-pwrseq" property would then also be moved
to the DT overlay that defines the add-on module.
> + bus-width = <4>;
> + non-removable;
> + status = "disabled";
> +};
> +
> &ohci0 {
> status = "okay";
> };
> @@ -286,6 +303,7 @@ &uart0 {
> &uart1 {
> pinctrl-names = "default";
> pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
> + uart-has-rtscts;
> status = "disabled";
> };
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 2/2] arm64: dts: allwinner: a64: Add WiFi/BT header on SoPine
2025-04-19 16:00 ` [PATCH v3 2/2] arm64: dts: allwinner: a64: Add WiFi/BT header on SoPine Peter Robinson
@ 2025-04-19 18:25 ` Dragan Simic
[not found] ` <CALeDE9M_c7556sTdTC37Ce5vzLC2E8SV_P-J2CtFiUksdM_71Q@mail.gmail.com>
2025-04-20 9:33 ` Peter Robinson
0 siblings, 2 replies; 12+ messages in thread
From: Dragan Simic @ 2025-04-19 18:25 UTC (permalink / raw)
To: Peter Robinson
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, devicetree, linux-arm-kernel,
linux-sunxi
Hello Peter,
On 2025-04-19 18:00, Peter Robinson wrote:
> This adds all the pin mappings on the WiFi/BT header on
> the SoPine baseboard/A64-LTS. They're disabled by default
> as the modules don't ship by default. This includes, where
> they haven't been already, UART1 for BT and mmc1 for WiFi.
The patch subject should be improved a bit, to include
"Baseboard" as well. Having just "SoPine" is a bit too
vague, and it should actually be written as "SOPINE"
at all places in the prose.
> Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
> ---
> .../allwinner/sun50i-a64-sopine-baseboard.dts | 25 +++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git
> a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
> b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
> index be2347c8f267..64d696f110ee 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
> @@ -42,6 +42,11 @@ reg_vcc1v8: vcc1v8 {
> regulator-min-microvolt = <1800000>;
> regulator-max-microvolt = <1800000>;
> };
> +
> + wifi_pwrseq: pwrseq {
> + compatible = "mmc-pwrseq-simple";
> + reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
> + };
Is there a reason why the status of this node isn't set to
"disabled"? Or even better, why don't we move this node
entirely into the proposed DT overlay?
The required reset procedure actually depends on what's
found on the add-on module, so it should belong to the DT
overlay that defines the add-on module.
> };
>
> &ac_power_supply {
> @@ -103,6 +108,18 @@ ext_rgmii_phy: ethernet-phy@1 {
> };
> };
>
> +/* On Wifi/BT connector */
> +&mmc1 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&mmc1_pins>;
> + vmmc-supply = <®_dldo4>;
> + vqmmc-supply = <®_eldo1>;
> + mmc-pwrseq = <&wifi_pwrseq>;
Of course, the "mmc-pwrseq" property would then also be moved
to the DT overlay that defines the add-on module.
> + bus-width = <4>;
> + non-removable;
> + status = "disabled";
> +};
> +
> &mmc2 {
> pinctrl-names = "default";
> pinctrl-0 = <&mmc2_pins>;
> @@ -175,6 +192,14 @@ &uart0 {
> status = "okay";
> };
>
> +/* On Wifi/BT connector, with RTS/CTS */
> +&uart1 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
> + uart-has-rtscts;
> + status = "disabled";
> +};
> +
> /* On Pi-2 connector */
> &uart2 {
> pinctrl-names = "default";
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 2/2] arm64: dts: allwinner: a64: Add WiFi/BT header on SoPine
[not found] ` <CALeDE9M_c7556sTdTC37Ce5vzLC2E8SV_P-J2CtFiUksdM_71Q@mail.gmail.com>
@ 2025-04-19 19:57 ` Dragan Simic
2025-04-20 1:59 ` Chen-Yu Tsai
0 siblings, 1 reply; 12+ messages in thread
From: Dragan Simic @ 2025-04-19 19:57 UTC (permalink / raw)
To: Peter Robinson
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, devicetree, linux-arm-kernel,
linux-sunxi
On 2025-04-19 21:26, Peter Robinson wrote:
> On Sat, 19 Apr 2025 at 19:25, Dragan Simic <dsimic@manjaro.org> wrote:
>> On 2025-04-19 18:00, Peter Robinson wrote:
>>> This adds all the pin mappings on the WiFi/BT header on
>>> the SoPine baseboard/A64-LTS. They're disabled by default
>>> as the modules don't ship by default. This includes, where
>>> they haven't been already, UART1 for BT and mmc1 for WiFi.
>>
>> The patch subject should be improved a bit, to include
>> "Baseboard" as well. Having just "SoPine" is a bit too
>> vague, and it should actually be written as "SOPINE"
>> at all places in the prose.
>>
>>> Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
>>> ---
>>> .../allwinner/sun50i-a64-sopine-baseboard.dts | 25
>> +++++++++++++++++++
>>> 1 file changed, 25 insertions(+)
>>>
>>> diff --git
>>> a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
>>> b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
>>> index be2347c8f267..64d696f110ee 100644
>>> ---
>> a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
>>> +++
>> b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
>>> @@ -42,6 +42,11 @@ reg_vcc1v8: vcc1v8 {
>>> regulator-min-microvolt = <1800000>;
>>> regulator-max-microvolt = <1800000>;
>>> };
>>> +
>>> + wifi_pwrseq: pwrseq {
>>> + compatible = "mmc-pwrseq-simple";
>>> + reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2
>> */
>>> + };
>>
>> Is there a reason why the status of this node isn't set to
>> "disabled"? Or even better, why don't we move this node
>> entirely into the proposed DT overlay?
>>
>> The required reset procedure actually depends on what's
>> found on the add-on module, so it should belong to the DT
>> overlay that defines the add-on module.
>
> But the pin itself is pinned out through the header on the device.
Good point. On second thought, the right approach should be
to reserve the reset pin through pinctrl additions to the
board dts files, but to move the "mmc-pwrseq-simple" nodes
to the proposed add-on overlays.
You can have a look at rk3399-pinebook-pro.dts for an example
of such a pinctrl definition and its use.
>>> };
>>>
>>> &ac_power_supply {
>>> @@ -103,6 +108,18 @@ ext_rgmii_phy: ethernet-phy@1 {
>>> };
>>> };
>>>
>>> +/* On Wifi/BT connector */
>>> +&mmc1 {
>>> + pinctrl-names = "default";
>>> + pinctrl-0 = <&mmc1_pins>;
>>> + vmmc-supply = <®_dldo4>;
>>> + vqmmc-supply = <®_eldo1>;
>>> + mmc-pwrseq = <&wifi_pwrseq>;
>>
>> Of course, the "mmc-pwrseq" property would then also be moved
>> to the DT overlay that defines the add-on module.
>>
>>> + bus-width = <4>;
>>> + non-removable;
>>> + status = "disabled";
>>> +};
>>> +
>>> &mmc2 {
>>> pinctrl-names = "default";
>>> pinctrl-0 = <&mmc2_pins>;
>>> @@ -175,6 +192,14 @@ &uart0 {
>>> status = "okay";
>>> };
>>>
>>> +/* On Wifi/BT connector, with RTS/CTS */
>>> +&uart1 {
>>> + pinctrl-names = "default";
>>> + pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
>>> + uart-has-rtscts;
>>> + status = "disabled";
>>> +};
>>> +
>>> /* On Pi-2 connector */
>>> &uart2 {
>>> pinctrl-names = "default";
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 2/2] arm64: dts: allwinner: a64: Add WiFi/BT header on SoPine
2025-04-19 19:57 ` Dragan Simic
@ 2025-04-20 1:59 ` Chen-Yu Tsai
2025-04-20 2:13 ` Dragan Simic
0 siblings, 1 reply; 12+ messages in thread
From: Chen-Yu Tsai @ 2025-04-20 1:59 UTC (permalink / raw)
To: Dragan Simic
Cc: Peter Robinson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Jernej Skrabec, Samuel Holland, devicetree, linux-arm-kernel,
linux-sunxi
On Sun, Apr 20, 2025 at 3:57 AM Dragan Simic <dsimic@manjaro.org> wrote:
>
> On 2025-04-19 21:26, Peter Robinson wrote:
> > On Sat, 19 Apr 2025 at 19:25, Dragan Simic <dsimic@manjaro.org> wrote:
> >> On 2025-04-19 18:00, Peter Robinson wrote:
> >>> This adds all the pin mappings on the WiFi/BT header on
> >>> the SoPine baseboard/A64-LTS. They're disabled by default
> >>> as the modules don't ship by default. This includes, where
> >>> they haven't been already, UART1 for BT and mmc1 for WiFi.
> >>
> >> The patch subject should be improved a bit, to include
> >> "Baseboard" as well. Having just "SoPine" is a bit too
> >> vague, and it should actually be written as "SOPINE"
> >> at all places in the prose.
> >>
> >>> Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
> >>> ---
> >>> .../allwinner/sun50i-a64-sopine-baseboard.dts | 25
> >> +++++++++++++++++++
> >>> 1 file changed, 25 insertions(+)
> >>>
> >>> diff --git
> >>> a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
> >>> b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
> >>> index be2347c8f267..64d696f110ee 100644
> >>> ---
> >> a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
> >>> +++
> >> b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
> >>> @@ -42,6 +42,11 @@ reg_vcc1v8: vcc1v8 {
> >>> regulator-min-microvolt = <1800000>;
> >>> regulator-max-microvolt = <1800000>;
> >>> };
> >>> +
> >>> + wifi_pwrseq: pwrseq {
> >>> + compatible = "mmc-pwrseq-simple";
> >>> + reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2
> >> */
> >>> + };
> >>
> >> Is there a reason why the status of this node isn't set to
> >> "disabled"? Or even better, why don't we move this node
> >> entirely into the proposed DT overlay?
> >>
> >> The required reset procedure actually depends on what's
> >> found on the add-on module, so it should belong to the DT
> >> overlay that defines the add-on module.
> >
> > But the pin itself is pinned out through the header on the device.
>
> Good point. On second thought, the right approach should be
> to reserve the reset pin through pinctrl additions to the
> board dts files, but to move the "mmc-pwrseq-simple" nodes
> to the proposed add-on overlays.
>
> You can have a look at rk3399-pinebook-pro.dts for an example
> of such a pinctrl definition and its use.
For sunxi, we don't add pinctrl nodes for GPIO usage.
ChenYu
> >>> };
> >>>
> >>> &ac_power_supply {
> >>> @@ -103,6 +108,18 @@ ext_rgmii_phy: ethernet-phy@1 {
> >>> };
> >>> };
> >>>
> >>> +/* On Wifi/BT connector */
> >>> +&mmc1 {
> >>> + pinctrl-names = "default";
> >>> + pinctrl-0 = <&mmc1_pins>;
> >>> + vmmc-supply = <®_dldo4>;
> >>> + vqmmc-supply = <®_eldo1>;
> >>> + mmc-pwrseq = <&wifi_pwrseq>;
> >>
> >> Of course, the "mmc-pwrseq" property would then also be moved
> >> to the DT overlay that defines the add-on module.
> >>
> >>> + bus-width = <4>;
> >>> + non-removable;
> >>> + status = "disabled";
> >>> +};
> >>> +
> >>> &mmc2 {
> >>> pinctrl-names = "default";
> >>> pinctrl-0 = <&mmc2_pins>;
> >>> @@ -175,6 +192,14 @@ &uart0 {
> >>> status = "okay";
> >>> };
> >>>
> >>> +/* On Wifi/BT connector, with RTS/CTS */
> >>> +&uart1 {
> >>> + pinctrl-names = "default";
> >>> + pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
> >>> + uart-has-rtscts;
> >>> + status = "disabled";
> >>> +};
> >>> +
> >>> /* On Pi-2 connector */
> >>> &uart2 {
> >>> pinctrl-names = "default";
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 2/2] arm64: dts: allwinner: a64: Add WiFi/BT header on SoPine
2025-04-20 1:59 ` Chen-Yu Tsai
@ 2025-04-20 2:13 ` Dragan Simic
2025-04-20 2:20 ` Chen-Yu Tsai
0 siblings, 1 reply; 12+ messages in thread
From: Dragan Simic @ 2025-04-20 2:13 UTC (permalink / raw)
To: wens
Cc: Peter Robinson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Jernej Skrabec, Samuel Holland, devicetree, linux-arm-kernel,
linux-sunxi
Hello Chen-Yu,
On 2025-04-20 03:59, Chen-Yu Tsai wrote:
> On Sun, Apr 20, 2025 at 3:57 AM Dragan Simic <dsimic@manjaro.org>
> wrote:
>>
>> On 2025-04-19 21:26, Peter Robinson wrote:
>> > On Sat, 19 Apr 2025 at 19:25, Dragan Simic <dsimic@manjaro.org> wrote:
>> >> On 2025-04-19 18:00, Peter Robinson wrote:
>> >>> This adds all the pin mappings on the WiFi/BT header on
>> >>> the SoPine baseboard/A64-LTS. They're disabled by default
>> >>> as the modules don't ship by default. This includes, where
>> >>> they haven't been already, UART1 for BT and mmc1 for WiFi.
>> >>
>> >> The patch subject should be improved a bit, to include
>> >> "Baseboard" as well. Having just "SoPine" is a bit too
>> >> vague, and it should actually be written as "SOPINE"
>> >> at all places in the prose.
>> >>
>> >>> Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
>> >>> ---
>> >>> .../allwinner/sun50i-a64-sopine-baseboard.dts | 25
>> >> +++++++++++++++++++
>> >>> 1 file changed, 25 insertions(+)
>> >>>
>> >>> diff --git
>> >>> a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
>> >>> b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
>> >>> index be2347c8f267..64d696f110ee 100644
>> >>> ---
>> >> a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
>> >>> +++
>> >> b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
>> >>> @@ -42,6 +42,11 @@ reg_vcc1v8: vcc1v8 {
>> >>> regulator-min-microvolt = <1800000>;
>> >>> regulator-max-microvolt = <1800000>;
>> >>> };
>> >>> +
>> >>> + wifi_pwrseq: pwrseq {
>> >>> + compatible = "mmc-pwrseq-simple";
>> >>> + reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2
>> >> */
>> >>> + };
>> >>
>> >> Is there a reason why the status of this node isn't set to
>> >> "disabled"? Or even better, why don't we move this node
>> >> entirely into the proposed DT overlay?
>> >>
>> >> The required reset procedure actually depends on what's
>> >> found on the add-on module, so it should belong to the DT
>> >> overlay that defines the add-on module.
>> >
>> > But the pin itself is pinned out through the header on the device.
>>
>> Good point. On second thought, the right approach should be
>> to reserve the reset pin through pinctrl additions to the
>> board dts files, but to move the "mmc-pwrseq-simple" nodes
>> to the proposed add-on overlays.
Actually, s/overlays/overlay/
>>
>> You can have a look at rk3399-pinebook-pro.dts for an example
>> of such a pinctrl definition and its use.
>
> For sunxi, we don't add pinctrl nodes for GPIO usage.
I see, thanks for the note. In that case, I'd still suggest
that the "mmc-pwrseq-simple" nodes are moved to the proposed
add-on overlay, because that's where they belong to.
In theory, some add-on module may actually not need resetting,
so defining that should belong to what defines the specific
add-on module, which is the add-on overlay.
>> >>> };
>> >>>
>> >>> &ac_power_supply {
>> >>> @@ -103,6 +108,18 @@ ext_rgmii_phy: ethernet-phy@1 {
>> >>> };
>> >>> };
>> >>>
>> >>> +/* On Wifi/BT connector */
>> >>> +&mmc1 {
>> >>> + pinctrl-names = "default";
>> >>> + pinctrl-0 = <&mmc1_pins>;
>> >>> + vmmc-supply = <®_dldo4>;
>> >>> + vqmmc-supply = <®_eldo1>;
>> >>> + mmc-pwrseq = <&wifi_pwrseq>;
>> >>
>> >> Of course, the "mmc-pwrseq" property would then also be moved
>> >> to the DT overlay that defines the add-on module.
>> >>
>> >>> + bus-width = <4>;
>> >>> + non-removable;
>> >>> + status = "disabled";
>> >>> +};
>> >>> +
>> >>> &mmc2 {
>> >>> pinctrl-names = "default";
>> >>> pinctrl-0 = <&mmc2_pins>;
>> >>> @@ -175,6 +192,14 @@ &uart0 {
>> >>> status = "okay";
>> >>> };
>> >>>
>> >>> +/* On Wifi/BT connector, with RTS/CTS */
>> >>> +&uart1 {
>> >>> + pinctrl-names = "default";
>> >>> + pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
>> >>> + uart-has-rtscts;
>> >>> + status = "disabled";
>> >>> +};
>> >>> +
>> >>> /* On Pi-2 connector */
>> >>> &uart2 {
>> >>> pinctrl-names = "default";
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 2/2] arm64: dts: allwinner: a64: Add WiFi/BT header on SoPine
2025-04-20 2:13 ` Dragan Simic
@ 2025-04-20 2:20 ` Chen-Yu Tsai
0 siblings, 0 replies; 12+ messages in thread
From: Chen-Yu Tsai @ 2025-04-20 2:20 UTC (permalink / raw)
To: Dragan Simic
Cc: Peter Robinson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Jernej Skrabec, Samuel Holland, devicetree, linux-arm-kernel,
linux-sunxi
On Sun, Apr 20, 2025 at 10:13 AM Dragan Simic <dsimic@manjaro.org> wrote:
>
> Hello Chen-Yu,
>
> On 2025-04-20 03:59, Chen-Yu Tsai wrote:
> > On Sun, Apr 20, 2025 at 3:57 AM Dragan Simic <dsimic@manjaro.org>
> > wrote:
> >>
> >> On 2025-04-19 21:26, Peter Robinson wrote:
> >> > On Sat, 19 Apr 2025 at 19:25, Dragan Simic <dsimic@manjaro.org> wrote:
> >> >> On 2025-04-19 18:00, Peter Robinson wrote:
> >> >>> This adds all the pin mappings on the WiFi/BT header on
> >> >>> the SoPine baseboard/A64-LTS. They're disabled by default
> >> >>> as the modules don't ship by default. This includes, where
> >> >>> they haven't been already, UART1 for BT and mmc1 for WiFi.
> >> >>
> >> >> The patch subject should be improved a bit, to include
> >> >> "Baseboard" as well. Having just "SoPine" is a bit too
> >> >> vague, and it should actually be written as "SOPINE"
> >> >> at all places in the prose.
> >> >>
> >> >>> Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
> >> >>> ---
> >> >>> .../allwinner/sun50i-a64-sopine-baseboard.dts | 25
> >> >> +++++++++++++++++++
> >> >>> 1 file changed, 25 insertions(+)
> >> >>>
> >> >>> diff --git
> >> >>> a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
> >> >>> b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
> >> >>> index be2347c8f267..64d696f110ee 100644
> >> >>> ---
> >> >> a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
> >> >>> +++
> >> >> b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
> >> >>> @@ -42,6 +42,11 @@ reg_vcc1v8: vcc1v8 {
> >> >>> regulator-min-microvolt = <1800000>;
> >> >>> regulator-max-microvolt = <1800000>;
> >> >>> };
> >> >>> +
> >> >>> + wifi_pwrseq: pwrseq {
> >> >>> + compatible = "mmc-pwrseq-simple";
> >> >>> + reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2
> >> >> */
> >> >>> + };
> >> >>
> >> >> Is there a reason why the status of this node isn't set to
> >> >> "disabled"? Or even better, why don't we move this node
> >> >> entirely into the proposed DT overlay?
> >> >>
> >> >> The required reset procedure actually depends on what's
> >> >> found on the add-on module, so it should belong to the DT
> >> >> overlay that defines the add-on module.
> >> >
> >> > But the pin itself is pinned out through the header on the device.
> >>
> >> Good point. On second thought, the right approach should be
> >> to reserve the reset pin through pinctrl additions to the
> >> board dts files, but to move the "mmc-pwrseq-simple" nodes
> >> to the proposed add-on overlays.
>
> Actually, s/overlays/overlay/
>
> >>
> >> You can have a look at rk3399-pinebook-pro.dts for an example
> >> of such a pinctrl definition and its use.
> >
> > For sunxi, we don't add pinctrl nodes for GPIO usage.
>
> I see, thanks for the note. In that case, I'd still suggest
> that the "mmc-pwrseq-simple" nodes are moved to the proposed
> add-on overlay, because that's where they belong to.
>
> In theory, some add-on module may actually not need resetting,
> so defining that should belong to what defines the specific
> add-on module, which is the add-on overlay.
I agree.
> >> >>> };
> >> >>>
> >> >>> &ac_power_supply {
> >> >>> @@ -103,6 +108,18 @@ ext_rgmii_phy: ethernet-phy@1 {
> >> >>> };
> >> >>> };
> >> >>>
> >> >>> +/* On Wifi/BT connector */
> >> >>> +&mmc1 {
> >> >>> + pinctrl-names = "default";
> >> >>> + pinctrl-0 = <&mmc1_pins>;
> >> >>> + vmmc-supply = <®_dldo4>;
> >> >>> + vqmmc-supply = <®_eldo1>;
> >> >>> + mmc-pwrseq = <&wifi_pwrseq>;
> >> >>
> >> >> Of course, the "mmc-pwrseq" property would then also be moved
> >> >> to the DT overlay that defines the add-on module.
> >> >>
> >> >>> + bus-width = <4>;
> >> >>> + non-removable;
> >> >>> + status = "disabled";
> >> >>> +};
> >> >>> +
> >> >>> &mmc2 {
> >> >>> pinctrl-names = "default";
> >> >>> pinctrl-0 = <&mmc2_pins>;
> >> >>> @@ -175,6 +192,14 @@ &uart0 {
> >> >>> status = "okay";
> >> >>> };
> >> >>>
> >> >>> +/* On Wifi/BT connector, with RTS/CTS */
> >> >>> +&uart1 {
> >> >>> + pinctrl-names = "default";
> >> >>> + pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
> >> >>> + uart-has-rtscts;
> >> >>> + status = "disabled";
> >> >>> +};
> >> >>> +
> >> >>> /* On Pi-2 connector */
> >> >>> &uart2 {
> >> >>> pinctrl-names = "default";
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 2/2] arm64: dts: allwinner: a64: Add WiFi/BT header on SoPine
2025-04-19 18:25 ` Dragan Simic
[not found] ` <CALeDE9M_c7556sTdTC37Ce5vzLC2E8SV_P-J2CtFiUksdM_71Q@mail.gmail.com>
@ 2025-04-20 9:33 ` Peter Robinson
2025-04-20 17:17 ` Dragan Simic
1 sibling, 1 reply; 12+ messages in thread
From: Peter Robinson @ 2025-04-20 9:33 UTC (permalink / raw)
To: Dragan Simic
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, devicetree, linux-arm-kernel,
linux-sunxi
Hi Dragan,
> > This adds all the pin mappings on the WiFi/BT header on
> > the SoPine baseboard/A64-LTS. They're disabled by default
> > as the modules don't ship by default. This includes, where
> > they haven't been already, UART1 for BT and mmc1 for WiFi.
>
> The patch subject should be improved a bit, to include
> "Baseboard" as well. Having just "SoPine" is a bit too
> vague, and it should actually be written as "SOPINE"
> at all places in the prose.
It literally has baseboard in the second line of the description.
> > Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
> > ---
> > .../allwinner/sun50i-a64-sopine-baseboard.dts | 25 +++++++++++++++++++
> > 1 file changed, 25 insertions(+)
> >
> > diff --git
> > a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
> > b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
> > index be2347c8f267..64d696f110ee 100644
> > --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
> > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
> > @@ -42,6 +42,11 @@ reg_vcc1v8: vcc1v8 {
> > regulator-min-microvolt = <1800000>;
> > regulator-max-microvolt = <1800000>;
> > };
> > +
> > + wifi_pwrseq: pwrseq {
> > + compatible = "mmc-pwrseq-simple";
> > + reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
> > + };
>
> Is there a reason why the status of this node isn't set to
> "disabled"? Or even better, why don't we move this node
> entirely into the proposed DT overlay?
>
> The required reset procedure actually depends on what's
> found on the add-on module, so it should belong to the DT
> overlay that defines the add-on module.
>
> > };
> >
> > &ac_power_supply {
> > @@ -103,6 +108,18 @@ ext_rgmii_phy: ethernet-phy@1 {
> > };
> > };
> >
> > +/* On Wifi/BT connector */
> > +&mmc1 {
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&mmc1_pins>;
> > + vmmc-supply = <®_dldo4>;
> > + vqmmc-supply = <®_eldo1>;
> > + mmc-pwrseq = <&wifi_pwrseq>;
>
> Of course, the "mmc-pwrseq" property would then also be moved
> to the DT overlay that defines the add-on module.
>
> > + bus-width = <4>;
> > + non-removable;
> > + status = "disabled";
> > +};
> > +
> > &mmc2 {
> > pinctrl-names = "default";
> > pinctrl-0 = <&mmc2_pins>;
> > @@ -175,6 +192,14 @@ &uart0 {
> > status = "okay";
> > };
> >
> > +/* On Wifi/BT connector, with RTS/CTS */
> > +&uart1 {
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
> > + uart-has-rtscts;
> > + status = "disabled";
> > +};
> > +
> > /* On Pi-2 connector */
> > &uart2 {
> > pinctrl-names = "default";
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 2/2] arm64: dts: allwinner: a64: Add WiFi/BT header on SoPine
2025-04-20 9:33 ` Peter Robinson
@ 2025-04-20 17:17 ` Dragan Simic
2025-04-20 17:42 ` Peter Robinson
0 siblings, 1 reply; 12+ messages in thread
From: Dragan Simic @ 2025-04-20 17:17 UTC (permalink / raw)
To: Peter Robinson
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, devicetree, linux-arm-kernel,
linux-sunxi
Hello Peter,
On 2025-04-20 11:33, Peter Robinson wrote:
>> > This adds all the pin mappings on the WiFi/BT header on
>> > the SoPine baseboard/A64-LTS. They're disabled by default
>> > as the modules don't ship by default. This includes, where
>> > they haven't been already, UART1 for BT and mmc1 for WiFi.
>>
>> The patch subject should be improved a bit, to include
>> "Baseboard" as well. Having just "SoPine" is a bit too
>> vague, and it should actually be written as "SOPINE"
>> at all places in the prose.
>
> It literally has baseboard in the second line of the description.
True, but the patch subject should also contain "Baseboard",
because SOPINE is a system on module, and the SOPINE Baseboard
turns it into an SBC that actually has the add-on headers that
the patch addresses. I hope it makes sense.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 2/2] arm64: dts: allwinner: a64: Add WiFi/BT header on SoPine
2025-04-20 17:17 ` Dragan Simic
@ 2025-04-20 17:42 ` Peter Robinson
0 siblings, 0 replies; 12+ messages in thread
From: Peter Robinson @ 2025-04-20 17:42 UTC (permalink / raw)
To: Dragan Simic
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, devicetree, linux-arm-kernel,
linux-sunxi
On Sun, 20 Apr 2025 at 18:17, Dragan Simic <dsimic@manjaro.org> wrote:
>
> Hello Peter,
>
> On 2025-04-20 11:33, Peter Robinson wrote:
> >> > This adds all the pin mappings on the WiFi/BT header on
> >> > the SoPine baseboard/A64-LTS. They're disabled by default
> >> > as the modules don't ship by default. This includes, where
> >> > they haven't been already, UART1 for BT and mmc1 for WiFi.
> >>
> >> The patch subject should be improved a bit, to include
> >> "Baseboard" as well. Having just "SoPine" is a bit too
> >> vague, and it should actually be written as "SOPINE"
> >> at all places in the prose.
> >
> > It literally has baseboard in the second line of the description.
>
> True, but the patch subject should also contain "Baseboard",
> because SOPINE is a system on module, and the SOPINE Baseboard
> turns it into an SBC that actually has the add-on headers that
> the patch addresses. I hope it makes sense.
I mean it's pretty clear from the file that is being patched, I think
you're splitting hairs here, but I've already updated it in v4
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2025-04-20 17:49 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-19 16:00 [PATCH v3 0/2] Add support for WiFi/BT header on Pine64 A64 Peter Robinson
2025-04-19 16:00 ` [PATCH v3 1/2] arm64: dts: allwinner: a64: Add WiFi/BT header on Pine64 Peter Robinson
2025-04-19 18:25 ` Dragan Simic
2025-04-19 16:00 ` [PATCH v3 2/2] arm64: dts: allwinner: a64: Add WiFi/BT header on SoPine Peter Robinson
2025-04-19 18:25 ` Dragan Simic
[not found] ` <CALeDE9M_c7556sTdTC37Ce5vzLC2E8SV_P-J2CtFiUksdM_71Q@mail.gmail.com>
2025-04-19 19:57 ` Dragan Simic
2025-04-20 1:59 ` Chen-Yu Tsai
2025-04-20 2:13 ` Dragan Simic
2025-04-20 2:20 ` Chen-Yu Tsai
2025-04-20 9:33 ` Peter Robinson
2025-04-20 17:17 ` Dragan Simic
2025-04-20 17:42 ` Peter Robinson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox