diff mbox

[v2] ARM: dts: sun8i: enable UART1 for iNet D978 Rev2 board

Message ID 20160828005521.58221-1-icenowy@aosc.xyz (mailing list archive)
State New, archived
Headers show

Commit Message

Icenowy Zheng Aug. 28, 2016, 12:55 a.m. UTC
UART1 is connected to the bluetooth part of RTL8723BS WiFi/BT combo card
on iNet D978 Rev2 board.

Enable the UART1 to make it possible to use the modified hciattach by
Realtek to drive the BT part of RTL8723BS.

On the board no r_uart pins are found now (the onboard RX/TX pins are
wired to PF2/PF4, which is muxed with mmc0), so also disabled it.

Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
---
Changes since v1:
- Deleted r_uart.
- Added the pinmux of uart1 at PG.

 arch/arm/boot/dts/sun8i-a23-a33.dtsi           | 14 ++++++++++++++
 arch/arm/boot/dts/sun8i-a33-inet-d978-rev2.dts | 20 ++++++++++++++++++++
 2 files changed, 34 insertions(+)

Comments

Rask Ingemann Lambertsen Aug. 28, 2016, 8:09 a.m. UTC | #1
On Sun, Aug 28, 2016 at 08:55:21AM +0800, Icenowy Zheng wrote:
> +			uart1_pins_cts_rts_a: uart1_cts_rts@0 {
> +				allwinner,pins = "PG8", "PG9";
> +				allwinner,function = "uart1";
> +				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
> +				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
> +			};

Node names should not contain underscores. Use hyphens instead.
https://www.mail-archive.com/linux-kernel%40vger.kernel.org/msg1122967.html
https://www.mail-archive.com/linux-kernel%40vger.kernel.org/msg1145633.html
Icenowy Zheng Aug. 28, 2016, 10:26 a.m. UTC | #2
28.08.2016, 16:17, "Rask Ingemann Lambertsen" <ccc94453@vip.cybercity.dk>:
> On Sun, Aug 28, 2016 at 08:55:21AM +0800, Icenowy Zheng wrote:
>>  + uart1_pins_cts_rts_a: uart1_cts_rts@0 {
>>  + allwinner,pins = "PG8", "PG9";
>>  + allwinner,function = "uart1";
>>  + allwinner,drive = <SUN4I_PINCTRL_10_MA>;
>>  + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
>>  + };
>
> Node names should not contain underscores. Use hyphens instead.

Sorry. It's my fault.
In the v1 patch the name is hyphens... but I rewrote the part in v2.

> https://www.mail-archive.com/linux-kernel%40vger.kernel.org/msg1122967.html
> https://www.mail-archive.com/linux-kernel%40vger.kernel.org/msg1145633.html
>
> --
> Rask Ingemann Lambertsen
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Maxime Ripard Aug. 29, 2016, 6:49 a.m. UTC | #3
Hi,

On Sun, Aug 28, 2016 at 08:55:21AM +0800, Icenowy Zheng wrote:
> UART1 is connected to the bluetooth part of RTL8723BS WiFi/BT combo card
> on iNet D978 Rev2 board.
> 
> Enable the UART1 to make it possible to use the modified hciattach by
> Realtek to drive the BT part of RTL8723BS.
> 
> On the board no r_uart pins are found now (the onboard RX/TX pins are
> wired to PF2/PF4, which is muxed with mmc0), so also disabled it.
> 
> Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
> ---
> Changes since v1:
> - Deleted r_uart.
> - Added the pinmux of uart1 at PG.
> 
>  arch/arm/boot/dts/sun8i-a23-a33.dtsi           | 14 ++++++++++++++
>  arch/arm/boot/dts/sun8i-a33-inet-d978-rev2.dts | 20 ++++++++++++++++++++
>  2 files changed, 34 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/sun8i-a23-a33.dtsi b/arch/arm/boot/dts/sun8i-a23-a33.dtsi
> index 7e05e09..d236104 100644
> --- a/arch/arm/boot/dts/sun8i-a23-a33.dtsi
> +++ b/arch/arm/boot/dts/sun8i-a23-a33.dtsi
> @@ -361,6 +361,20 @@
>  				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
>  			};
>  
> +			uart1_pins_a: uart1@0 {
> +				allwinner,pins = "PG6", "PG7";
> +				allwinner,function = "uart1";
> +				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
> +				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
> +			};
> +
> +			uart1_pins_cts_rts_a: uart1_cts_rts@0 {
> +				allwinner,pins = "PG8", "PG9";
> +				allwinner,function = "uart1";
> +				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
> +				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
> +			};
> +

