2023-02-10 12:28:28

by Christian Hewitt

[permalink] [raw]
Subject: [PATCH 0/3] arm64: dts: meson: gxbb-kii-pro: device-tree updates

First we sort nodes in the current dts and remove some blank lines. Then we
add the remaining bits needed for Bluetooth to work. And finally we add the
AIU audio card to have HDMI and S/PDIF audio output.

Christian Hewitt (3):
arm64: dts: meson: gxbb-kii-pro: sort and tidy the dts
arm64: dts: meson: gxbb-kii-pro: complete the bluetooth node
arm64: dts: meson: gxbb-kii-pro: add initial audio support

.../boot/dts/amlogic/meson-gxbb-kii-pro.dts | 84 ++++++++++++++++---
1 file changed, 73 insertions(+), 11 deletions(-)

--
2.34.1



2023-02-10 12:28:36

by Christian Hewitt

[permalink] [raw]
Subject: [PATCH 1/3] arm64: dts: meson: gxbb-kii-pro: sort and tidy the dts

Alpha-sort the nodes, move the default line in the LED node to where it's
normally found, and remove excess spacing. No functional changes.

Signed-off-by: Christian Hewitt <[email protected]>
Tested-by: Ferass El Hafidi <[email protected]>
---
.../boot/dts/amlogic/meson-gxbb-kii-pro.dts | 32 ++++++++-----------
1 file changed, 14 insertions(+), 18 deletions(-)

diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
index 6d8cc00fedc7..9bfdb54d912a 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
@@ -6,21 +6,22 @@
/dts-v1/;

#include "meson-gxbb-p20x.dtsi"
-
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
+
/ {
compatible = "videostrong,kii-pro", "amlogic,meson-gxbb";
model = "Videostrong KII Pro";

leds {
compatible = "gpio-leds";
+
status {
gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_LOW>;
- default-state = "off";
color = <LED_COLOR_ID_RED>;
function = LED_FUNCTION_STATUS;
+ default-state = "off";
};
};

@@ -34,24 +35,8 @@ button-reset {
gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>;
};
};
-
-};
-
-
-
-&uart_A {
- status = "okay";
- pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
- pinctrl-names = "default";
- uart-has-rtscts;
-
- bluetooth {
- compatible = "brcm,bcm4335a0";
- };
};

