* [PATCH] arm64: dts: imx8mp: Add TC9595 bridge on DH electronics i.MX8M Plus DHCOM
@ 2023-05-15 16:24 Marek Vasut
2023-05-23 11:17 ` Alexander Stein
` (2 more replies)
0 siblings, 3 replies; 11+ messages in thread
From: Marek Vasut @ 2023-05-15 16:24 UTC (permalink / raw)
To: linux-arm-kernel
Cc: Marek Vasut, Conor Dooley, Fabio Estevam, Krzysztof Kozlowski,
NXP Linux Team, Pengutronix Kernel Team, Rob Herring,
Sascha Hauer, Shawn Guo, devicetree
Add TC9595 DSI-to-DPI and DSI-to-(e)DP bridge to
DH electronics i.MX8M Plus DHCOM SoM . The bridge
is populated on the SoM, but disabled by default
unless used for display output.
Signed-off-by: Marek Vasut <marex@denx.de>
---
Cc: Conor Dooley <conor+dt@kernel.org>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: devicetree@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
---
.../boot/dts/freescale/imx8mp-dhcom-som.dtsi | 55 +++++++++++++++++++
1 file changed, 55 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-dhcom-som.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-dhcom-som.dtsi
index 98a11c31d7d45..9c0cb75386e36 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-dhcom-som.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp-dhcom-som.dtsi
@@ -240,6 +240,36 @@ &i2c3 {
sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
status = "okay";
+ tc_bridge: bridge@f {
+ compatible = "toshiba,tc9595", "toshiba,tc358767";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_tc9595>;
+ reg = <0xf>;
+ clock-names = "ref";
+ clocks = <&clk IMX8MP_CLK_CLKOUT2>;
+ assigned-clocks = <&clk IMX8MP_CLK_CLKOUT2_SEL>,
+ <&clk IMX8MP_CLK_CLKOUT2>,
+ <&clk IMX8MP_AUDIO_PLL2_OUT>;
+ assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL2_OUT>;
+ assigned-clock-rates = <13000000>, <13000000>, <156000000>;
+ reset-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
+ status = "disabled";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ tc_bridge_in: endpoint {
+ data-lanes = <1 2 3 4>;
+ remote-endpoint = <&dsi_out>;
+ };
+ };
+ };
+ };
+
pmic: pmic@25 {
compatible = "nxp,pca9450c";
reg = <0x25>;
@@ -406,6 +436,22 @@ &i2c5 { /* HDMI EDID bus */
status = "okay";
};
+&mipi_dsi {
+ samsung,burst-clock-frequency = <160000000>;
+ samsung,esc-clock-frequency = <10000000>;
+
+ ports {
+ port@1 {
+ reg = <1>;
+
+ dsi_out: endpoint {
+ data-lanes = <1 2 3 4>;
+ remote-endpoint = <&tc_bridge_in>;
+ };
+ };
+ };
+};
+
&pwm1 {
pinctrl-0 = <&pinctrl_pwm1>;
pinctrl-names = "default";
@@ -880,6 +926,15 @@ MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00 0xd6
>;
};
+ pinctrl_tc9595: dhcom-tc9595-grp {
+ fsl,pins = <
+ /* RESET_DSIBRIDGE */
+ MX8MP_IOMUXC_SAI1_RXC__GPIO4_IO01 0x40000146
+ /* DSI-CONV_INT Interrupt */
+ MX8MP_IOMUXC_SAI5_RXD0__GPIO3_IO21 0x141
+ >;
+ };
+
pinctrl_touch: dhcom-touch-grp {
fsl,pins = <
/* #TOUCH_INT */
--
2.39.2
^ permalink raw reply related [flat|nested] 11+ messages in thread* Re: [PATCH] arm64: dts: imx8mp: Add TC9595 bridge on DH electronics i.MX8M Plus DHCOM 2023-05-15 16:24 [PATCH] arm64: dts: imx8mp: Add TC9595 bridge on DH electronics i.MX8M Plus DHCOM Marek Vasut @ 2023-05-23 11:17 ` Alexander Stein 2023-05-23 13:10 ` Marek Vasut 2023-05-27 8:35 ` Shawn Guo 2023-05-27 10:47 ` Shawn Guo 2 siblings, 1 reply; 11+ messages in thread From: Alexander Stein @ 2023-05-23 11:17 UTC (permalink / raw) To: Marek Vasut Cc: linux-arm-kernel, Conor Dooley, Fabio Estevam, Krzysztof Kozlowski, NXP Linux Team, Pengutronix Kernel Team, Rob Herring, Sascha Hauer, Shawn Guo, devicetree, Marek Vasut Hello Marek, Am Montag, 15. Mai 2023, 18:24:24 CEST schrieb Marek Vasut: > Add TC9595 DSI-to-DPI and DSI-to-(e)DP bridge to > DH electronics i.MX8M Plus DHCOM SoM . The bridge > is populated on the SoM, but disabled by default > unless used for display output. > > Signed-off-by: Marek Vasut <marex@denx.de> Were you actually able to access the display? E.g. reading DPCD via AUX channel? Best regards, Alexander > --- > Cc: Conor Dooley <conor+dt@kernel.org> > Cc: Fabio Estevam <festevam@gmail.com> > Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> > Cc: NXP Linux Team <linux-imx@nxp.com> > Cc: Pengutronix Kernel Team <kernel@pengutronix.de> > Cc: Rob Herring <robh+dt@kernel.org> > Cc: Sascha Hauer <s.hauer@pengutronix.de> > Cc: Shawn Guo <shawnguo@kernel.org> > Cc: devicetree@vger.kernel.org > Cc: linux-arm-kernel@lists.infradead.org > --- > .../boot/dts/freescale/imx8mp-dhcom-som.dtsi | 55 +++++++++++++++++++ > 1 file changed, 55 insertions(+) > > diff --git a/arch/arm64/boot/dts/freescale/imx8mp-dhcom-som.dtsi > b/arch/arm64/boot/dts/freescale/imx8mp-dhcom-som.dtsi index > 98a11c31d7d45..9c0cb75386e36 100644 > --- a/arch/arm64/boot/dts/freescale/imx8mp-dhcom-som.dtsi > +++ b/arch/arm64/boot/dts/freescale/imx8mp-dhcom-som.dtsi > @@ -240,6 +240,36 @@ &i2c3 { > sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; > status = "okay"; > > + tc_bridge: bridge@f { > + compatible = "toshiba,tc9595", "toshiba,tc358767"; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_tc9595>; > + reg = <0xf>; > + clock-names = "ref"; > + clocks = <&clk IMX8MP_CLK_CLKOUT2>; > + assigned-clocks = <&clk IMX8MP_CLK_CLKOUT2_SEL>, > + <&clk IMX8MP_CLK_CLKOUT2>, > + <&clk IMX8MP_AUDIO_PLL2_OUT>; > + assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL2_OUT>; > + assigned-clock-rates = <13000000>, <13000000>, <156000000>; > + reset-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>; > + status = "disabled"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + > + tc_bridge_in: endpoint { > + data-lanes = <1 2 3 4>; > + remote-endpoint = <&dsi_out>; > + }; > + }; > + }; > + }; > + > pmic: pmic@25 { > compatible = "nxp,pca9450c"; > reg = <0x25>; > @@ -406,6 +436,22 @@ &i2c5 { /* HDMI EDID bus */ > status = "okay"; > }; > > +&mipi_dsi { > + samsung,burst-clock-frequency = <160000000>; > + samsung,esc-clock-frequency = <10000000>; > + > + ports { > + port@1 { > + reg = <1>; > + > + dsi_out: endpoint { > + data-lanes = <1 2 3 4>; > + remote-endpoint = <&tc_bridge_in>; > + }; > + }; > + }; > +}; > + > &pwm1 { > pinctrl-0 = <&pinctrl_pwm1>; > pinctrl-names = "default"; > @@ -880,6 +926,15 @@ MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00 0xd6 > > >; > > }; > > + pinctrl_tc9595: dhcom-tc9595-grp { > + fsl,pins = < > + /* RESET_DSIBRIDGE */ > + MX8MP_IOMUXC_SAI1_RXC__GPIO4_IO01 0x40000146 > + /* DSI-CONV_INT Interrupt */ > + MX8MP_IOMUXC_SAI5_RXD0__GPIO3_IO21 0x141 > + >; > + }; > + > pinctrl_touch: dhcom-touch-grp { > fsl,pins = < > /* #TOUCH_INT */ -- TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany Amtsgericht München, HRB 105018 Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider http://www.tq-group.com/ ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] arm64: dts: imx8mp: Add TC9595 bridge on DH electronics i.MX8M Plus DHCOM 2023-05-23 11:17 ` Alexander Stein @ 2023-05-23 13:10 ` Marek Vasut 2023-05-24 6:49 ` Alexander Stein 0 siblings, 1 reply; 11+ messages in thread From: Marek Vasut @ 2023-05-23 13:10 UTC (permalink / raw) To: Alexander Stein Cc: linux-arm-kernel, Conor Dooley, Fabio Estevam, Krzysztof Kozlowski, NXP Linux Team, Pengutronix Kernel Team, Rob Herring, Sascha Hauer, Shawn Guo, devicetree On 5/23/23 13:17, Alexander Stein wrote: > Hello Marek, Hi, > Am Montag, 15. Mai 2023, 18:24:24 CEST schrieb Marek Vasut: >> Add TC9595 DSI-to-DPI and DSI-to-(e)DP bridge to >> DH electronics i.MX8M Plus DHCOM SoM . The bridge >> is populated on the SoM, but disabled by default >> unless used for display output. >> >> Signed-off-by: Marek Vasut <marex@denx.de> > > Were you actually able to access the display? E.g. reading DPCD via AUX > channel? I only tried the full display port (the one with large plug) on the TC evaluation kit, there I could use the aux channel. Are you testing this bridge and running into issues ? Details please ? ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] arm64: dts: imx8mp: Add TC9595 bridge on DH electronics i.MX8M Plus DHCOM 2023-05-23 13:10 ` Marek Vasut @ 2023-05-24 6:49 ` Alexander Stein 2023-05-24 9:28 ` Marek Vasut 0 siblings, 1 reply; 11+ messages in thread From: Alexander Stein @ 2023-05-24 6:49 UTC (permalink / raw) To: Marek Vasut Cc: linux-arm-kernel, Conor Dooley, Fabio Estevam, Krzysztof Kozlowski, NXP Linux Team, Pengutronix Kernel Team, Rob Herring, Sascha Hauer, Shawn Guo, devicetree Hi Marek, Am Dienstag, 23. Mai 2023, 15:10:05 CEST schrieb Marek Vasut: > On 5/23/23 13:17, Alexander Stein wrote: > > Hello Marek, > > Hi, > > > Am Montag, 15. Mai 2023, 18:24:24 CEST schrieb Marek Vasut: > >> Add TC9595 DSI-to-DPI and DSI-to-(e)DP bridge to > >> DH electronics i.MX8M Plus DHCOM SoM . The bridge > >> is populated on the SoM, but disabled by default > >> unless used for display output. > >> > >> Signed-off-by: Marek Vasut <marex@denx.de> > > > > Were you actually able to access the display? E.g. reading DPCD via AUX > > channel? > > I only tried the full display port (the one with large plug) on the TC > evaluation kit, there I could use the aux channel. Are you testing this > bridge and running into issues ? Details please ? Which SoC is this evaluation kit based on? Yes, I'm trying to test this bridge on imx8mp based board. AFAICS I run into a timeout during drm connector .get_modes call, see kernel log below. > samsung-dsim 32e60000.dsi: [drm:samsung_dsim_host_attach [samsung_dsim]] Attached tc358767 device > tc358767 1-000f: failed to read DPCD: -110 > tc358767 1-000f: failed to read display props: -110 Looking at the AUX_CH+/- signals, I can see the native aux request and the (presumable) correct answer (DP_DPCD_REV register) from the display. But for some reason the bridge runs into a aux timeout. I can see in the DP0_AUXSTATUS register the bus gets busy (0x1) after starting transfer. But after the tc_aux_wait_busy() call DP0_AUXSTATUS his indicating a timeout and sync error (0x310002). When changing the "Aux Bit Period Calculator Threshold" to 5 (register AUXCFG1), the sync error is gone, but the timeout still happens. The frequency used from the display is ~1MHz, which should be okay. So on the electrical side all seems okay, but the native aux transfer don't work. Any ideas? Best regards, Alexander -- TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany Amtsgericht München, HRB 105018 Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider http://www.tq-group.com/ ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] arm64: dts: imx8mp: Add TC9595 bridge on DH electronics i.MX8M Plus DHCOM 2023-05-24 6:49 ` Alexander Stein @ 2023-05-24 9:28 ` Marek Vasut 2023-05-24 10:24 ` Alexander Stein 0 siblings, 1 reply; 11+ messages in thread From: Marek Vasut @ 2023-05-24 9:28 UTC (permalink / raw) To: Alexander Stein Cc: linux-arm-kernel, Conor Dooley, Fabio Estevam, Krzysztof Kozlowski, NXP Linux Team, Pengutronix Kernel Team, Rob Herring, Sascha Hauer, Shawn Guo, devicetree On 5/24/23 08:49, Alexander Stein wrote: > Hi Marek, Hi, > Am Dienstag, 23. Mai 2023, 15:10:05 CEST schrieb Marek Vasut: >> On 5/23/23 13:17, Alexander Stein wrote: >>> Hello Marek, >> >> Hi, >> >>> Am Montag, 15. Mai 2023, 18:24:24 CEST schrieb Marek Vasut: >>>> Add TC9595 DSI-to-DPI and DSI-to-(e)DP bridge to >>>> DH electronics i.MX8M Plus DHCOM SoM . The bridge >>>> is populated on the SoM, but disabled by default >>>> unless used for display output. >>>> >>>> Signed-off-by: Marek Vasut <marex@denx.de> >>> >>> Were you actually able to access the display? E.g. reading DPCD via AUX >>> channel? >> >> I only tried the full display port (the one with large plug) on the TC >> evaluation kit, there I could use the aux channel. Are you testing this >> bridge and running into issues ? Details please ? > > Which SoC is this evaluation kit based on? There is no SoC attached to it, it's just a breakout board for the bridge chip. You can attach it via DSI to whichever SoC you want. So far I tried STM32MP15xx and i.MX8MP. > Yes, I'm trying to test this bridge on imx8mp based board. > > AFAICS I run into a timeout during drm connector .get_modes call, see kernel > log below. > >> samsung-dsim 32e60000.dsi: [drm:samsung_dsim_host_attach [samsung_dsim]] > Attached tc358767 device >> tc358767 1-000f: failed to read DPCD: -110 >> tc358767 1-000f: failed to read display props: -110 How are you supplying clock to the TC358767 (or newer) ? Do you supply clock from DSI or from Xtal ? If DSI and if possible, switch to Xtal and see whether that helps. Also check the Xtal frequency and make sure you define that correctly in DT. > Looking at the AUX_CH+/- signals, I can see the native aux request and the > (presumable) correct answer (DP_DPCD_REV register) from the display. But for > some reason the bridge runs into a aux timeout. > I can see in the DP0_AUXSTATUS register the bus gets busy (0x1) after starting > transfer. But after the tc_aux_wait_busy() call DP0_AUXSTATUS his indicating a > timeout and sync error (0x310002). > When changing the "Aux Bit Period Calculator Threshold" to 5 (register > AUXCFG1), the sync error is gone, but the timeout still happens. > > The frequency used from the display is ~1MHz, which should be okay. So on the > electrical side all seems okay, but the native aux transfer don't work. I recall DPCD read timeouts, but those were usually triggered by either bad clock or wiring problems (the devkit wiring I used was horrible at the beginning) from what I can recall. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] arm64: dts: imx8mp: Add TC9595 bridge on DH electronics i.MX8M Plus DHCOM 2023-05-24 9:28 ` Marek Vasut @ 2023-05-24 10:24 ` Alexander Stein 2023-05-24 10:37 ` Marek Vasut 0 siblings, 1 reply; 11+ messages in thread From: Alexander Stein @ 2023-05-24 10:24 UTC (permalink / raw) To: Marek Vasut Cc: linux-arm-kernel, Conor Dooley, Fabio Estevam, Krzysztof Kozlowski, NXP Linux Team, Pengutronix Kernel Team, Rob Herring, Sascha Hauer, Shawn Guo, devicetree Hi Marek, Am Mittwoch, 24. Mai 2023, 11:28:32 CEST schrieb Marek Vasut: > On 5/24/23 08:49, Alexander Stein wrote: > > Hi Marek, > > Hi, > > > Am Dienstag, 23. Mai 2023, 15:10:05 CEST schrieb Marek Vasut: > >> On 5/23/23 13:17, Alexander Stein wrote: > >>> Hello Marek, > >> > >> Hi, > >> > >>> Am Montag, 15. Mai 2023, 18:24:24 CEST schrieb Marek Vasut: > >>>> Add TC9595 DSI-to-DPI and DSI-to-(e)DP bridge to > >>>> DH electronics i.MX8M Plus DHCOM SoM . The bridge > >>>> is populated on the SoM, but disabled by default > >>>> unless used for display output. > >>>> > >>>> Signed-off-by: Marek Vasut <marex@denx.de> > >>> > >>> Were you actually able to access the display? E.g. reading DPCD via AUX > >>> channel? > >> > >> I only tried the full display port (the one with large plug) on the TC > >> evaluation kit, there I could use the aux channel. Are you testing this > >> bridge and running into issues ? Details please ? > > > > Which SoC is this evaluation kit based on? > > There is no SoC attached to it, it's just a breakout board for the > bridge chip. You can attach it via DSI to whichever SoC you want. So far > I tried STM32MP15xx and i.MX8MP. I assume you were able to successfully use the bridge on both boards, no? > > Yes, I'm trying to test this bridge on imx8mp based board. > > > > AFAICS I run into a timeout during drm connector .get_modes call, see > > kernel log below. > > > >> samsung-dsim 32e60000.dsi: [drm:samsung_dsim_host_attach [samsung_dsim]] > > > > Attached tc358767 device > > > >> tc358767 1-000f: failed to read DPCD: -110 > >> tc358767 1-000f: failed to read display props: -110 > > How are you supplying clock to the TC358767 (or newer) ? > Do you supply clock from DSI or from Xtal ? > If DSI and if possible, switch to Xtal and see whether that helps. > Also check the Xtal frequency and make sure you define that correctly in DT. It's already connected to an Xtal, according to schematic it's 26MHz. This is also what I configured in DT. So far I think this looks correct. > > Looking at the AUX_CH+/- signals, I can see the native aux request and the > > (presumable) correct answer (DP_DPCD_REV register) from the display. But > > for some reason the bridge runs into a aux timeout. > > I can see in the DP0_AUXSTATUS register the bus gets busy (0x1) after > > starting transfer. But after the tc_aux_wait_busy() call DP0_AUXSTATUS > > his indicating a timeout and sync error (0x310002). > > When changing the "Aux Bit Period Calculator Threshold" to 5 (register > > AUXCFG1), the sync error is gone, but the timeout still happens. > > > > The frequency used from the display is ~1MHz, which should be okay. So on > > the electrical side all seems okay, but the native aux transfer don't > > work. > I recall DPCD read timeouts, but those were usually triggered by either > bad clock or wiring problems (the devkit wiring I used was horrible at > the beginning) from what I can recall. bad clock in the sense of badly configured or bad xtal hardware? As the bridge and the xtal is on the same mainboard, for now, I ignore wirings. Best regards, Alexander -- TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany Amtsgericht München, HRB 105018 Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider http://www.tq-group.com/ ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] arm64: dts: imx8mp: Add TC9595 bridge on DH electronics i.MX8M Plus DHCOM 2023-05-24 10:24 ` Alexander Stein @ 2023-05-24 10:37 ` Marek Vasut 2023-05-26 12:52 ` Alexander Stein 0 siblings, 1 reply; 11+ messages in thread From: Marek Vasut @ 2023-05-24 10:37 UTC (permalink / raw) To: Alexander Stein Cc: linux-arm-kernel, Conor Dooley, Fabio Estevam, Krzysztof Kozlowski, NXP Linux Team, Pengutronix Kernel Team, Rob Herring, Sascha Hauer, Shawn Guo, devicetree On 5/24/23 12:24, Alexander Stein wrote: Hi, >>> Looking at the AUX_CH+/- signals, I can see the native aux request and the >>> (presumable) correct answer (DP_DPCD_REV register) from the display. But >>> for some reason the bridge runs into a aux timeout. >>> I can see in the DP0_AUXSTATUS register the bus gets busy (0x1) after >>> starting transfer. But after the tc_aux_wait_busy() call DP0_AUXSTATUS >>> his indicating a timeout and sync error (0x310002). >>> When changing the "Aux Bit Period Calculator Threshold" to 5 (register >>> AUXCFG1), the sync error is gone, but the timeout still happens. >>> >>> The frequency used from the display is ~1MHz, which should be okay. So on >>> the electrical side all seems okay, but the native aux transfer don't >>> work. >> I recall DPCD read timeouts, but those were usually triggered by either >> bad clock or wiring problems (the devkit wiring I used was horrible at >> the beginning) from what I can recall. > > bad clock in the sense of badly configured or bad xtal hardware? As in, the xtal clock drives the internal PLLs and if those are misconfigured for whatever reason, the chip can misbehave. You might want to double-check the clock routing chapter in the toshiba bridge datasheet and matching registers. Have you tried forcing the chip into 1.62G (instead of 2.7G) operation and into 1-lane DP instead of 2-lane DP mode ? Does that make any difference ? > As the bridge > and the xtal is on the same mainboard, for now, I ignore wirings. OK ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] arm64: dts: imx8mp: Add TC9595 bridge on DH electronics i.MX8M Plus DHCOM 2023-05-24 10:37 ` Marek Vasut @ 2023-05-26 12:52 ` Alexander Stein 0 siblings, 0 replies; 11+ messages in thread From: Alexander Stein @ 2023-05-26 12:52 UTC (permalink / raw) To: Marek Vasut Cc: linux-arm-kernel, Conor Dooley, Fabio Estevam, Krzysztof Kozlowski, NXP Linux Team, Pengutronix Kernel Team, Rob Herring, Sascha Hauer, Shawn Guo, devicetree Hi Marek, Am Mittwoch, 24. Mai 2023, 12:37:50 CEST schrieb Marek Vasut: > On 5/24/23 12:24, Alexander Stein wrote: > > Hi, > > >>> Looking at the AUX_CH+/- signals, I can see the native aux request and > >>> the > >>> (presumable) correct answer (DP_DPCD_REV register) from the display. But > >>> for some reason the bridge runs into a aux timeout. > >>> I can see in the DP0_AUXSTATUS register the bus gets busy (0x1) after > >>> starting transfer. But after the tc_aux_wait_busy() call DP0_AUXSTATUS > >>> his indicating a timeout and sync error (0x310002). > >>> When changing the "Aux Bit Period Calculator Threshold" to 5 (register > >>> AUXCFG1), the sync error is gone, but the timeout still happens. > >>> > >>> The frequency used from the display is ~1MHz, which should be okay. So > >>> on > >>> the electrical side all seems okay, but the native aux transfer don't > >>> work. > >> > >> I recall DPCD read timeouts, but those were usually triggered by either > >> bad clock or wiring problems (the devkit wiring I used was horrible at > >> the beginning) from what I can recall. > > > > bad clock in the sense of badly configured or bad xtal hardware? > > As in, the xtal clock drives the internal PLLs and if those are > misconfigured for whatever reason, the chip can misbehave. You might > want to double-check the clock routing chapter in the toshiba bridge > datasheet and matching registers. > > Have you tried forcing the chip into 1.62G (instead of 2.7G) operation > and into 1-lane DP instead of 2-lane DP mode ? Does that make any > difference ? The initial AUX problem is unrelated to DP link. I had problems way before 2.7G or 2-lane DP comes into play. The problem in aux channel was caused by bad clock input :( and the DSI host not putting all DSI lines into LP-11. For some reason apparently nobody had to do these kind of changes on samsung_dsim. I had to enable all DSI lines (incl. clock) on dsim for the bridge to properly use the AUX channel. With that fixed, DPCD read is successfull and DP link training seems okay, as I can enable the test pattern on the bridge. But displaying regular DSI stream is not working. I see the DSI error counter continuously increasing in the DSIERRCNT register (0x300). Forcing 1-lane DP or 1.62G operation reduces the possible resolution but displaying does still not work. Best regards Alexander -- TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany Amtsgericht München, HRB 105018 Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider http://www.tq-group.com/ ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] arm64: dts: imx8mp: Add TC9595 bridge on DH electronics i.MX8M Plus DHCOM 2023-05-15 16:24 [PATCH] arm64: dts: imx8mp: Add TC9595 bridge on DH electronics i.MX8M Plus DHCOM Marek Vasut 2023-05-23 11:17 ` Alexander Stein @ 2023-05-27 8:35 ` Shawn Guo 2023-05-27 10:19 ` Marek Vasut 2023-05-27 10:47 ` Shawn Guo 2 siblings, 1 reply; 11+ messages in thread From: Shawn Guo @ 2023-05-27 8:35 UTC (permalink / raw) To: Marek Vasut Cc: linux-arm-kernel, Conor Dooley, Fabio Estevam, Krzysztof Kozlowski, NXP Linux Team, Pengutronix Kernel Team, Rob Herring, Sascha Hauer, devicetree On Mon, May 15, 2023 at 06:24:24PM +0200, Marek Vasut wrote: > Add TC9595 DSI-to-DPI and DSI-to-(e)DP bridge to > DH electronics i.MX8M Plus DHCOM SoM . The bridge > is populated on the SoM, but disabled by default > unless used for display output. > > Signed-off-by: Marek Vasut <marex@denx.de> > --- > Cc: Conor Dooley <conor+dt@kernel.org> > Cc: Fabio Estevam <festevam@gmail.com> > Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> > Cc: NXP Linux Team <linux-imx@nxp.com> > Cc: Pengutronix Kernel Team <kernel@pengutronix.de> > Cc: Rob Herring <robh+dt@kernel.org> > Cc: Sascha Hauer <s.hauer@pengutronix.de> > Cc: Shawn Guo <shawnguo@kernel.org> > Cc: devicetree@vger.kernel.org > Cc: linux-arm-kernel@lists.infradead.org > --- > .../boot/dts/freescale/imx8mp-dhcom-som.dtsi | 55 +++++++++++++++++++ > 1 file changed, 55 insertions(+) > > diff --git a/arch/arm64/boot/dts/freescale/imx8mp-dhcom-som.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-dhcom-som.dtsi > index 98a11c31d7d45..9c0cb75386e36 100644 > --- a/arch/arm64/boot/dts/freescale/imx8mp-dhcom-som.dtsi > +++ b/arch/arm64/boot/dts/freescale/imx8mp-dhcom-som.dtsi > @@ -240,6 +240,36 @@ &i2c3 { > sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; > status = "okay"; > > + tc_bridge: bridge@f { > + compatible = "toshiba,tc9595", "toshiba,tc358767"; Is "toshiba,tc9595" documented? Shawn > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_tc9595>; > + reg = <0xf>; > + clock-names = "ref"; > + clocks = <&clk IMX8MP_CLK_CLKOUT2>; > + assigned-clocks = <&clk IMX8MP_CLK_CLKOUT2_SEL>, > + <&clk IMX8MP_CLK_CLKOUT2>, > + <&clk IMX8MP_AUDIO_PLL2_OUT>; > + assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL2_OUT>; > + assigned-clock-rates = <13000000>, <13000000>, <156000000>; > + reset-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>; > + status = "disabled"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + > + tc_bridge_in: endpoint { > + data-lanes = <1 2 3 4>; > + remote-endpoint = <&dsi_out>; > + }; > + }; > + }; > + }; > + > pmic: pmic@25 { > compatible = "nxp,pca9450c"; > reg = <0x25>; > @@ -406,6 +436,22 @@ &i2c5 { /* HDMI EDID bus */ > status = "okay"; > }; > > +&mipi_dsi { > + samsung,burst-clock-frequency = <160000000>; > + samsung,esc-clock-frequency = <10000000>; > + > + ports { > + port@1 { > + reg = <1>; > + > + dsi_out: endpoint { > + data-lanes = <1 2 3 4>; > + remote-endpoint = <&tc_bridge_in>; > + }; > + }; > + }; > +}; > + > &pwm1 { > pinctrl-0 = <&pinctrl_pwm1>; > pinctrl-names = "default"; > @@ -880,6 +926,15 @@ MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00 0xd6 > >; > }; > > + pinctrl_tc9595: dhcom-tc9595-grp { > + fsl,pins = < > + /* RESET_DSIBRIDGE */ > + MX8MP_IOMUXC_SAI1_RXC__GPIO4_IO01 0x40000146 > + /* DSI-CONV_INT Interrupt */ > + MX8MP_IOMUXC_SAI5_RXD0__GPIO3_IO21 0x141 > + >; > + }; > + > pinctrl_touch: dhcom-touch-grp { > fsl,pins = < > /* #TOUCH_INT */ > -- > 2.39.2 > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] arm64: dts: imx8mp: Add TC9595 bridge on DH electronics i.MX8M Plus DHCOM 2023-05-27 8:35 ` Shawn Guo @ 2023-05-27 10:19 ` Marek Vasut 0 siblings, 0 replies; 11+ messages in thread From: Marek Vasut @ 2023-05-27 10:19 UTC (permalink / raw) To: Shawn Guo Cc: linux-arm-kernel, Conor Dooley, Fabio Estevam, Krzysztof Kozlowski, NXP Linux Team, Pengutronix Kernel Team, Rob Herring, Sascha Hauer, devicetree On 5/27/23 10:35, Shawn Guo wrote: > On Mon, May 15, 2023 at 06:24:24PM +0200, Marek Vasut wrote: >> Add TC9595 DSI-to-DPI and DSI-to-(e)DP bridge to >> DH electronics i.MX8M Plus DHCOM SoM . The bridge >> is populated on the SoM, but disabled by default >> unless used for display output. >> >> Signed-off-by: Marek Vasut <marex@denx.de> >> --- >> Cc: Conor Dooley <conor+dt@kernel.org> >> Cc: Fabio Estevam <festevam@gmail.com> >> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> >> Cc: NXP Linux Team <linux-imx@nxp.com> >> Cc: Pengutronix Kernel Team <kernel@pengutronix.de> >> Cc: Rob Herring <robh+dt@kernel.org> >> Cc: Sascha Hauer <s.hauer@pengutronix.de> >> Cc: Shawn Guo <shawnguo@kernel.org> >> Cc: devicetree@vger.kernel.org >> Cc: linux-arm-kernel@lists.infradead.org >> --- >> .../boot/dts/freescale/imx8mp-dhcom-som.dtsi | 55 +++++++++++++++++++ >> 1 file changed, 55 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-dhcom-som.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-dhcom-som.dtsi >> index 98a11c31d7d45..9c0cb75386e36 100644 >> --- a/arch/arm64/boot/dts/freescale/imx8mp-dhcom-som.dtsi >> +++ b/arch/arm64/boot/dts/freescale/imx8mp-dhcom-som.dtsi >> @@ -240,6 +240,36 @@ &i2c3 { >> sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; >> status = "okay"; >> >> + tc_bridge: bridge@f { >> + compatible = "toshiba,tc9595", "toshiba,tc358767"; > > Is "toshiba,tc9595" documented? Yes, the patch is coming in via drm-misc , see: https://cgit.freedesktop.org/drm/drm-misc/commit/?id=adbcfcc92b5aaffdee4c5e62c077919014c483d9 ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] arm64: dts: imx8mp: Add TC9595 bridge on DH electronics i.MX8M Plus DHCOM 2023-05-15 16:24 [PATCH] arm64: dts: imx8mp: Add TC9595 bridge on DH electronics i.MX8M Plus DHCOM Marek Vasut 2023-05-23 11:17 ` Alexander Stein 2023-05-27 8:35 ` Shawn Guo @ 2023-05-27 10:47 ` Shawn Guo 2 siblings, 0 replies; 11+ messages in thread From: Shawn Guo @ 2023-05-27 10:47 UTC (permalink / raw) To: Marek Vasut Cc: linux-arm-kernel, Conor Dooley, Fabio Estevam, Krzysztof Kozlowski, NXP Linux Team, Pengutronix Kernel Team, Rob Herring, Sascha Hauer, devicetree On Mon, May 15, 2023 at 06:24:24PM +0200, Marek Vasut wrote: > Add TC9595 DSI-to-DPI and DSI-to-(e)DP bridge to > DH electronics i.MX8M Plus DHCOM SoM . The bridge > is populated on the SoM, but disabled by default > unless used for display output. > > Signed-off-by: Marek Vasut <marex@denx.de> Applied, thanks! ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2023-05-27 10:48 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-05-15 16:24 [PATCH] arm64: dts: imx8mp: Add TC9595 bridge on DH electronics i.MX8M Plus DHCOM Marek Vasut 2023-05-23 11:17 ` Alexander Stein 2023-05-23 13:10 ` Marek Vasut 2023-05-24 6:49 ` Alexander Stein 2023-05-24 9:28 ` Marek Vasut 2023-05-24 10:24 ` Alexander Stein 2023-05-24 10:37 ` Marek Vasut 2023-05-26 12:52 ` Alexander Stein 2023-05-27 8:35 ` Shawn Guo 2023-05-27 10:19 ` Marek Vasut 2023-05-27 10:47 ` 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).