devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] arm64: dts: imx8mq: add missing SAI nodes
@ 2019-11-27 18:21 Lucas Stach
  2019-11-27 18:21 ` [PATCH 2/2] arm64: dts: zii-ultra: add sound support Lucas Stach
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Lucas Stach @ 2019-11-27 18:21 UTC (permalink / raw)
  To: Shawn Guo
  Cc: Fabio Estevam, devicetree, linux-arm-kernel, NXP Linux Team,
	Rob Herring, kernel, patchwork-lst

Currently only SAI2 is present in the DT. Add all the other SAI
instances present on the SoC.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
---
 arch/arm64/boot/dts/freescale/imx8mq.dtsi | 70 +++++++++++++++++++++++
 1 file changed, 70 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
index 55a3d1c4bdf0..42024ac3bc3f 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
@@ -281,6 +281,62 @@
 			#size-cells = <1>;
 			ranges = <0x30000000 0x30000000 0x400000>;
 
+			sai1: sai@30010000 {
+				#sound-dai-cells = <0>;
+				compatible = "fsl,imx8mq-sai";
+				reg = <0x30010000 0x10000>;
+				interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clk IMX8MQ_CLK_SAI1_IPG>,
+				         <&clk IMX8MQ_CLK_SAI1_ROOT>,
+				         <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_CLK_DUMMY>;
+				clock-names = "bus", "mclk1", "mclk2", "mclk3";
+				dmas = <&sdma2 8 24 0>, <&sdma1 9 24 0>;
+				dma-names = "rx", "tx";
+				status = "disabled";
+			};
+
+			sai6: sai@30030000 {
+				#sound-dai-cells = <0>;
+				compatible = "fsl,imx8mq-sai";
+				reg = <0x30030000 0x10000>;
+				interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clk IMX8MQ_CLK_SAI6_IPG>,
+				         <&clk IMX8MQ_CLK_SAI6_ROOT>,
+				         <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_CLK_DUMMY>;
+				clock-names = "bus", "mclk1", "mclk2", "mclk3";
+				dmas = <&sdma2 4 24 0>, <&sdma2 5 24 0>;
+				dma-names = "rx", "tx";
+				status = "disabled";
+			};
+
+			sai5: sai@30040000 {
+				#sound-dai-cells = <0>;
+				compatible = "fsl,imx8mq-sai";
+				reg = <0x30040000 0x10000>;
+				interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clk IMX8MQ_CLK_SAI5_IPG>,
+				         <&clk IMX8MQ_CLK_SAI5_ROOT>,
+				         <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_CLK_DUMMY>;
+				clock-names = "bus", "mclk1", "mclk2", "mclk3";
+				dmas = <&sdma2 2 24 0>, <&sdma2 3 24 0>;
+				dma-names = "rx", "tx";
+				status = "disabled";
+			};
+
+			sai4: sai@30050000 {
+				#sound-dai-cells = <0>;
+				compatible = "fsl,imx8mq-sai";
+				reg = <0x30050000 0x10000>;
+				interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clk IMX8MQ_CLK_SAI4_IPG>,
+				         <&clk IMX8MQ_CLK_SAI4_ROOT>,
+				         <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_CLK_DUMMY>;
+				clock-names = "bus", "mclk1", "mclk2", "mclk3";
+				dmas = <&sdma2 0 24 0>, <&sdma2 1 24 0>;
+				dma-names = "rx", "tx";
+				status = "disabled";
+			};
+
 			gpio1: gpio@30200000 {
 				compatible = "fsl,imx8mq-gpio", "fsl,imx35-gpio";
 				reg = <0x30200000 0x10000>;
@@ -751,6 +807,20 @@
 				status = "disabled";
 			};
 
+			sai3: sai@308c0000 {
+				#sound-dai-cells = <0>;
+				compatible = "fsl,imx8mq-sai";
+				reg = <0x308c0000 0x10000>;
+				interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clk IMX8MQ_CLK_SAI3_IPG>,
+				         <&clk IMX8MQ_CLK_SAI3_ROOT>,
+				         <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_CLK_DUMMY>;
+				clock-names = "bus", "mclk1", "mclk2", "mclk3";
+				dmas = <&sdma1 12 24 0>, <&sdma1 13 24 0>;
+				dma-names = "rx", "tx";
+				status = "disabled";
+			};
+
 			crypto: crypto@30900000 {
 				compatible = "fsl,sec-v4.0";
 				#address-cells = <1>;
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/2] arm64: dts: zii-ultra: add sound support
  2019-11-27 18:21 [PATCH 1/2] arm64: dts: imx8mq: add missing SAI nodes Lucas Stach
@ 2019-11-27 18:21 ` Lucas Stach
  2019-11-28 11:10   ` Daniel Baluta
  2019-12-09  7:48   ` Shawn Guo
  2019-11-28 11:46 ` [PATCH 1/2] arm64: dts: imx8mq: add missing SAI nodes Daniel Baluta
  2019-12-09  7:55 ` Shawn Guo
  2 siblings, 2 replies; 7+ messages in thread
From: Lucas Stach @ 2019-11-27 18:21 UTC (permalink / raw)
  To: Shawn Guo
  Cc: Fabio Estevam, devicetree, linux-arm-kernel, NXP Linux Team,
	Rob Herring, kernel, patchwork-lst

