* [PATCH V3 0/3] arm64: dts: imx8mn/imx8mm-beacon: Add HDMI
@ 2023-06-10 19:26 Adam Ford
0 siblings, 0 replies; 7+ messages in thread
From: Adam Ford @ 2023-06-10 19:26 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.
V3: Alphabetize regulator names.
Add register names for EDID and Packet
Add I2C address change for the camera since it
conflicted with the I2C address of the HDMI bridge.
V2: Make 'compatible' the first thing in the new nodes.
Adam Ford (3):
arm64: dts: imx8mn-beacon: Add HDMI video with sound
arm64: dts: imx8mm-beacon: Change camera I2C address
arm64: dts: imx8mm-beacon: Add HDMI video with sound
.../freescale/imx8mm-beacon-baseboard.dtsi | 4 +-
.../boot/dts/freescale/imx8mm-beacon-kit.dts | 131 +++++++++++++++++
.../boot/dts/freescale/imx8mn-beacon-kit.dts | 133 ++++++++++++++++++
3 files changed, 266 insertions(+), 2 deletions(-)
--
2.39.2
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH V3 0/3] arm64: dts: imx8mn/imx8mm-beacon: Add HDMI
@ 2023-06-15 21:53 Adam Ford
2023-06-15 21:53 ` [PATCH 1/3] arm64: dts: imx8mn-beacon: Add HDMI video with sound Adam Ford
` (4 more replies)
0 siblings, 5 replies; 7+ messages in thread
From: Adam Ford @ 2023-06-15 21:53 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.
V3: Alphabetize regulator names.
Add register names for EDID and Packet
Add I2C address change for the camera since it
conflicted with the I2C address of the HDMI bridge.
V2: Make 'compatible' the first thing in the new nodes.
Adam Ford (3):
arm64: dts: imx8mn-beacon: Add HDMI video with sound
arm64: dts: imx8mm-beacon: Change camera I2C address
arm64: dts: imx8mm-beacon: Add HDMI video with sound
.../freescale/imx8mm-beacon-baseboard.dtsi | 4 +-
.../boot/dts/freescale/imx8mm-beacon-kit.dts | 131 +++++++++++++++++
.../boot/dts/freescale/imx8mn-beacon-kit.dts | 133 ++++++++++++++++++
3 files changed, 266 insertions(+), 2 deletions(-)
--
2.39.2
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/3] arm64: dts: imx8mn-beacon: Add HDMI video with sound
2023-06-15 21:53 [PATCH V3 0/3] arm64: dts: imx8mn/imx8mm-beacon: Add HDMI Adam Ford
@ 2023-06-15 21:53 ` Adam Ford
2023-06-15 21:53 ` [PATCH 2/3] arm64: dts: imx8mm-beacon: Change camera I2C address Adam Ford
` (3 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Adam Ford @ 2023-06-15 21:53 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-plug detection.
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..442ff2960677 100644
--- a/arch/arm64/boot/dts/freescale/imx8mn-beacon-kit.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mn-beacon-kit.dts
@@ -16,4 +16,137 @@ / {
chosen {
stdout-path = &uart2;
};
+
+ connector {
+ compatible = "hdmi-connector";
+ type = "a";
+
+ port {
+ hdmi_connector_in: endpoint {
+ remote-endpoint = <&adv7535_out>;
+ };
+ };
+ };
+
+ reg_hdmi: regulator-hdmi-dvdd {
+ compatible = "regulator-fixed";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_reg_hdmi>;
+ 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 {
+ compatible = "adi,adv7535";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_hdmi_bridge>;
+ reg = <0x3d>, <0x3c>, <0x3e>, <0x3f>;
+ reg-names = "main", "cec", "edid", "packet";
+ adi,dsi-lanes = <4>;
+ avdd-supply = <®_hdmi>;
+ a2vdd-supply = <®_hdmi>;
+ dvdd-supply = <®_hdmi>;
+ pvdd-supply = <®_hdmi>;
+ v1p2-supply = <®_hdmi>;
+ v3p3-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] 7+ messages in thread
* [PATCH 2/3] arm64: dts: imx8mm-beacon: Change camera I2C address
2023-06-15 21:53 [PATCH V3 0/3] arm64: dts: imx8mn/imx8mm-beacon: Add HDMI Adam Ford
2023-06-15 21:53 ` [PATCH 1/3] arm64: dts: imx8mn-beacon: Add HDMI video with sound Adam Ford
@ 2023-06-15 21:53 ` Adam Ford
2023-06-15 21:53 ` [PATCH 3/3] arm64: dts: imx8mm-beacon: Add HDMI video with sound Adam Ford
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Adam Ford @ 2023-06-15 21:53 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 to HDMI bridge uses the address currently assigned to
the camera, so change the camera address to the alternative
address of 0x10 in preparation to enable the bridge.
Signed-off-by: Adam Ford <aford173@gmail.com>
diff --git a/arch/arm64/boot/dts/freescale/imx8mm-beacon-baseboard.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-beacon-baseboard.dtsi
index bc531175ff76..d5c6fc68d656 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm-beacon-baseboard.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mm-beacon-baseboard.dtsi
@@ -141,11 +141,11 @@ &i2c2 {
pinctrl-0 = <&pinctrl_i2c2>;
status = "okay";
- camera@3c {
+ camera@10 {
compatible = "ovti,ov5640";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ov5640>;
- reg = <0x3c>;
+ reg = <0x10>;
clocks = <&clk IMX8MM_CLK_CLKO1>;
clock-names = "xclk";
assigned-clocks = <&clk IMX8MM_CLK_CLKO1>;
--
2.39.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/3] arm64: dts: imx8mm-beacon: Add HDMI video with sound
2023-06-15 21:53 [PATCH V3 0/3] arm64: dts: imx8mn/imx8mm-beacon: Add HDMI Adam Ford
2023-06-15 21:53 ` [PATCH 1/3] arm64: dts: imx8mn-beacon: Add HDMI video with sound Adam Ford
2023-06-15 21:53 ` [PATCH 2/3] arm64: dts: imx8mm-beacon: Change camera I2C address Adam Ford
@ 2023-06-15 21:53 ` Adam Ford
2023-06-22 16:09 ` [PATCH V3 0/3] arm64: dts: imx8mn/imx8mm-beacon: Add HDMI Adam Ford
2023-07-18 1:27 ` Shawn Guo
4 siblings, 0 replies; 7+ messages in thread
From: Adam Ford @ 2023-06-15 21:53 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..66d68ce98ca4 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm-beacon-kit.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mm-beacon-kit.dts
@@ -16,4 +16,135 @@ / {
chosen {
stdout-path = &uart2;
};
+
+ connector {
+ compatible = "hdmi-connector";
+ type = "a";
+
+ port {
+ hdmi_connector_in: endpoint {
+ remote-endpoint = <&adv7535_out>;
+ };
+ };
+ };
+
+ reg_hdmi: regulator-hdmi-dvdd {
+ compatible = "regulator-fixed";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_reg_hdmi>;
+ 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 {
+ compatible = "adi,adv7535";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_hdmi_bridge>;
+ reg = <0x3d>, <0x3c>, <0x3e>, <0x3f>;
+ reg-names = "main", "cec", "edid", "packet";
+ adi,dsi-lanes = <4>;
+ avdd-supply = <®_hdmi>;
+ a2vdd-supply = <®_hdmi>;
+ dvdd-supply = <®_hdmi>;
+ pvdd-supply = <®_hdmi>;
+ v1p2-supply = <®_hdmi>;
+ v3p3-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] 7+ messages in thread
* Re: [PATCH V3 0/3] arm64: dts: imx8mn/imx8mm-beacon: Add HDMI
2023-06-15 21:53 [PATCH V3 0/3] arm64: dts: imx8mn/imx8mm-beacon: Add HDMI Adam Ford
` (2 preceding siblings ...)
2023-06-15 21:53 ` [PATCH 3/3] arm64: dts: imx8mm-beacon: Add HDMI video with sound Adam Ford
@ 2023-06-22 16:09 ` Adam Ford
2023-07-18 1:27 ` Shawn Guo
4 siblings, 0 replies; 7+ messages in thread
From: Adam Ford @ 2023-06-22 16:09 UTC (permalink / raw)
To: linux-arm-kernel
Cc: aford, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
NXP Linux Team, devicetree, linux-kernel
On Thu, Jun 15, 2023 at 4:53 PM Adam Ford <aford173@gmail.com> wrote:
>
> 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.
>
>
Shawn,
Is it too late to get this series into the 6.5 merge window?
adam
> V3: Alphabetize regulator names.
> Add register names for EDID and Packet
> Add I2C address change for the camera since it
> conflicted with the I2C address of the HDMI bridge.
>
> V2: Make 'compatible' the first thing in the new nodes.
>
> Adam Ford (3):
> arm64: dts: imx8mn-beacon: Add HDMI video with sound
> arm64: dts: imx8mm-beacon: Change camera I2C address
> arm64: dts: imx8mm-beacon: Add HDMI video with sound
>
> .../freescale/imx8mm-beacon-baseboard.dtsi | 4 +-
> .../boot/dts/freescale/imx8mm-beacon-kit.dts | 131 +++++++++++++++++
> .../boot/dts/freescale/imx8mn-beacon-kit.dts | 133 ++++++++++++++++++
> 3 files changed, 266 insertions(+), 2 deletions(-)
>
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH V3 0/3] arm64: dts: imx8mn/imx8mm-beacon: Add HDMI
2023-06-15 21:53 [PATCH V3 0/3] arm64: dts: imx8mn/imx8mm-beacon: Add HDMI Adam Ford
` (3 preceding siblings ...)
2023-06-22 16:09 ` [PATCH V3 0/3] arm64: dts: imx8mn/imx8mm-beacon: Add HDMI Adam Ford
@ 2023-07-18 1:27 ` Shawn Guo
4 siblings, 0 replies; 7+ messages in thread
From: Shawn Guo @ 2023-07-18 1:27 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 Thu, Jun 15, 2023 at 04:53:10PM -0500, Adam Ford wrote:
> 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.
>
>
> V3: Alphabetize regulator names.
> Add register names for EDID and Packet
> Add I2C address change for the camera since it
> conflicted with the I2C address of the HDMI bridge.
>
> V2: Make 'compatible' the first thing in the new nodes.
>
> Adam Ford (3):
> arm64: dts: imx8mn-beacon: Add HDMI video with sound
> arm64: dts: imx8mm-beacon: Change camera I2C address
> arm64: dts: imx8mm-beacon: Add HDMI video with sound
Applied all, thanks!
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2023-07-18 1:28 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-15 21:53 [PATCH V3 0/3] arm64: dts: imx8mn/imx8mm-beacon: Add HDMI Adam Ford
2023-06-15 21:53 ` [PATCH 1/3] arm64: dts: imx8mn-beacon: Add HDMI video with sound Adam Ford
2023-06-15 21:53 ` [PATCH 2/3] arm64: dts: imx8mm-beacon: Change camera I2C address Adam Ford
2023-06-15 21:53 ` [PATCH 3/3] arm64: dts: imx8mm-beacon: Add HDMI video with sound Adam Ford
2023-06-22 16:09 ` [PATCH V3 0/3] arm64: dts: imx8mn/imx8mm-beacon: Add HDMI Adam Ford
2023-07-18 1:27 ` Shawn Guo
-- strict thread matches above, loose matches on Subject: below --
2023-06-10 19:26 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).