* [PATCH 0/2] arm64: dts: imx8mn/imx8mm-beacon: Add HDMI @ 2023-06-01 3:15 Adam Ford 2023-06-01 3:15 ` [PATCH 1/2] arm64: dts: imx8mn-beacon: Add HDMI video with sound Adam Ford 2023-06-01 3:15 ` [PATCH 2/2] arm64: dts: imx8mm-beacon: " Adam Ford 0 siblings, 2 replies; 4+ messages in thread From: Adam Ford @ 2023-06-01 3:15 UTC (permalink / raw) To: linux-arm-kernel Cc: aford, Adam Ford, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team, devicetree, linux-kernel The DSI updates are in the DRM tree and Linux next with some updates that now allow the DSI to connect to an HDMI bridge and successfully sync displays at various resolutions and refresh rates. Adam Ford (2): arm64: dts: imx8mn-beacon: Add HDMI video with sound arm64: dts: imx8mm-beacon: Add HDMI video with sound .../boot/dts/freescale/imx8mm-beacon-kit.dts | 132 +++++++++++++++++ .../boot/dts/freescale/imx8mn-beacon-kit.dts | 134 ++++++++++++++++++ 2 files changed, 266 insertions(+) -- 2.39.2 ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/2] arm64: dts: imx8mn-beacon: Add HDMI video with sound 2023-06-01 3:15 [PATCH 0/2] arm64: dts: imx8mn/imx8mm-beacon: Add HDMI Adam Ford @ 2023-06-01 3:15 ` Adam Ford 2023-06-05 0:17 ` Shawn Guo 2023-06-01 3:15 ` [PATCH 2/2] arm64: dts: imx8mm-beacon: " Adam Ford 1 sibling, 1 reply; 4+ messages in thread From: Adam Ford @ 2023-06-01 3:15 UTC (permalink / raw) To: linux-arm-kernel Cc: aford, Adam Ford, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team, devicetree, linux-kernel The Beacon Embedded imx8mn development kit has a DSI to HDMI bridge chip. The bridge supports stereo audio and hot-plugging. Signed-off-by: Adam Ford <aford173@gmail.com> diff --git a/arch/arm64/boot/dts/freescale/imx8mn-beacon-kit.dts b/arch/arm64/boot/dts/freescale/imx8mn-beacon-kit.dts index 1392ce02587b..3758c46c7162 100644 --- a/arch/arm64/boot/dts/freescale/imx8mn-beacon-kit.dts +++ b/arch/arm64/boot/dts/freescale/imx8mn-beacon-kit.dts @@ -16,4 +16,138 @@ / { chosen { stdout-path = &uart2; }; + + connector { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_connector_in: endpoint { + remote-endpoint = <&adv7535_out>; + }; + }; + }; + + reg_hdmi: regulator-hdmi-dvdd { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_reg_hdmi>; + compatible = "regulator-fixed"; + regulator-name = "hdmi_pwr_en"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&gpio2 11 GPIO_ACTIVE_HIGH>; + enable-active-high; + startup-delay-us = <70000>; + regulator-always-on; + }; + + sound-hdmi { + compatible = "simple-audio-card"; + simple-audio-card,name = "sound-hdmi"; + simple-audio-card,format = "i2s"; + + simple-audio-card,cpu { + sound-dai = <&sai5 0>; + system-clock-direction-out; + }; + + simple-audio-card,codec { + sound-dai = <&adv_bridge>; + }; + }; +}; + +&i2c2 { + adv_bridge: hdmi@3d { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_hdmi_bridge>; + compatible = "adi,adv7535"; + reg = <0x3d>, <0x3b>; + reg-names = "main", "cec"; + adi,dsi-lanes = <4>; + adi,fixed-lanes; + dvdd-supply = <®_hdmi>; + v3p3-supply = <®_hdmi>; + v1p2-supply = <®_hdmi>; + a2vdd-supply = <®_hdmi>; + avdd-supply = <®_hdmi>; + pvdd-supply = <®_hdmi>; + interrupt-parent = <&gpio1>; + interrupts = <9 IRQ_TYPE_LEVEL_LOW>; + #sound-dai-cells = <0>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + adv7535_in: endpoint { + remote-endpoint = <&dsi_out>; + }; + }; + + port@1 { + reg = <1>; + + adv7535_out: endpoint { + remote-endpoint = <&hdmi_connector_in>; + }; + }; + }; + }; +}; + +&lcdif { + assigned-clocks = <&clk IMX8MN_VIDEO_PLL1>; + assigned-clock-rates = <594000000>; + status = "okay"; +}; + +&mipi_dsi { + samsung,esc-clock-frequency = <20000000>; + status = "okay"; + + ports { + port@1 { + reg = <1>; + + dsi_out: endpoint { + remote-endpoint = <&adv7535_in>; + }; + }; + }; +}; + +&sai5 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sai5>; + assigned-clocks = <&clk IMX8MN_CLK_SAI5>; + assigned-clock-parents = <&clk IMX8MN_AUDIO_PLL1_OUT>; + assigned-clock-rates = <24576000>; + #sound-dai-cells = <0>; + status = "okay"; +}; + +&iomuxc { + pinctrl_hdmi_bridge: hdmibridgegrp { + fsl,pins = < + MX8MN_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x19 + >; + }; + + pinctrl_reg_hdmi: reghdmigrp { + fsl,pins = < + MX8MN_IOMUXC_SD1_STROBE_GPIO2_IO11 0x16 + >; + }; + + pinctrl_sai5: sai5grp { + fsl,pins = < + MX8MN_IOMUXC_SAI5_RXD3_SAI5_TX_DATA0 0xd6 + MX8MN_IOMUXC_SAI5_RXD2_SAI5_TX_BCLK 0xd6 + MX8MN_IOMUXC_SAI5_RXD1_SAI5_TX_SYNC 0xd6 + >; + }; }; -- 2.39.2 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] arm64: dts: imx8mn-beacon: Add HDMI video with sound 2023-06-01 3:15 ` [PATCH 1/2] arm64: dts: imx8mn-beacon: Add HDMI video with sound Adam Ford @ 2023-06-05 0:17 ` Shawn Guo 0 siblings, 0 replies; 4+ messages in thread From: Shawn Guo @ 2023-06-05 0:17 UTC (permalink / raw) To: Adam Ford Cc: linux-arm-kernel, aford, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team, devicetree, linux-kernel On Wed, May 31, 2023 at 10:15:25PM -0500, Adam Ford wrote: > The Beacon Embedded imx8mn development kit has a DSI > to HDMI bridge chip. The bridge supports stereo audio > and hot-plugging. > > Signed-off-by: Adam Ford <aford173@gmail.com> > > diff --git a/arch/arm64/boot/dts/freescale/imx8mn-beacon-kit.dts b/arch/arm64/boot/dts/freescale/imx8mn-beacon-kit.dts > index 1392ce02587b..3758c46c7162 100644 > --- a/arch/arm64/boot/dts/freescale/imx8mn-beacon-kit.dts > +++ b/arch/arm64/boot/dts/freescale/imx8mn-beacon-kit.dts > @@ -16,4 +16,138 @@ / { > chosen { > stdout-path = &uart2; > }; > + > + connector { > + compatible = "hdmi-connector"; > + type = "a"; > + > + port { > + hdmi_connector_in: endpoint { > + remote-endpoint = <&adv7535_out>; > + }; > + }; > + }; > + > + reg_hdmi: regulator-hdmi-dvdd { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_reg_hdmi>; > + compatible = "regulator-fixed"; Can we start properties from 'compatible'? > + regulator-name = "hdmi_pwr_en"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + gpio = <&gpio2 11 GPIO_ACTIVE_HIGH>; > + enable-active-high; > + startup-delay-us = <70000>; > + regulator-always-on; > + }; > + > + sound-hdmi { > + compatible = "simple-audio-card"; > + simple-audio-card,name = "sound-hdmi"; > + simple-audio-card,format = "i2s"; > + > + simple-audio-card,cpu { > + sound-dai = <&sai5 0>; > + system-clock-direction-out; > + }; > + > + simple-audio-card,codec { > + sound-dai = <&adv_bridge>; > + }; > + }; > +}; > + > +&i2c2 { > + adv_bridge: hdmi@3d { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_hdmi_bridge>; > + compatible = "adi,adv7535"; Same here. Shawn > + reg = <0x3d>, <0x3b>; > + reg-names = "main", "cec"; > + adi,dsi-lanes = <4>; > + adi,fixed-lanes; > + dvdd-supply = <®_hdmi>; > + v3p3-supply = <®_hdmi>; > + v1p2-supply = <®_hdmi>; > + a2vdd-supply = <®_hdmi>; > + avdd-supply = <®_hdmi>; > + pvdd-supply = <®_hdmi>; > + interrupt-parent = <&gpio1>; > + interrupts = <9 IRQ_TYPE_LEVEL_LOW>; > + #sound-dai-cells = <0>; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + > + adv7535_in: endpoint { > + remote-endpoint = <&dsi_out>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + > + adv7535_out: endpoint { > + remote-endpoint = <&hdmi_connector_in>; > + }; > + }; > + }; > + }; > +}; > + > +&lcdif { > + assigned-clocks = <&clk IMX8MN_VIDEO_PLL1>; > + assigned-clock-rates = <594000000>; > + status = "okay"; > +}; > + > +&mipi_dsi { > + samsung,esc-clock-frequency = <20000000>; > + status = "okay"; > + > + ports { > + port@1 { > + reg = <1>; > + > + dsi_out: endpoint { > + remote-endpoint = <&adv7535_in>; > + }; > + }; > + }; > +}; > + > +&sai5 { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_sai5>; > + assigned-clocks = <&clk IMX8MN_CLK_SAI5>; > + assigned-clock-parents = <&clk IMX8MN_AUDIO_PLL1_OUT>; > + assigned-clock-rates = <24576000>; > + #sound-dai-cells = <0>; > + status = "okay"; > +}; > + > +&iomuxc { > + pinctrl_hdmi_bridge: hdmibridgegrp { > + fsl,pins = < > + MX8MN_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x19 > + >; > + }; > + > + pinctrl_reg_hdmi: reghdmigrp { > + fsl,pins = < > + MX8MN_IOMUXC_SD1_STROBE_GPIO2_IO11 0x16 > + >; > + }; > + > + pinctrl_sai5: sai5grp { > + fsl,pins = < > + MX8MN_IOMUXC_SAI5_RXD3_SAI5_TX_DATA0 0xd6 > + MX8MN_IOMUXC_SAI5_RXD2_SAI5_TX_BCLK 0xd6 > + MX8MN_IOMUXC_SAI5_RXD1_SAI5_TX_SYNC 0xd6 > + >; > + }; > }; > -- > 2.39.2 > ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 2/2] arm64: dts: imx8mm-beacon: Add HDMI video with sound 2023-06-01 3:15 [PATCH 0/2] arm64: dts: imx8mn/imx8mm-beacon: Add HDMI Adam Ford 2023-06-01 3:15 ` [PATCH 1/2] arm64: dts: imx8mn-beacon: Add HDMI video with sound Adam Ford @ 2023-06-01 3:15 ` Adam Ford 1 sibling, 0 replies; 4+ messages in thread From: Adam Ford @ 2023-06-01 3:15 UTC (permalink / raw) To: linux-arm-kernel Cc: aford, Adam Ford, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team, devicetree, linux-kernel The Beacon Embedded imx8mm development kit has a DSI to HDMI bridge chip. The bridge supports stereo audio and hot-plugging. Signed-off-by: Adam Ford <aford173@gmail.com> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-beacon-kit.dts b/arch/arm64/boot/dts/freescale/imx8mm-beacon-kit.dts index 74a7b0cc10c2..4454bc1b6b9a 100644 --- a/arch/arm64/boot/dts/freescale/imx8mm-beacon-kit.dts +++ b/arch/arm64/boot/dts/freescale/imx8mm-beacon-kit.dts @@ -16,4 +16,136 @@ / { chosen { stdout-path = &uart2; }; + + connector { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_connector_in: endpoint { + remote-endpoint = <&adv7535_out>; + }; + }; + }; + + reg_hdmi: regulator-hdmi-dvdd { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_reg_hdmi>; + compatible = "regulator-fixed"; + regulator-name = "hdmi_pwr_en"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&gpio2 11 GPIO_ACTIVE_HIGH>; + enable-active-high; + startup-delay-us = <70000>; + regulator-always-on; + }; + + sound-hdmi { + compatible = "simple-audio-card"; + simple-audio-card,name = "sound-hdmi"; + simple-audio-card,format = "i2s"; + + simple-audio-card,cpu { + sound-dai = <&sai5 0>; + system-clock-direction-out; + }; + + simple-audio-card,codec { + sound-dai = <&adv_bridge>; + }; + }; +}; + +&i2c2 { + adv_bridge: hdmi@3d { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_hdmi_bridge>; + compatible = "adi,adv7535"; + reg = <0x3d>, <0x3b>; + reg-names = "main", "cec"; + adi,dsi-lanes = <4>; + adi,fixed-lanes; + dvdd-supply = <®_hdmi>; + v3p3-supply = <®_hdmi>; + v1p2-supply = <®_hdmi>; + a2vdd-supply = <®_hdmi>; + avdd-supply = <®_hdmi>; + pvdd-supply = <®_hdmi>; + interrupt-parent = <&gpio1>; + interrupts = <9 IRQ_TYPE_LEVEL_LOW>; + #sound-dai-cells = <0>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + adv7535_in: endpoint { + remote-endpoint = <&dsi_out>; + }; + }; + + port@1 { + reg = <1>; + + adv7535_out: endpoint { + remote-endpoint = <&hdmi_connector_in>; + }; + }; + }; + }; +}; + +&lcdif { + status = "okay"; +}; + +&mipi_dsi { + samsung,esc-clock-frequency = <20000000>; + status = "okay"; + + ports { + port@1 { + reg = <1>; + + dsi_out: endpoint { + remote-endpoint = <&adv7535_in>; + }; + }; + }; +}; + +&sai5 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sai5>; + assigned-clocks = <&clk IMX8MM_CLK_SAI5>; + assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>; + assigned-clock-rates = <24576000>; + #sound-dai-cells = <0>; + status = "okay"; +}; + +&iomuxc { + pinctrl_hdmi_bridge: hdmibridgegrp { + fsl,pins = < + MX8MM_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x19 + >; + }; + + pinctrl_reg_hdmi: reghdmigrp { + fsl,pins = < + MX8MM_IOMUXC_SD1_STROBE_GPIO2_IO11 0x16 + >; + }; + + pinctrl_sai5: sai5grp { + fsl,pins = < + MX8MM_IOMUXC_SAI5_RXD3_SAI5_TX_DATA0 0xd6 + MX8MM_IOMUXC_SAI5_RXD2_SAI5_TX_BCLK 0xd6 + MX8MM_IOMUXC_SAI5_RXD1_SAI5_TX_SYNC 0xd6 + >; + }; }; -- 2.39.2 ^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-06-05 0:17 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-06-01 3:15 [PATCH 0/2] arm64: dts: imx8mn/imx8mm-beacon: Add HDMI Adam Ford 2023-06-01 3:15 ` [PATCH 1/2] arm64: dts: imx8mn-beacon: Add HDMI video with sound Adam Ford 2023-06-05 0:17 ` Shawn Guo 2023-06-01 3:15 ` [PATCH 2/2] arm64: dts: imx8mm-beacon: " Adam Ford
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).