This adds all the necessary device nodes to get audio support on both the
RMB3 and Zest boards.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
---
 .../dts/freescale/imx8mq-zii-ultra-rmb3.dts   | 87 ++++++++++++++++
 .../dts/freescale/imx8mq-zii-ultra-zest.dts   | 30 ++++++
 .../boot/dts/freescale/imx8mq-zii-ultra.dtsi  | 98 +++++++++++++++++++
 3 files changed, 215 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-rmb3.dts b/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-rmb3.dts
index 6b3581366d67..d5e06885c683 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-rmb3.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-rmb3.dts
@@ -10,6 +10,56 @@
 / {
 	model = "ZII Ultra RMB3 Board";
 	compatible = "zii,imx8mq-ultra-rmb3", "zii,imx8mq-ultra", "fsl,imx8mq";
+
+	sound1 {
+		compatible = "simple-audio-card";
+		simple-audio-card,name = "RMB3 audio front";
+		simple-audio-card,format = "i2s";
+		simple-audio-card,bitclock-master = <&sound1_codec>;
+		simple-audio-card,frame-master = <&sound1_codec>;
+		simple-audio-card,widgets =
+			"Headphone", "Headphone Jack Front";
+		simple-audio-card,routing =
+			"Headphone Jack Front", "HPA1 HPLEFT",
+			"Headphone Jack Front", "HPA1 HPRIGHT",
+			"HPA1 LEFTIN", "HPL",
+			"HPA1 RIGHTIN", "HPR";
+		simple-audio-card,aux-devs = <&hpa1>;
+
+		sound1_cpu: simple-audio-card,cpu {
+			sound-dai = <&sai2>;
+		};
+
+		sound1_codec: simple-audio-card,codec {
+			sound-dai = <&codec1>;
+			clocks = <&cs2000>;
+		};
+	};
+
+	sound2 {
+		compatible = "simple-audio-card";
+		simple-audio-card,name = "RMB3 audio back";
+		simple-audio-card,format = "i2s";
+		simple-audio-card,bitclock-master = <&sound2_codec>;
+		simple-audio-card,frame-master = <&sound2_codec>;
+		simple-audio-card,widgets =
+			"Headphone", "Headphone Jack Back";
+		simple-audio-card,routing =
+			"Headphone Jack Back", "HPA2 HPLEFT",
+			"Headphone Jack Back", "HPA2 HPRIGHT",
+			"HPA2 LEFTIN", "HPL",
+			"HPA2 RIGHTIN", "HPR";
+		simple-audio-card,aux-devs = <&hpa2>;
+
+		sound2_cpu: simple-audio-card,cpu {
+			sound-dai = <&sai3>;
+		};
+
+		sound2_codec: simple-audio-card,codec {
+			sound-dai = <&codec2>;
+			clocks = <&cs2000>;
+		};
+	};
 };
 
 &ecspi1 {
@@ -27,6 +77,23 @@
 	};
 };
 
+&i2c1 {
+	codec2: codec@18 {
+		compatible = "ti,tlv320dac3100";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_codec2>;
+		reg = <0x18>;
+		#sound-dai-cells = <0>;
+		HPVDD-supply = <&reg_3p3v>;
+		SPRVDD-supply = <&reg_3p3v>;
+		SPLVDD-supply = <&reg_3p3v>;
+		AVDD-supply = <&reg_3p3v>;
+		IOVDD-supply = <&reg_3p3v>;
+		DVDD-supply = <&vgen4_reg>;
+		gpio-reset = <&gpio3 4 GPIO_ACTIVE_HIGH>;
+	};
+};
+
 &i2c2 {
 	temp-sense@48 {
 		compatible = "national,lm75";
@@ -79,11 +146,23 @@
 	};
 };
 
+&sai3 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_sai3>;
+	status = "okay";
+};
+
 &usbhub {
 	swap-dx-lanes = <0>;
 };
 
 &iomuxc {
+	pinctrl_codec2: dac2grp {
+		fsl,pins = <
+			MX8MQ_IOMUXC_NAND_CE3_B_GPIO3_IO4		0x41
+		>;
+	};
+
 	pinctrl_ecspi1: ecspi1grp {
 		fsl,pins = <
 			MX8MQ_IOMUXC_ECSPI1_SS0_GPIO5_IO9	0x19
@@ -92,4 +171,12 @@
 			MX8MQ_IOMUXC_ECSPI1_MOSI_ECSPI1_MOSI	0x82
 		>;
 	};
+
+	pinctrl_sai3: sai3grp {
+		fsl,pins = <
+			MX8MQ_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC		0xd6
+			MX8MQ_IOMUXC_SAI3_TXC_SAI3_TX_BCLK		0xd6
+			MX8MQ_IOMUXC_SAI3_TXD_SAI3_TX_DATA0		0xd6
+		>;
+	};
 };
