Message ID | 20180726003532.18751-18-andre.przywara@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | arm64: dts: allwinner: A64 boards DT updates | expand |
On Thu, Jul 26, 2018 at 01:35:31AM +0100, Andre Przywara wrote: > The NanoPi-A64 has an on-board WiFi/Bluetooth combo chip, connected > to the usual MMC1 and UART1. The AXP power line is the always-on > VDD_SYS_3.3V, but it uses pin L2 to enable the regulator. > As the actual WiFi driver is not in mainline Linux, it doesn't have a > compatible string, so we omit this from the node. > > Add the respective nodes to the DT to make it usable. > > Signed-off-by: Andre Przywara <andre.przywara@arm.com> > --- > .../boot/dts/allwinner/sun50i-a64-nanopi-a64.dts | 31 ++++++++++++++++++++++ > 1 file changed, 31 insertions(+) > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts > index bd35a093e6cd..705e0b23589e 100644 > --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts > @@ -53,11 +53,17 @@ > aliases { > ethernet0 = &emac; > serial0 = &uart0; > + serial1 = &uart1; > }; > > chosen { > stdout-path = "serial0:115200n8"; > }; > + > + wifi_pwrseq: wifi_pwrseq { > + compatible = "mmc-pwrseq-simple"; > + reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */ > + }; > }; > > &ehci0 { > @@ -105,6 +111,24 @@ > status = "okay"; > }; > > +&mmc1 { > + pinctrl-names = "default"; > + pinctrl-0 = <&mmc1_pins>; > + vmmc-supply = <®_dcdc1>; > + vqmmc-supply = <®_dldo4>; > + mmc-pwrseq = <&wifi_pwrseq>; > + bus-width = <4>; > + non-removable; > + status = "okay"; > + > + rtl8189etv: wifi@1 { > + reg = <1>; > + interrupt-parent = <&r_pio>; > + interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>; /* PL3 */ > + interrupt-names = "host-wake"; > + }; > +}; > + > &ohci0 { > status = "okay"; > }; > @@ -222,6 +246,13 @@ > status = "okay"; > }; > > +/* Connected to the Bluetooth UART, with hardware handshake pins */ > +&uart1 { > + pinctrl-names = "default"; > + pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>; > + status = "okay"; > +}; Same thing here, if it has serdev support, then it should have a real node here. Maxime
On Thu, Jul 26, 2018 at 8:35 AM, Andre Przywara <andre.przywara@arm.com> wrote: > The NanoPi-A64 has an on-board WiFi/Bluetooth combo chip, connected The NanoPi A64 uses the RTL8189, which does _not_ have Bluetooth. Something is seriously wrong here. > to the usual MMC1 and UART1. The AXP power line is the always-on > VDD_SYS_3.3V, but it uses pin L2 to enable the regulator. > As the actual WiFi driver is not in mainline Linux, it doesn't have a > compatible string, so we omit this from the node. > > Add the respective nodes to the DT to make it usable. > > Signed-off-by: Andre Przywara <andre.przywara@arm.com> > --- > .../boot/dts/allwinner/sun50i-a64-nanopi-a64.dts | 31 ++++++++++++++++++++++ > 1 file changed, 31 insertions(+) > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts > index bd35a093e6cd..705e0b23589e 100644 > --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts > @@ -53,11 +53,17 @@ > aliases { > ethernet0 = &emac; > serial0 = &uart0; > + serial1 = &uart1; > }; > > chosen { > stdout-path = "serial0:115200n8"; > }; > + > + wifi_pwrseq: wifi_pwrseq { > + compatible = "mmc-pwrseq-simple"; > + reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */ > + }; > }; > > &ehci0 { > @@ -105,6 +111,24 @@ > status = "okay"; > }; > > +&mmc1 { > + pinctrl-names = "default"; > + pinctrl-0 = <&mmc1_pins>; > + vmmc-supply = <®_dcdc1>; > + vqmmc-supply = <®_dldo4>; > + mmc-pwrseq = <&wifi_pwrseq>; > + bus-width = <4>; > + non-removable; > + status = "okay"; > + > + rtl8189etv: wifi@1 { > + reg = <1>; > + interrupt-parent = <&r_pio>; > + interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>; /* PL3 */ > + interrupt-names = "host-wake"; > + }; > +}; > + > &ohci0 { > status = "okay"; > }; > @@ -222,6 +246,13 @@ > status = "okay"; > }; > > +/* Connected to the Bluetooth UART, with hardware handshake pins */ > +&uart1 { > + pinctrl-names = "default"; > + pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>; > + status = "okay"; > +}; > + > &usbphy { > status = "okay"; > }; > -- > 2.14.4 >
Hi, On 26/07/18 08:48, Chen-Yu Tsai wrote: > On Thu, Jul 26, 2018 at 8:35 AM, Andre Przywara <andre.przywara@arm.com> wrote: >> The NanoPi-A64 has an on-board WiFi/Bluetooth combo chip, connected > > The NanoPi A64 uses the RTL8189, which does _not_ have Bluetooth. > Something is seriously wrong here. Ah, interesting. You are right that the RTL8189 does not have Bluetooth. I was just looking at the schematic, which, although naming the RTL8189ETV there, shows UART1 and PCM connections. The pin numbers are definitely wrong, it smells like someone copied a RTL8723BS pinout here ;-) So thanks for the heads up, I will drop the BT/UART part. Cheers, Andre. >> to the usual MMC1 and UART1. The AXP power line is the always-on >> VDD_SYS_3.3V, but it uses pin L2 to enable the regulator. >> As the actual WiFi driver is not in mainline Linux, it doesn't have a >> compatible string, so we omit this from the node. >> >> Add the respective nodes to the DT to make it usable. >> >> Signed-off-by: Andre Przywara <andre.przywara@arm.com> >> --- >> .../boot/dts/allwinner/sun50i-a64-nanopi-a64.dts | 31 ++++++++++++++++++++++ >> 1 file changed, 31 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts >> index bd35a093e6cd..705e0b23589e 100644 >> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts >> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts >> @@ -53,11 +53,17 @@ >> aliases { >> ethernet0 = &emac; >> serial0 = &uart0; >> + serial1 = &uart1; >> }; >> >> chosen { >> stdout-path = "serial0:115200n8"; >> }; >> + >> + wifi_pwrseq: wifi_pwrseq { >> + compatible = "mmc-pwrseq-simple"; >> + reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */ >> + }; >> }; >> >> &ehci0 { >> @@ -105,6 +111,24 @@ >> status = "okay"; >> }; >> >> +&mmc1 { >> + pinctrl-names = "default"; >> + pinctrl-0 = <&mmc1_pins>; >> + vmmc-supply = <®_dcdc1>; >> + vqmmc-supply = <®_dldo4>; >> + mmc-pwrseq = <&wifi_pwrseq>; >> + bus-width = <4>; >> + non-removable; >> + status = "okay"; >> + >> + rtl8189etv: wifi@1 { >> + reg = <1>; >> + interrupt-parent = <&r_pio>; >> + interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>; /* PL3 */ >> + interrupt-names = "host-wake"; >> + }; >> +}; >> + >> &ohci0 { >> status = "okay"; >> }; >> @@ -222,6 +246,13 @@ >> status = "okay"; >> }; >> >> +/* Connected to the Bluetooth UART, with hardware handshake pins */ >> +&uart1 { >> + pinctrl-names = "default"; >> + pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>; >> + status = "okay"; >> +}; >> + >> &usbphy { >> status = "okay"; >> }; >> -- >> 2.14.4 >>
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts index bd35a093e6cd..705e0b23589e 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts @@ -53,11 +53,17 @@ aliases { ethernet0 = &emac; serial0 = &uart0; + serial1 = &uart1; }; chosen { stdout-path = "serial0:115200n8"; }; + + wifi_pwrseq: wifi_pwrseq { + compatible = "mmc-pwrseq-simple"; + reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */ + }; }; &ehci0 { @@ -105,6 +111,24 @@ status = "okay"; }; +&mmc1 { + pinctrl-names = "default"; + pinctrl-0 = <&mmc1_pins>; + vmmc-supply = <®_dcdc1>; + vqmmc-supply = <®_dldo4>; + mmc-pwrseq = <&wifi_pwrseq>; + bus-width = <4>; + non-removable; + status = "okay"; + + rtl8189etv: wifi@1 { + reg = <1>; + interrupt-parent = <&r_pio>; + interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>; /* PL3 */ + interrupt-names = "host-wake"; + }; +}; + &ohci0 { status = "okay"; }; @@ -222,6 +246,13 @@ status = "okay"; }; +/* Connected to the Bluetooth UART, with hardware handshake pins */ +&uart1 { + pinctrl-names = "default"; + pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>; + status = "okay"; +}; + &usbphy { status = "okay"; };
The NanoPi-A64 has an on-board WiFi/Bluetooth combo chip, connected to the usual MMC1 and UART1. The AXP power line is the always-on VDD_SYS_3.3V, but it uses pin L2 to enable the regulator. As the actual WiFi driver is not in mainline Linux, it doesn't have a compatible string, so we omit this from the node. Add the respective nodes to the DT to make it usable. Signed-off-by: Andre Przywara <andre.przywara@arm.com> --- .../boot/dts/allwinner/sun50i-a64-nanopi-a64.dts | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+)