This should be in a different patch.

>  			mmc0_pins_a: mmc0@0 {
>  				allwinner,pins = "PF0", "PF1", "PF2",
>  						 "PF3", "PF4", "PF5";
> diff --git a/arch/arm/boot/dts/sun8i-a33-inet-d978-rev2.dts b/arch/arm/boot/dts/sun8i-a33-inet-d978-rev2.dts
> index 0f52cd9..a1f654a8 100644
> --- a/arch/arm/boot/dts/sun8i-a33-inet-d978-rev2.dts
> +++ b/arch/arm/boot/dts/sun8i-a33-inet-d978-rev2.dts
> @@ -49,6 +49,15 @@
>  	model = "INet-D978 Rev 02";
>  	compatible = "primux,inet-d978-rev2", "allwinner,sun8i-a33";
>  
> +	aliases {
> +		/delete-property/serial0;
> +		serial1 = &uart1;

And to restate what I said, there's exactly *no* reason to have it a
serial0.

Every device in Linux is enumerated from 0 (or equivalent). The hard
disks are (if you have only one, it will be /dev/sda or /dev/hda), the
MMC cards are, the SPI buses are, the framebuffers are, why would the
UART be a special case?

Maxime
diff mbox

Patch

diff --git a/arch/arm/boot/dts/sun8i-a23-a33.dtsi b/arch/arm/boot/dts/sun8i-a23-a33.dtsi
index 7e05e09..d236104 100644
--- a/arch/arm/boot/dts/sun8i-a23-a33.dtsi
+++ b/arch/arm/boot/dts/sun8i-a23-a33.dtsi
@@ -361,6 +361,20 @@ 
 				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
 			};
 
+			uart1_pins_a: uart1@0 {
+				allwinner,pins = "PG6", "PG7";
+				allwinner,function = "uart1";
+				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
+				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
+			};
+
+			uart1_pins_cts_rts_a: uart1_cts_rts@0 {
+				allwinner,pins = "PG8", "PG9";
+				allwinner,function = "uart1";
+				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
+				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
+			};
+
 			mmc0_pins_a: mmc0@0 {
 				allwinner,pins = "PF0", "PF1", "PF2",
 						 "PF3", "PF4", "PF5";
diff --git a/arch/arm/boot/dts/sun8i-a33-inet-d978-rev2.dts b/arch/arm/boot/dts/sun8i-a33-inet-d978-rev2.dts
index 0f52cd9..a1f654a8 100644
--- a/arch/arm/boot/dts/sun8i-a33-inet-d978-rev2.dts
+++ b/arch/arm/boot/dts/sun8i-a33-inet-d978-rev2.dts
@@ -49,6 +49,15 @@ 
 	model = "INet-D978 Rev 02";
 	compatible = "primux,inet-d978-rev2", "allwinner,sun8i-a33";
 
+	aliases {
+		/delete-property/serial0;
+		serial1 = &uart1;
+	};
+
+	chosen {
+		/delete-property/stdout-path;
+	};
+
 	leds {
 		compatible = "gpio-leds";
 		pinctrl-names = "default";
@@ -86,3 +95,14 @@ 
 		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
 	};
 };
+
+&r_uart {
+	status = "disabled";
+};
+
+&uart1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart1_pins_a>,
+		    <&uart1_pins_cts_rts_a>;
+	status = "okay";
+};