diff --git a/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-zest.dts b/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-zest.dts
index 173b9e9b2bbd..cf8cdc5935c6 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-zest.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-zest.dts
@@ -10,6 +10,36 @@
 / {
 	model = "ZII Ultra Zest Board";
 	compatible = "zii,imx8mq-ultra-zest", "zii,imx8mq-ultra", "fsl,imx8mq";
+
+	sound {
+		compatible = "simple-audio-card";
+		simple-audio-card,name = "Zest audio";
+		simple-audio-card,format = "i2s";
+		simple-audio-card,bitclock-master = <&sound_codec>;
+		simple-audio-card,frame-master = <&sound_codec>;
+		simple-audio-card,widgets =
+			"Headphone", "Headphone Jack Front",
+			"Headphone", "Headphone Jack Back";
+		simple-audio-card,routing =
+			"Headphone Jack Front", "HPA1 HPLEFT",
+			"Headphone Jack Front", "HPA1 HPRIGHT",
+			"Headphone Jack Back", "HPA2 HPLEFT",
+			"Headphone Jack Back", "HPA2 HPRIGHT",
+			"HPA1 LEFTIN", "HPL",
+			"HPA1 RIGHTIN", "HPR",
+			"HPA2 LEFTIN", "HPL",
+			"HPA2 RIGHTIN", "HPR";
+		simple-audio-card,aux-devs = <&hpa1>, <&hpa2>;
+
+		sound_cpu: simple-audio-card,cpu {
+			sound-dai = <&sai2>;
+		};
+
+		sound_codec: simple-audio-card,codec {
+			sound-dai = <&codec1>;
+			clocks = <&cs2000>;
+		};
+	};
 };
 
 &i2c4 {
diff --git a/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra.dtsi b/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra.dtsi
index 32ce14936b01..c6a57dfe3ea9 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra.dtsi
@@ -68,6 +68,15 @@
 		regulator-always-on;
 	};
 
+	reg_3p3v: regulator-3p3v {
+		compatible = "regulator-fixed";
+		vin-supply = <&reg_3p3_main>;
+		regulator-name = "GEN_3V3";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-always-on;
+	};
+
 	reg_usdhc2_vmmc: regulator-vsd-3v3 {
 		pinctrl-names = "default";
 		pinctrl-0 = <&pinctrl_reg_usdhc2>;
@@ -93,6 +102,18 @@
 		           900000 0x0>;
 		regulator-always-on;
 	};
+
+	cs2000_ref: cs2000-ref {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		clock-frequency = <24576000>;
+	};
+
+	cs2000_in_dummy: cs2000-in-dummy {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		clock-frequency = <0>;
+	};
 };
 
 &A53_0 {
@@ -263,6 +284,16 @@
 		             <18 IRQ_TYPE_EDGE_BOTH>;
 		interrupt-names = "a_det", "alert";
 	};
+
+	hpa2: amp@60 {
+		compatible = "ti,tpa6130a2";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_tpa2>;
+		reg = <0x60>;
+		power-gpio = <&gpio1 8 GPIO_ACTIVE_HIGH>;
+		Vdd-supply = <&reg_5p0_main>;
+		sound-name-prefix = "HPA2";
+	};
 };
 
 &i2c2 {
@@ -355,11 +386,36 @@
 		};
 	};
 
+	codec1: codec@18 {
+		compatible = "ti,tlv320dac3100";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_codec1>;
+		reg = <0x18>;
+		#sound-dai-cells = <0>;
+		HPVDD-supply = <&reg_3p3v>;
+		SPRVDD-supply = <&reg_3p3v>;
+		SPLVDD-supply = <&reg_3p3v>;
+		AVDD-supply = <&reg_3p3v>;
+		IOVDD-supply = <&reg_3p3v>;
+		DVDD-supply = <&vgen4_reg>;
+		reset-gpios = <&gpio3 3 GPIO_ACTIVE_LOW>;
+	};
+
 	eeprom@54 {
 		compatible = "atmel,24c128";
 		reg = <0x54>;
 	};
 
+	hpa1: amp@60 {
+		compatible = "ti,tpa6130a2";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_tpa1>;
+		reg = <0x60>;
+		power-gpio = <&gpio4 10 GPIO_ACTIVE_HIGH>;
+		Vdd-supply = <&reg_5p0_main>;
+		sound-name-prefix = "HPA1";
+	};
+
 	ds1341: rtc@68 {
 		compatible = "dallas,ds1341";
 		reg = <0x68>;
@@ -379,6 +435,16 @@
 		reg = <0x2c>;
 		reset-gpios = <&gpio3 25 GPIO_ACTIVE_LOW>;
 	};
+
+	cs2000: clkgen@4e {
+		compatible = "cirrus,cs2000-cp";
+		reg = <0x4e>;
+		#clock-cells = <0>;
+		clock-names = "clk_in", "ref_clk";
+		clocks = <&cs2000_in_dummy>, <&cs2000_ref>;
+		assigned-clocks = <&cs2000>;
+		assigned-clock-rates = <24000000>;
+	};
 };
 
 &i2c4 {
@@ -388,6 +454,12 @@
 	status = "okay";
 };
 
+&sai2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_sai2>;
+	status = "okay";
+};
+
 &uart1 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_uart1>;