-
-
&ethmac {
status = "okay";
pinctrl-0 = <&eth_rmii_pins>;
@@ -78,3 +63,14 @@ eth_phy0: ethernet-phy@0 {
&ir {
linux,rc-map-name = "rc-videostrong-kii-pro";
};
+
+&uart_A {
+ status = "okay";
+ pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
+ pinctrl-names = "default";
+ uart-has-rtscts;
+
+ bluetooth {
+ compatible = "brcm,bcm4335a0";
+ };
+};
--
2.34.1


2023-02-10 12:28:39

by Christian Hewitt

[permalink] [raw]
Subject: [PATCH 2/3] arm64: dts: meson: gxbb-kii-pro: complete the bluetooth node

Add missing content to the bluetooth node to align it with the content
used in (all) other GXBB dts files.

Signed-off-by: Christian Hewitt <[email protected]>
Tested-by: Ferass El Hafidi <[email protected]>
---
arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
index 9bfdb54d912a..435ae2aa404e 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
@@ -72,5 +72,10 @@ &uart_A {

bluetooth {
compatible = "brcm,bcm4335a0";
+ shutdown-gpios = <&gpio GPIOX_20 GPIO_ACTIVE_HIGH>;
+ host-wakeup-gpios = <&gpio GPIOX_21 GPIO_ACTIVE_HIGH>;
+ max-speed = <2000000>;
+ clocks = <&wifi32k>;
+ clock-names = "lpo";
};
};
--
2.34.1


2023-02-10 12:28:43

by Christian Hewitt

[permalink] [raw]
Subject: [PATCH 3/3] arm64: dts: meson: gxbb-kii-pro: add initial audio support

Add initial support for HDMI and S/PDIF audio output.

Signed-off-by: Christian Hewitt <[email protected]>
Tested-by: Ferass El Hafidi <[email protected]>
---
.../boot/dts/amlogic/meson-gxbb-kii-pro.dts | 61 +++++++++++++++++++
1 file changed, 61 insertions(+)

diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
index 435ae2aa404e..b6ee76011d82 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
@@ -9,11 +9,19 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
+#include <dt-bindings/sound/meson-aiu.h>

/ {
compatible = "videostrong,kii-pro", "amlogic,meson-gxbb";
model = "Videostrong KII Pro";

+ spdif_dit: audio-codec-0 {
+ #sound-dai-cells = <0>;
+ compatible = "linux,spdif-dit";
+ status = "okay";
+ sound-name-prefix = "DIT";
+ };
+
leds {
compatible = "gpio-leds";

@@ -35,6 +43,59 @@ button-reset {
gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>;
};
};
+
+ sound {
+ compatible = "amlogic,gx-sound-card";
+ model = "KII-PRO";
+ assigned-clocks = <&clkc CLKID_MPLL0>,
+ <&clkc CLKID_MPLL1>,
+ <&clkc CLKID_MPLL2>;
+ assigned-clock-parents = <0>, <0>, <0>;
+ assigned-clock-rates = <294912000>,
+ <270950400>,
+ <393216000>;
+ status = "okay";
+
+ dai-link-0 {
+ sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>;
+ };
+
+ dai-link-1 {
+ sound-dai = <&aiu AIU_CPU CPU_SPDIF_FIFO>;
+ };
+
+ dai-link-2 {
+ sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>;
+ dai-format = "i2s";
+ mclk-fs = <256>;
+
+ codec-0 {
+ sound-dai = <&aiu AIU_HDMI CTRL_I2S>;
+ };
+ };
+
+ dai-link-3 {
+ sound-dai = <&aiu AIU_CPU CPU_SPDIF_ENCODER>;
+
+ codec-0 {
+ sound-dai = <&spdif_dit>;
+ };
+ };
+
+ dai-link-4 {
+ sound-dai = <&aiu AIU_HDMI CTRL_OUT>;
+
+ codec-0 {
+ sound-dai = <&hdmi_tx>;
+ };
+ };
+ };
+};
+
+&aiu {
+ status = "okay";
+ pinctrl-0 = <&spdif_out_y_pins>;
+ pinctrl-names = "default";
};

&ethmac {
--
2.34.1


2023-02-10 15:14:32

by Neil Armstrong

[permalink] [raw]
Subject: Re: [PATCH 1/3] arm64: dts: meson: gxbb-kii-pro: sort and tidy the dts

On 10/02/2023 13:28, Christian Hewitt wrote:
> Alpha-sort the nodes, move the default line in the LED node to where it's
> normally found, and remove excess spacing. No functional changes.
>
> Signed-off-by: Christian Hewitt <[email protected]>
> Tested-by: Ferass El Hafidi <[email protected]>
> ---
> .../boot/dts/amlogic/meson-gxbb-kii-pro.dts | 32 ++++++++-----------
> 1 file changed, 14 insertions(+), 18 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
> index 6d8cc00fedc7..9bfdb54d912a 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
> +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
> @@ -6,21 +6,22 @@
> /dts-v1/;
>
> #include "meson-gxbb-p20x.dtsi"
> -
> #include <dt-bindings/gpio/gpio.h>
> #include <dt-bindings/input/input.h>
> #include <dt-bindings/leds/common.h>
> +
> / {
> compatible = "videostrong,kii-pro", "amlogic,meson-gxbb";
> model = "Videostrong KII Pro";
>
> leds {
> compatible = "gpio-leds";
> +
> status {
> gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_LOW>;
> - default-state = "off";
> color = <LED_COLOR_ID_RED>;
> function = LED_FUNCTION_STATUS;
> + default-state = "off";
> };
> };
>
> @@ -34,24 +35,8 @@ button-reset {
> gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>;
> };
> };
> -
> -};
> -
> -
> -
> -&uart_A {
> - status = "okay";
> - pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
> - pinctrl-names = "default";
> - uart-has-rtscts;
> -
> - bluetooth {
> - compatible = "brcm,bcm4335a0";
> - };
> };
>
> -
> -
> &ethmac {
> status = "okay";
> pinctrl-0 = <&eth_rmii_pins>;
> @@ -78,3 +63,14 @@ eth_phy0: ethernet-phy@0 {
> &ir {
> linux,rc-map-name = "rc-videostrong-kii-pro";
> };
> +
> +&uart_A {
> + status = "okay";
> + pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
> + pinctrl-names = "default";
> + uart-has-rtscts;
> +
> + bluetooth {
> + compatible = "brcm,bcm4335a0";
> + };
> +};

Reviewed-by: Neil Armstrong <[email protected]>

2023-02-10 15:14:49

by Neil Armstrong

[permalink] [raw]
Subject: Re: [PATCH 2/3] arm64: dts: meson: gxbb-kii-pro: complete the bluetooth node

On 10/02/2023 13:28, Christian Hewitt wrote:
> Add missing content to the bluetooth node to align it with the content
> used in (all) other GXBB dts files.
>
> Signed-off-by: Christian Hewitt <[email protected]>
> Tested-by: Ferass El Hafidi <[email protected]>
> ---
> arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
> index 9bfdb54d912a..435ae2aa404e 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
> +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
> @@ -72,5 +72,10 @@ &uart_A {
>
> bluetooth {
> compatible = "brcm,bcm4335a0";
> + shutdown-gpios = <&gpio GPIOX_20 GPIO_ACTIVE_HIGH>;
> + host-wakeup-gpios = <&gpio GPIOX_21 GPIO_ACTIVE_HIGH>;
> + max-speed = <2000000>;
> + clocks = <&wifi32k>;
> + clock-names = "lpo";
> };
> };

Reviewed-by: Neil Armstrong <[email protected]>

2023-02-10 15:36:13

by Neil Armstrong

[permalink] [raw]
Subject: Re: [PATCH 3/3] arm64: dts: meson: gxbb-kii-pro: add initial audio support

On 10/02/2023 13:28, Christian Hewitt wrote:
> Add initial support for HDMI and S/PDIF audio output.
>
> Signed-off-by: Christian Hewitt <[email protected]>
> Tested-by: Ferass El Hafidi <[email protected]>
> ---
> .../boot/dts/amlogic/meson-gxbb-kii-pro.dts | 61 +++++++++++++++++++
> 1 file changed, 61 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
> index 435ae2aa404e..b6ee76011d82 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
> +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
> @@ -9,11 +9,19 @@
> #include <dt-bindings/gpio/gpio.h>
> #include <dt-bindings/input/input.h>
> #include <dt-bindings/leds/common.h>
> +#include <dt-bindings/sound/meson-aiu.h>
>
> / {
> compatible = "videostrong,kii-pro", "amlogic,meson-gxbb";
> model = "Videostrong KII Pro";
>
> + spdif_dit: audio-codec-0 {
> + #sound-dai-cells = <0>;
> + compatible = "linux,spdif-dit";
> + status = "okay";
> + sound-name-prefix = "DIT";
> + };
> +
> leds {
> compatible = "gpio-leds";
>
> @@ -35,6 +43,59 @@ button-reset {
> gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>;
> };
> };
> +
> + sound {
> + compatible = "amlogic,gx-sound-card";
> + model = "KII-PRO";
> + assigned-clocks = <&clkc CLKID_MPLL0>,
> + <&clkc CLKID_MPLL1>,
> + <&clkc CLKID_MPLL2>;
> + assigned-clock-parents = <0>, <0>, <0>;
> + assigned-clock-rates = <294912000>,
> + <270950400>,
> + <393216000>;
> + status = "okay";

Drop this okay

> +
> + dai-link-0 {
> + sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>;
> + };
> +
> + dai-link-1 {
> + sound-dai = <&aiu AIU_CPU CPU_SPDIF_FIFO>;
> + };
> +
> + dai-link-2 {
> + sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>;
> + dai-format = "i2s";
> + mclk-fs = <256>;
> +
> + codec-0 {
> + sound-dai = <&aiu AIU_HDMI CTRL_I2S>;
> + };
> + };
> +
> + dai-link-3 {
> + sound-dai = <&aiu AIU_CPU CPU_SPDIF_ENCODER>;
> +
> + codec-0 {
> + sound-dai = <&spdif_dit>;
> + };
> + };
> +
> + dai-link-4 {
> + sound-dai = <&aiu AIU_HDMI CTRL_OUT>;
> +
> + codec-0 {
> + sound-dai = <&hdmi_tx>;
> + };
> + };
> + };
> +};
> +
> +&aiu {
> + status = "okay";
> + pinctrl-0 = <&spdif_out_y_pins>;
> + pinctrl-names = "default";
> };
>
> &ethmac {


With that change:

Reviewed-by: Neil Armstrong <[email protected]>