@@ -513,6 +585,12 @@
 };
 
 &iomuxc {
+	pinctrl_codec1: dac1grp {
+		fsl,pins = <
+			MX8MQ_IOMUXC_NAND_CE2_B_GPIO3_IO3		0x41
+		>;
+	};
+
 	pinctrl_fec1: fec1grp {
 		fsl,pins = <
 			MX8MQ_IOMUXC_ENET_MDC_ENET1_MDC			0x3
@@ -604,12 +682,32 @@
 		>;
 	};
 
+	pinctrl_sai2: sai2grp {
+		fsl,pins = <
+			MX8MQ_IOMUXC_SAI2_TXFS_SAI2_TX_SYNC		0xd6
+			MX8MQ_IOMUXC_SAI2_TXC_SAI2_TX_BCLK		0xd6
+			MX8MQ_IOMUXC_SAI2_TXD0_SAI2_TX_DATA0		0xd6
+		>;
+	};
+
 	pinctrl_switch_irq: switchgrp {
 		fsl,pins = <
 			MX8MQ_IOMUXC_GPIO1_IO15_GPIO1_IO15		0x41
 		>;
 	};
 
+	pinctrl_tpa1: tpa6130-1grp {
+		fsl,pins = <
+			MX8MQ_IOMUXC_SAI1_TXFS_GPIO4_IO10		0x41
+		>;
+	};
+
+	pinctrl_tpa2: tpa6130-2grp {
+		fsl,pins = <
+			MX8MQ_IOMUXC_GPIO1_IO08_GPIO1_IO8		0x41
+		>;
+	};
+
 	pinctrl_ts: tsgrp {
 		fsl,pins = <
 			MX8MQ_IOMUXC_GPIO1_IO11_GPIO1_IO11		0x96
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] arm64: dts: zii-ultra: add sound support
  2019-11-27 18:21 ` [PATCH 2/2] arm64: dts: zii-ultra: add sound support Lucas Stach
@ 2019-11-28 11:10   ` Daniel Baluta
  2019-11-28 16:35     ` Lucas Stach
  2019-12-09  7:48   ` Shawn Guo
  1 sibling, 1 reply; 7+ messages in thread
From: Daniel Baluta @ 2019-11-28 11:10 UTC (permalink / raw)
  To: l.stach, shawnguo
  Cc: festevam, linux-arm-kernel, dl-linux-imx, kernel, robh+dt,
	devicetree, patchwork-lst

Few comments inline about the naming:

On Wed, 2019-11-27 at 19:21 +0100, Lucas Stach wrote:
> This adds all the necessary device nodes to get audio support on both
> the
> RMB3 and Zest boards.
> 
> Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
> ---
>  .../dts/freescale/imx8mq-zii-ultra-rmb3.dts   | 87 ++++++++++++++++
>  .../dts/freescale/imx8mq-zii-ultra-zest.dts   | 30 ++++++
>  .../boot/dts/freescale/imx8mq-zii-ultra.dtsi  | 98
> +++++++++++++++++++
>  3 files changed, 215 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-rmb3.dts
> b/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-rmb3.dts
> index 6b3581366d67..d5e06885c683 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-rmb3.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-rmb3.dts
> @@ -10,6 +10,56 @@
>  / {
>  	model = "ZII Ultra RMB3 Board";
>  	compatible = "zii,imx8mq-ultra-rmb3", "zii,imx8mq-ultra",
> "fsl,imx8mq";
> +
> +	sound1 {

I find sound1 / sound2 pretty generic. Perhaps we can go with something
like sound-<codec_name>


> +		compatible = "simple-audio-card";
> +		simple-audio-card,name = "RMB3 audio front";
> +		simple-audio-card,format = "i2s";
> +		simple-audio-card,bitclock-master = <&sound1_codec>;
> +		simple-audio-card,frame-master = <&sound1_codec>;
> +		simple-audio-card,widgets =
> +			"Headphone", "Headphone Jack Front";
> +		simple-audio-card,routing =
> +			"Headphone Jack Front", "HPA1 HPLEFT",
> +			"Headphone Jack Front", "HPA1 HPRIGHT",
> +			"HPA1 LEFTIN", "HPL",
> +			"HPA1 RIGHTIN", "HPR";
> +		simple-audio-card,aux-devs = <&hpa1>;
> +
> +		sound1_cpu: simple-audio-card,cpu {
> +			sound-dai = <&sai2>;
> +		};
> +
> +		sound1_codec: simple-audio-card,codec {
> +			sound-dai = <&codec1>;

Codec1 here is too generic. Perpahs we can add real code name.

> +			clocks = <&cs2000>;
> +		};
> +	};
> +
> +	sound2 {
> +		compatible = "simple-audio-card";
> +		simple-audio-card,name = "RMB3 audio back";
> +		simple-audio-card,format = "i2s";
> +		simple-audio-card,bitclock-master = <&sound2_codec>;
> +		simple-audio-card,frame-master = <&sound2_codec>;
> +		simple-audio-card,widgets =
> +			"Headphone", "Headphone Jack Back";
> +		simple-audio-card,routing =
> +			"Headphone Jack Back", "HPA2 HPLEFT",
> +			"Headphone Jack Back", "HPA2 HPRIGHT",
> +			"HPA2 LEFTIN", "HPL",
> +			"HPA2 RIGHTIN", "HPR";
> +		simple-audio-card,aux-devs = <&hpa2>;
> +
> +		sound2_cpu: simple-audio-card,cpu {
> +			sound-dai = <&sai3>;
> +		};
> +
> +		sound2_codec: simple-audio-card,codec {
> +			sound-dai = <&codec2>;
Ditto.

> +			clocks = <&cs2000>;
> +		};
> +	};
>  };
>  
>  &ecspi1 {
> @@ -27,6 +77,23 @@
>  	};
>  };
>  
> +&i2c1 {
> +	codec2: codec@18 {

Here we might go with something like: 

tlv320dac3100: codec@18


> +		compatible = "ti,tlv320dac3100";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_codec2>;
> +		reg = <0x18>;
> +		#sound-dai-cells = <0>;
> +		HPVDD-supply = <&reg_3p3v>;
> +		SPRVDD-supply = <&reg_3p3v>;
> +		SPLVDD-supply = <&reg_3p3v>;
> +		AVDD-supply = <&reg_3p3v>;
> +		IOVDD-supply = <&reg_3p3v>;
> +		DVDD-supply = <&vgen4_reg>;
> +		gpio-reset = <&gpio3 4 GPIO_ACTIVE_HIGH>;
> +	};
> +};
> 

This is just a thought, naming is hard. But it should help with
readability.



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] arm64: dts: imx8mq: add missing SAI nodes
  2019-11-27 18:21 [PATCH 1/2] arm64: dts: imx8mq: add missing SAI nodes Lucas Stach
  2019-11-27 18:21 ` [PATCH 2/2] arm64: dts: zii-ultra: add sound support Lucas Stach
@ 2019-11-28 11:46 ` Daniel Baluta
  2019-12-09  7:55 ` Shawn Guo
  2 siblings, 0 replies; 7+ messages in thread
From: Daniel Baluta @ 2019-11-28 11:46 UTC (permalink / raw)
  To: l.stach, shawnguo
  Cc: festevam, linux-arm-kernel, dl-linux-imx, kernel, robh+dt,
	devicetree, patchwork-lst

On Wed, 2019-11-27 at 19:21 +0100, Lucas Stach wrote:
> Currently only SAI2 is present in the DT. Add all the other SAI
> instances present on the SoC.
> 
> Signed-off-by: Lucas Stach <l.stach@pengutronix.de>

Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] arm64: dts: zii-ultra: add sound support
  2019-11-28 11:10   ` Daniel Baluta
@ 2019-11-28 16:35     ` Lucas Stach
  0 siblings, 0 replies; 7+ messages in thread
From: Lucas Stach @ 2019-11-28 16:35 UTC (permalink / raw)
  To: Daniel Baluta, shawnguo
  Cc: festevam, linux-arm-kernel, dl-linux-imx, kernel, robh+dt,
	devicetree, patchwork-lst

Hi Daniel,

On Do, 2019-11-28 at 11:10 +0000, Daniel Baluta wrote:
> Few comments inline about the naming:
> 
> On Wed, 2019-11-27 at 19:21 +0100, Lucas Stach wrote:
> > This adds all the necessary device nodes to get audio support on both
> > the
> > RMB3 and Zest boards.
> > 
> > Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
> > ---
> >  .../dts/freescale/imx8mq-zii-ultra-rmb3.dts   | 87 ++++++++++++++++
> >  .../dts/freescale/imx8mq-zii-ultra-zest.dts   | 30 ++++++
> >  .../boot/dts/freescale/imx8mq-zii-ultra.dtsi  | 98
> > +++++++++++++++++++
> >  3 files changed, 215 insertions(+)
> > 
> > diff --git a/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-rmb3.dts
> > b/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-rmb3.dts
> > index 6b3581366d67..d5e06885c683 100644
> > --- a/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-rmb3.dts
> > +++ b/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-rmb3.dts
> > @@ -10,6 +10,56 @@
> >  / {
> >  	model = "ZII Ultra RMB3 Board";
> >  	compatible = "zii,imx8mq-ultra-rmb3", "zii,imx8mq-ultra",
> > "fsl,imx8mq";
> > +
> > +	sound1 {
> 
> I find sound1 / sound2 pretty generic. Perhaps we can go with something
> like sound-<codec_name>
> 
They are pretty generic, but I don't really see a reason to
differentiate them more. Both sound paths are using a similar codec/hpa
setup, the only difference is the SAI. If I name them after the SAI,
will this really help much?

> 
> > +		compatible = "simple-audio-card";
> > +		simple-audio-card,name = "RMB3 audio front";
> > +		simple-audio-card,format = "i2s";
> > +		simple-audio-card,bitclock-master = <&sound1_codec>;
> > +		simple-audio-card,frame-master = <&sound1_codec>;
> > +		simple-audio-card,widgets =
> > +			"Headphone", "Headphone Jack Front";
> > +		simple-audio-card,routing =
> > +			"Headphone Jack Front", "HPA1 HPLEFT",
> > +			"Headphone Jack Front", "HPA1 HPRIGHT",
> > +			"HPA1 LEFTIN", "HPL",
> > +			"HPA1 RIGHTIN", "HPR";
> > +		simple-audio-card,aux-devs = <&hpa1>;
> > +
> > +		sound1_cpu: simple-audio-card,cpu {
> > +			sound-dai = <&sai2>;
> > +		};
> > +
> > +		sound1_codec: simple-audio-card,codec {
> > +			sound-dai = <&codec1>;
> 
> Codec1 here is too generic. Perpahs we can add real code name.

I agree that this might seem like thoughtless generic naming from the
outside, but actually it lines up pretty well with the naming used in
the schematics. I'm really reluctant to change the naming here, as any
change will inevitably make it harder to match up the DTS with the
schematics.

Regards,
Lucas

> > +			clocks = <&cs2000>;
> > +		};
> > +	};
> > +
> > +	sound2 {
> > +		compatible = "simple-audio-card";
> > +		simple-audio-card,name = "RMB3 audio back";
> > +		simple-audio-card,format = "i2s";
> > +		simple-audio-card,bitclock-master = <&sound2_codec>;
> > +		simple-audio-card,frame-master = <&sound2_codec>;
> > +		simple-audio-card,widgets =
> > +			"Headphone", "Headphone Jack Back";
> > +		simple-audio-card,routing =
> > +			"Headphone Jack Back", "HPA2 HPLEFT",
> > +			"Headphone Jack Back", "HPA2 HPRIGHT",
> > +			"HPA2 LEFTIN", "HPL",
> > +			"HPA2 RIGHTIN", "HPR";
> > +		simple-audio-card,aux-devs = <&hpa2>;
> > +
> > +		sound2_cpu: simple-audio-card,cpu {
> > +			sound-dai = <&sai3>;
> > +		};
> > +
> > +		sound2_codec: simple-audio-card,codec {
> > +			sound-dai = <&codec2>;
> Ditto.
> 
> > +			clocks = <&cs2000>;
> > +		};
> > +	};
> >  };
> >  
> >  &ecspi1 {
> > @@ -27,6 +77,23 @@
> >  	};
> >  };
> >  
> > +&i2c1 {
> > +	codec2: codec@18 {
> 
> Here we might go with something like: 
> 
> tlv320dac3100: codec@18
> 
> 
> > +		compatible = "ti,tlv320dac3100";
> > +		pinctrl-names = "default";
> > +		pinctrl-0 = <&pinctrl_codec2>;
> > +		reg = <0x18>;
> > +		#sound-dai-cells = <0>;
> > +		HPVDD-supply = <&reg_3p3v>;
> > +		SPRVDD-supply = <&reg_3p3v>;
> > +		SPLVDD-supply = <&reg_3p3v>;
> > +		AVDD-supply = <&reg_3p3v>;
> > +		IOVDD-supply = <&reg_3p3v>;
> > +		DVDD-supply = <&vgen4_reg>;
> > +		gpio-reset = <&gpio3 4 GPIO_ACTIVE_HIGH>;
> > +	};
> > +};
> > 
> 
> This is just a thought, naming is hard. But it should help with
> readability.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] arm64: dts: zii-ultra: add sound support
  2019-11-27 18:21 ` [PATCH 2/2] arm64: dts: zii-ultra: add sound support Lucas Stach
  2019-11-28 11:10   ` Daniel Baluta
@ 2019-12-09  7:48   ` Shawn Guo
  1 sibling, 0 replies; 7+ messages in thread
From: Shawn Guo @ 2019-12-09  7:48 UTC (permalink / raw)
  To: Lucas Stach
  Cc: Fabio Estevam, devicetree, linux-arm-kernel, NXP Linux Team,
	Rob Herring, kernel, patchwork-lst

On Wed, Nov 27, 2019 at 07:21:27PM +0100, Lucas Stach wrote:
> This adds all the necessary device nodes to get audio support on both the
> RMB3 and Zest boards.
> 
> Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
> ---
>  .../dts/freescale/imx8mq-zii-ultra-rmb3.dts   | 87 ++++++++++++++++
>  .../dts/freescale/imx8mq-zii-ultra-zest.dts   | 30 ++++++
>  .../boot/dts/freescale/imx8mq-zii-ultra.dtsi  | 98 +++++++++++++++++++
>  3 files changed, 215 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-rmb3.dts b/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-rmb3.dts
> index 6b3581366d67..d5e06885c683 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-rmb3.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-rmb3.dts
> @@ -10,6 +10,56 @@
>  / {
>  	model = "ZII Ultra RMB3 Board";
>  	compatible = "zii,imx8mq-ultra-rmb3", "zii,imx8mq-ultra", "fsl,imx8mq";
> +
> +	sound1 {
> +		compatible = "simple-audio-card";
> +		simple-audio-card,name = "RMB3 audio front";
> +		simple-audio-card,format = "i2s";
> +		simple-audio-card,bitclock-master = <&sound1_codec>;
> +		simple-audio-card,frame-master = <&sound1_codec>;
> +		simple-audio-card,widgets =
> +			"Headphone", "Headphone Jack Front";
> +		simple-audio-card,routing =
> +			"Headphone Jack Front", "HPA1 HPLEFT",
> +			"Headphone Jack Front", "HPA1 HPRIGHT",
> +			"HPA1 LEFTIN", "HPL",
> +			"HPA1 RIGHTIN", "HPR";
> +		simple-audio-card,aux-devs = <&hpa1>;
> +
> +		sound1_cpu: simple-audio-card,cpu {
> +			sound-dai = <&sai2>;
> +		};
> +
> +		sound1_codec: simple-audio-card,codec {
> +			sound-dai = <&codec1>;
> +			clocks = <&cs2000>;
> +		};
> +	};
> +
> +	sound2 {
> +		compatible = "simple-audio-card";
> +		simple-audio-card,name = "RMB3 audio back";
> +		simple-audio-card,format = "i2s";
> +		simple-audio-card,bitclock-master = <&sound2_codec>;
> +		simple-audio-card,frame-master = <&sound2_codec>;
> +		simple-audio-card,widgets =
> +			"Headphone", "Headphone Jack Back";
> +		simple-audio-card,routing =
> +			"Headphone Jack Back", "HPA2 HPLEFT",
> +			"Headphone Jack Back", "HPA2 HPRIGHT",
> +			"HPA2 LEFTIN", "HPL",
> +			"HPA2 RIGHTIN", "HPR";
> +		simple-audio-card,aux-devs = <&hpa2>;
> +
> +		sound2_cpu: simple-audio-card,cpu {
> +			sound-dai = <&sai3>;
> +		};
> +
> +		sound2_codec: simple-audio-card,codec {
> +			sound-dai = <&codec2>;
> +			clocks = <&cs2000>;
> +		};
> +	};
>  };
>  
>  &ecspi1 {
> @@ -27,6 +77,23 @@
>  	};
>  };
>  
> +&i2c1 {
> +	codec2: codec@18 {
> +		compatible = "ti,tlv320dac3100";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_codec2>;
> +		reg = <0x18>;
> +		#sound-dai-cells = <0>;
> +		HPVDD-supply = <&reg_3p3v>;
> +		SPRVDD-supply = <&reg_3p3v>;
> +		SPLVDD-supply = <&reg_3p3v>;
> +		AVDD-supply = <&reg_3p3v>;
> +		IOVDD-supply = <&reg_3p3v>;
> +		DVDD-supply = <&vgen4_reg>;
> +		gpio-reset = <&gpio3 4 GPIO_ACTIVE_HIGH>;

This property is deprecated.

Shawn

> +	};
> +};
> +
>  &i2c2 {
>  	temp-sense@48 {
>  		compatible = "national,lm75";
> @@ -79,11 +146,23 @@
>  	};
>  };
>  
> +&sai3 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_sai3>;
> +	status = "okay";
> +};
> +
>  &usbhub {
>  	swap-dx-lanes = <0>;
>  };
>  
>  &iomuxc {
> +	pinctrl_codec2: dac2grp {
> +		fsl,pins = <
> +			MX8MQ_IOMUXC_NAND_CE3_B_GPIO3_IO4		0x41
> +		>;
> +	};
> +
>  	pinctrl_ecspi1: ecspi1grp {
>  		fsl,pins = <
>  			MX8MQ_IOMUXC_ECSPI1_SS0_GPIO5_IO9	0x19
> @@ -92,4 +171,12 @@
>  			MX8MQ_IOMUXC_ECSPI1_MOSI_ECSPI1_MOSI	0x82
>  		>;
>  	};
> +
> +	pinctrl_sai3: sai3grp {
> +		fsl,pins = <
> +			MX8MQ_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC		0xd6
> +			MX8MQ_IOMUXC_SAI3_TXC_SAI3_TX_BCLK		0xd6
> +			MX8MQ_IOMUXC_SAI3_TXD_SAI3_TX_DATA0		0xd6
> +		>;
> +	};
>  };
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-zest.dts b/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-zest.dts
> index 173b9e9b2bbd..cf8cdc5935c6 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-zest.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-zest.dts
> @@ -10,6 +10,36 @@
>  / {
>  	model = "ZII Ultra Zest Board";
>  	compatible = "zii,imx8mq-ultra-zest", "zii,imx8mq-ultra", "fsl,imx8mq";
> +
> +	sound {
> +		compatible = "simple-audio-card";
> +		simple-audio-card,name = "Zest audio";
> +		simple-audio-card,format = "i2s";
> +		simple-audio-card,bitclock-master = <&sound_codec>;
> +		simple-audio-card,frame-master = <&sound_codec>;
> +		simple-audio-card,widgets =
> +			"Headphone", "Headphone Jack Front",
> +			"Headphone", "Headphone Jack Back";
> +		simple-audio-card,routing =
> +			"Headphone Jack Front", "HPA1 HPLEFT",
> +			"Headphone Jack Front", "HPA1 HPRIGHT",
> +			"Headphone Jack Back", "HPA2 HPLEFT",
> +			"Headphone Jack Back", "HPA2 HPRIGHT",
> +			"HPA1 LEFTIN", "HPL",
> +			"HPA1 RIGHTIN", "HPR",
> +			"HPA2 LEFTIN", "HPL",
> +			"HPA2 RIGHTIN", "HPR";
> +		simple-audio-card,aux-devs = <&hpa1>, <&hpa2>;
> +
> +		sound_cpu: simple-audio-card,cpu {
> +			sound-dai = <&sai2>;
> +		};
> +
> +		sound_codec: simple-audio-card,codec {
> +			sound-dai = <&codec1>;
> +			clocks = <&cs2000>;
> +		};
> +	};
>  };
>  
>  &i2c4 {
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra.dtsi b/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra.dtsi
> index 32ce14936b01..c6a57dfe3ea9 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mq-zii-ultra.dtsi
> @@ -68,6 +68,15 @@
>  		regulator-always-on;
>  	};
>  
> +	reg_3p3v: regulator-3p3v {
> +		compatible = "regulator-fixed";
> +		vin-supply = <&reg_3p3_main>;
> +		regulator-name = "GEN_3V3";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		regulator-always-on;
> +	};
> +
>  	reg_usdhc2_vmmc: regulator-vsd-3v3 {
>  		pinctrl-names = "default";
>  		pinctrl-0 = <&pinctrl_reg_usdhc2>;
> @@ -93,6 +102,18 @@
>  		           900000 0x0>;
>  		regulator-always-on;
>  	};
> +
> +	cs2000_ref: cs2000-ref {
> +		compatible = "fixed-clock";
> +		#clock-cells = <0>;
> +		clock-frequency = <24576000>;
> +	};
> +
> +	cs2000_in_dummy: cs2000-in-dummy {
> +		compatible = "fixed-clock";
> +		#clock-cells = <0>;
> +		clock-frequency = <0>;
> +	};
>  };
>  
>  &A53_0 {
> @@ -263,6 +284,16 @@
>  		             <18 IRQ_TYPE_EDGE_BOTH>;
>  		interrupt-names = "a_det", "alert";
>  	};
> +
> +	hpa2: amp@60 {
> +		compatible = "ti,tpa6130a2";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_tpa2>;
> +		reg = <0x60>;
> +		power-gpio = <&gpio1 8 GPIO_ACTIVE_HIGH>;
> +		Vdd-supply = <&reg_5p0_main>;
> +		sound-name-prefix = "HPA2";
> +	};
>  };
>  
>  &i2c2 {
> @@ -355,11 +386,36 @@
>  		};
>  	};
>  
> +	codec1: codec@18 {
> +		compatible = "ti,tlv320dac3100";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_codec1>;
> +		reg = <0x18>;
> +		#sound-dai-cells = <0>;
> +		HPVDD-supply = <&reg_3p3v>;
> +		SPRVDD-supply = <&reg_3p3v>;
> +		SPLVDD-supply = <&reg_3p3v>;
> +		AVDD-supply = <&reg_3p3v>;
> +		IOVDD-supply = <&reg_3p3v>;
> +		DVDD-supply = <&vgen4_reg>;
> +		reset-gpios = <&gpio3 3 GPIO_ACTIVE_LOW>;
> +	};
> +
>  	eeprom@54 {
>  		compatible = "atmel,24c128";
>  		reg = <0x54>;
>  	};
>  
> +	hpa1: amp@60 {
> +		compatible = "ti,tpa6130a2";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_tpa1>;
> +		reg = <0x60>;
> +		power-gpio = <&gpio4 10 GPIO_ACTIVE_HIGH>;
> +		Vdd-supply = <&reg_5p0_main>;
> +		sound-name-prefix = "HPA1";
> +	};
> +
>  	ds1341: rtc@68 {
>  		compatible = "dallas,ds1341";
>  		reg = <0x68>;
> @@ -379,6 +435,16 @@
>  		reg = <0x2c>;
>  		reset-gpios = <&gpio3 25 GPIO_ACTIVE_LOW>;
>  	};
> +
> +	cs2000: clkgen@4e {
> +		compatible = "cirrus,cs2000-cp";
> +		reg = <0x4e>;
> +		#clock-cells = <0>;
> +		clock-names = "clk_in", "ref_clk";
> +		clocks = <&cs2000_in_dummy>, <&cs2000_ref>;
> +		assigned-clocks = <&cs2000>;
> +		assigned-clock-rates = <24000000>;
> +	};
>  };
>  
>  &i2c4 {
> @@ -388,6 +454,12 @@
>  	status = "okay";
>  };
>  
> +&sai2 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_sai2>;
> +	status = "okay";
> +};
> +
>  &uart1 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&pinctrl_uart1>;
> @@ -513,6 +585,12 @@
>  };
>  
>  &iomuxc {
> +	pinctrl_codec1: dac1grp {
> +		fsl,pins = <
> +			MX8MQ_IOMUXC_NAND_CE2_B_GPIO3_IO3		0x41
> +		>;
> +	};
> +
>  	pinctrl_fec1: fec1grp {
>  		fsl,pins = <
>  			MX8MQ_IOMUXC_ENET_MDC_ENET1_MDC			0x3
> @@ -604,12 +682,32 @@
>  		>;
>  	};
>  
> +	pinctrl_sai2: sai2grp {
> +		fsl,pins = <
> +			MX8MQ_IOMUXC_SAI2_TXFS_SAI2_TX_SYNC		0xd6
> +			MX8MQ_IOMUXC_SAI2_TXC_SAI2_TX_BCLK		0xd6
> +			MX8MQ_IOMUXC_SAI2_TXD0_SAI2_TX_DATA0		0xd6
> +		>;
> +	};
> +
>  	pinctrl_switch_irq: switchgrp {
>  		fsl,pins = <
>  			MX8MQ_IOMUXC_GPIO1_IO15_GPIO1_IO15		0x41
>  		>;
>  	};
>  
> +	pinctrl_tpa1: tpa6130-1grp {
> +		fsl,pins = <
> +			MX8MQ_IOMUXC_SAI1_TXFS_GPIO4_IO10		0x41
> +		>;
> +	};
> +
> +	pinctrl_tpa2: tpa6130-2grp {
> +		fsl,pins = <
> +			MX8MQ_IOMUXC_GPIO1_IO08_GPIO1_IO8		0x41
> +		>;
> +	};
> +
>  	pinctrl_ts: tsgrp {
>  		fsl,pins = <
>  			MX8MQ_IOMUXC_GPIO1_IO11_GPIO1_IO11		0x96
> -- 
> 2.20.1
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] arm64: dts: imx8mq: add missing SAI nodes
  2019-11-27 18:21 [PATCH 1/2] arm64: dts: imx8mq: add missing SAI nodes Lucas Stach
  2019-11-27 18:21 ` [PATCH 2/2] arm64: dts: zii-ultra: add sound support Lucas Stach
  2019-11-28 11:46 ` [PATCH 1/2] arm64: dts: imx8mq: add missing SAI nodes Daniel Baluta
@ 2019-12-09  7:55 ` Shawn Guo
  2 siblings, 0 replies; 7+ messages in thread
From: Shawn Guo @ 2019-12-09  7:55 UTC (permalink / raw)
  To: Lucas Stach
  Cc: Fabio Estevam, devicetree, linux-arm-kernel, NXP Linux Team,
	Rob Herring, kernel, patchwork-lst

On Wed, Nov 27, 2019 at 07:21:26PM +0100, Lucas Stach wrote:
> Currently only SAI2 is present in the DT. Add all the other SAI
> instances present on the SoC.
> 
> Signed-off-by: Lucas Stach <l.stach@pengutronix.de>

Applied this one, thanks.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-12-09  7:56 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-27 18:21 [PATCH 1/2] arm64: dts: imx8mq: add missing SAI nodes Lucas Stach
2019-11-27 18:21 ` [PATCH 2/2] arm64: dts: zii-ultra: add sound support Lucas Stach
2019-11-28 11:10   ` Daniel Baluta
2019-11-28 16:35     ` Lucas Stach
2019-12-09  7:48   ` Shawn Guo
2019-11-28 11:46 ` [PATCH 1/2] arm64: dts: imx8mq: add missing SAI nodes Daniel Baluta
2019-12-09  7:55 ` Shawn Guo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).