* [PATCH v3 1/8] arm64: dts: ti: k3-am62x-sk-common: Update main-i2c1 frequency
2023-07-28 17:34 [PATCH v3 0/8] arm64: ti: k3-am62: Add display support Aradhya Bhatia
@ 2023-07-28 17:34 ` Aradhya Bhatia
2023-07-30 16:30 ` Nishanth Menon
2023-07-28 17:34 ` [PATCH v3 2/8] arm64: dts: ti: k3-am62-main: Add node for DSS Aradhya Bhatia
` (6 subsequent siblings)
7 siblings, 1 reply; 15+ messages in thread
From: Aradhya Bhatia @ 2023-07-28 17:34 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Catalin Marinas, Conor Dooley
Cc: Devicetree List, Linux Kernel List, Linux ARM Kernel List,
Tomi Valkeinen, Rahul T R, Devarsh Thakkar, Jai Luthra,
Jayesh Choudhary, Aradhya Bhatia
The Display Data Channel (DDC) transactions between an HDMI transmitter
(SIL9022A in this case) and an HDMI monitor, occur at a maximum of
100KHz. That's the maximum supported frequency within DDC standards.
While the SIL9022A can transact with the core at 400KHz, it needs to
drop the frequency to 100KHz when communicating with the monitor,
otherwise, the i2c controller times out and shows warning like this.
[ 985.773431] omap_i2c 20010000.i2c: controller timed out
That feature, however, has not been enabled in the SIL9022 driver.
Since, dropping the frequency doesn't affect any other devices on the
bus, drop the main-i2c1 frequency from 400KHz to 100KHz.
Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
---
arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
index 34c8ffc553ec..540ed8a0d7fb 100644
--- a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
@@ -300,7 +300,7 @@ &main_i2c1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_i2c1_pins_default>;
- clock-frequency = <400000>;
+ clock-frequency = <100000>;
tlv320aic3106: audio-codec@1b {
#sound-dai-cells = <0>;
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [PATCH v3 1/8] arm64: dts: ti: k3-am62x-sk-common: Update main-i2c1 frequency
2023-07-28 17:34 ` [PATCH v3 1/8] arm64: dts: ti: k3-am62x-sk-common: Update main-i2c1 frequency Aradhya Bhatia
@ 2023-07-30 16:30 ` Nishanth Menon
2023-08-03 6:34 ` Aradhya Bhatia
0 siblings, 1 reply; 15+ messages in thread
From: Nishanth Menon @ 2023-07-30 16:30 UTC (permalink / raw)
To: Aradhya Bhatia
Cc: Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Catalin Marinas, Conor Dooley,
Devicetree List, Linux Kernel List, Linux ARM Kernel List,
Tomi Valkeinen, Rahul T R, Devarsh Thakkar, Jai Luthra,
Jayesh Choudhary
On 23:04-20230728, Aradhya Bhatia wrote:
> The Display Data Channel (DDC) transactions between an HDMI transmitter
> (SIL9022A in this case) and an HDMI monitor, occur at a maximum of
> 100KHz. That's the maximum supported frequency within DDC standards.
>
> While the SIL9022A can transact with the core at 400KHz, it needs to
> drop the frequency to 100KHz when communicating with the monitor,
> otherwise, the i2c controller times out and shows warning like this.
>
> [ 985.773431] omap_i2c 20010000.i2c: controller timed out
>
> That feature, however, has not been enabled in the SIL9022 driver.
>
> Since, dropping the frequency doesn't affect any other devices on the
> bus, drop the main-i2c1 frequency from 400KHz to 100KHz.
>
> Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
> ---
> arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
> index 34c8ffc553ec..540ed8a0d7fb 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
> @@ -300,7 +300,7 @@ &main_i2c1 {
> status = "okay";
> pinctrl-names = "default";
> pinctrl-0 = <&main_i2c1_pins_default>;
> - clock-frequency = <400000>;
> + clock-frequency = <100000>;
>
> tlv320aic3106: audio-codec@1b {
> #sound-dai-cells = <0>;
> --
> 2.40.1
>
I know we had issues with level shifters on the dev platform previously,
but do we need this patch anymore with the production boards?
if so, use Fixes and I can pick for next.
--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 15+ messages in thread* Re: [PATCH v3 1/8] arm64: dts: ti: k3-am62x-sk-common: Update main-i2c1 frequency
2023-07-30 16:30 ` Nishanth Menon
@ 2023-08-03 6:34 ` Aradhya Bhatia
0 siblings, 0 replies; 15+ messages in thread
From: Aradhya Bhatia @ 2023-08-03 6:34 UTC (permalink / raw)
To: Nishanth Menon
Cc: Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Catalin Marinas, Conor Dooley,
Devicetree List, Linux Kernel List, Linux ARM Kernel List,
Tomi Valkeinen, Rahul T R, Devarsh Thakkar, Jai Luthra,
Jayesh Choudhary
Hi Nishanth,
On 30-Jul-23 22:00, Nishanth Menon wrote:
> On 23:04-20230728, Aradhya Bhatia wrote:
>> The Display Data Channel (DDC) transactions between an HDMI transmitter
>> (SIL9022A in this case) and an HDMI monitor, occur at a maximum of
>> 100KHz. That's the maximum supported frequency within DDC standards.
>>
>> While the SIL9022A can transact with the core at 400KHz, it needs to
>> drop the frequency to 100KHz when communicating with the monitor,
>> otherwise, the i2c controller times out and shows warning like this.
>>
>> [ 985.773431] omap_i2c 20010000.i2c: controller timed out
>>
>> That feature, however, has not been enabled in the SIL9022 driver.
>>
>> Since, dropping the frequency doesn't affect any other devices on the
>> bus, drop the main-i2c1 frequency from 400KHz to 100KHz.
>>
>> Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
>> ---
>> arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
>> index 34c8ffc553ec..540ed8a0d7fb 100644
>> --- a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
>> +++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
>> @@ -300,7 +300,7 @@ &main_i2c1 {
>> status = "okay";
>> pinctrl-names = "default";
>> pinctrl-0 = <&main_i2c1_pins_default>;
>> - clock-frequency = <400000>;
>> + clock-frequency = <100000>;
>>
>> tlv320aic3106: audio-codec@1b {
>> #sound-dai-cells = <0>;
>> --
>> 2.40.1
>>
>
> I know we had issues with level shifters on the dev platform previously,
> but do we need this patch anymore with the production boards?
>
> if so, use Fixes and I can pick for next.
>
This doesn't have anything to do with the level shifter issue we have
had previously. The DDC communication between the monitor and the HDMI
bridge requires that the bus frequency be 100KHz. Some monitors still
end up supporting higher frequencies on higher quality HDMI cables,
but to support a larger variety, we need to ensure that it doesn't
exceed 100KHz. Hence, this is just as much applicable on the production
boards.
Since the capability of the SIL9022 to drop down the transaction
frequency to 100KHz has not been enabled in the driver, I am changing
the bus frequency for the whole i2c-1 bus.
And this patch is not required if display is not being used, so I don't
think we need to back-port to older versions via "Fixes" tag... unless I
am missing a deeper point you were trying to make?
If so, let me know, and I will post a new version with the said tag.
Regards
Aradhya
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v3 2/8] arm64: dts: ti: k3-am62-main: Add node for DSS
2023-07-28 17:34 [PATCH v3 0/8] arm64: ti: k3-am62: Add display support Aradhya Bhatia
2023-07-28 17:34 ` [PATCH v3 1/8] arm64: dts: ti: k3-am62x-sk-common: Update main-i2c1 frequency Aradhya Bhatia
@ 2023-07-28 17:34 ` Aradhya Bhatia
2023-08-03 14:14 ` Francesco Dolcini
2023-07-28 17:34 ` [PATCH v3 3/8] arm64: dts: ti: k3-am62x-sk-common: Add DSS pinmux info Aradhya Bhatia
` (5 subsequent siblings)
7 siblings, 1 reply; 15+ messages in thread
From: Aradhya Bhatia @ 2023-07-28 17:34 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Catalin Marinas, Conor Dooley
Cc: Devicetree List, Linux Kernel List, Linux ARM Kernel List,
Tomi Valkeinen, Rahul T R, Devarsh Thakkar, Jai Luthra,
Jayesh Choudhary, Aradhya Bhatia
Add Display SubSystem (DSS) DT node for the AM625 SoC.
The DSS supports one each of video pipeline (vid) and video-lite
pipeline (vidl1). It outputs OLDI signals on one video port (VP1) and
DPI signals on another (VP2). The video ports are connected to the
pipelines via 2 identical overlay managers (ovr1 and ovr2).
Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
---
arch/arm64/boot/dts/ti/k3-am62-main.dtsi | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
index 33b6aadc9083..687b4b4e7f33 100644
--- a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
@@ -717,6 +717,29 @@ cpts@3d000 {
};
};
+ dss: dss@30200000 {
+ compatible = "ti,am625-dss";
+ reg = <0x00 0x30200000 0x00 0x1000>, /* common */
+ <0x00 0x30202000 0x00 0x1000>, /* vidl1 */
+ <0x00 0x30206000 0x00 0x1000>, /* vid */
+ <0x00 0x30207000 0x00 0x1000>, /* ovr1 */
+ <0x00 0x30208000 0x00 0x1000>, /* ovr2 */
+ <0x00 0x3020a000 0x00 0x1000>, /* vp1: Used for OLDI */
+ <0x00 0x3020b000 0x00 0x1000>; /* vp2: Used as DPI Out */
+ reg-names = "common", "vidl1", "vid",
+ "ovr1", "ovr2", "vp1", "vp2";
+ power-domains = <&k3_pds 186 TI_SCI_PD_EXCLUSIVE>;
+ clocks = <&k3_clks 186 6>,
+ <&k3_clks 186 0>,
+ <&k3_clks 186 2>;
+ clock-names = "fck", "vp1", "vp2";
+ interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
+ dss_ports: ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+
hwspinlock: spinlock@2a000000 {
compatible = "ti,am64-hwspinlock";
reg = <0x00 0x2a000000 0x00 0x1000>;
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [PATCH v3 2/8] arm64: dts: ti: k3-am62-main: Add node for DSS
2023-07-28 17:34 ` [PATCH v3 2/8] arm64: dts: ti: k3-am62-main: Add node for DSS Aradhya Bhatia
@ 2023-08-03 14:14 ` Francesco Dolcini
0 siblings, 0 replies; 15+ messages in thread
From: Francesco Dolcini @ 2023-08-03 14:14 UTC (permalink / raw)
To: Aradhya Bhatia, Nishanth Menon, Vignesh Raghavendra
Cc: Tero Kristo, Rob Herring, Krzysztof Kozlowski, Catalin Marinas,
Conor Dooley, Devicetree List, Linux Kernel List,
Linux ARM Kernel List, Tomi Valkeinen, Rahul T R, Devarsh Thakkar,
Jai Luthra, Jayesh Choudhary
Hello Aradhya, Nishanth and Vignesh
On Fri, Jul 28, 2023 at 11:04:32PM +0530, Aradhya Bhatia wrote:
> Add Display SubSystem (DSS) DT node for the AM625 SoC.
>
> The DSS supports one each of video pipeline (vid) and video-lite
> pipeline (vidl1). It outputs OLDI signals on one video port (VP1) and
> DPI signals on another (VP2). The video ports are connected to the
> pipelines via 2 identical overlay managers (ovr1 and ovr2).
Not sure on the plan on the whole series, but from my point of view it
would make sense to have (at least) this patch, if deemed correctly,
applied for v6.6.
This will enable others TI AM625 user to start upstreaming their changes
and testing it.
Francesco
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v3 3/8] arm64: dts: ti: k3-am62x-sk-common: Add DSS pinmux info
2023-07-28 17:34 [PATCH v3 0/8] arm64: ti: k3-am62: Add display support Aradhya Bhatia
2023-07-28 17:34 ` [PATCH v3 1/8] arm64: dts: ti: k3-am62x-sk-common: Update main-i2c1 frequency Aradhya Bhatia
2023-07-28 17:34 ` [PATCH v3 2/8] arm64: dts: ti: k3-am62-main: Add node for DSS Aradhya Bhatia
@ 2023-07-28 17:34 ` Aradhya Bhatia
2023-07-30 16:31 ` Nishanth Menon
2023-07-28 17:34 ` [PATCH v3 4/8] arm64: dts: ti: k3-am62x-sk-common: Add HDMI support Aradhya Bhatia
` (4 subsequent siblings)
7 siblings, 1 reply; 15+ messages in thread
From: Aradhya Bhatia @ 2023-07-28 17:34 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Catalin Marinas, Conor Dooley
Cc: Devicetree List, Linux Kernel List, Linux ARM Kernel List,
Tomi Valkeinen, Rahul T R, Devarsh Thakkar, Jai Luthra,
Jayesh Choudhary, Aradhya Bhatia
Add pinmux info for video output signals from DSS and OLDI.
The DSS outputs OLDI signals through its first video port (VP1) and DPI
signals via its second video port (VP2). DSS has 2 OLDI transmitters,
and each of them outputs 4 Data Lanes and 1 Clock Lane. The DPI output
from DSS is 24 bits (RGB888) and is forwarded to an HDMI transmitter
(SIL9022) on the board.
Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
---
.../arm64/boot/dts/ti/k3-am62x-sk-common.dtsi | 63 +++++++++++++++++++
1 file changed, 63 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
index 540ed8a0d7fb..d479c0c415a7 100644
--- a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
@@ -226,6 +226,64 @@ AM62X_IOPAD(0x08c, PIN_OUTPUT, 2) /* (L25/J17) GPMC0_WEN.MCASP1_AXR0 */
AM62X_IOPAD(0x084, PIN_INPUT, 2) /* (L23/K20) GPMC0_ADVN_ALE.MCASP1_AXR2 */
>;
};
+
+ main_dss0_pins_default: main-dss0-default-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x0100, PIN_OUTPUT, 0) /* (AC25) VOUT0_VSYNC */
+ AM62X_IOPAD(0x00f8, PIN_OUTPUT, 0) /* (AB24) VOUT0_HSYNC */
+ AM62X_IOPAD(0x0104, PIN_OUTPUT, 0) /* (AC24) VOUT0_PCLK */
+ AM62X_IOPAD(0x00fc, PIN_OUTPUT, 0) /* (Y20) VOUT0_DE */
+ AM62X_IOPAD(0x00b8, PIN_OUTPUT, 0) /* (U22) VOUT0_DATA0 */
+ AM62X_IOPAD(0x00bc, PIN_OUTPUT, 0) /* (V24) VOUT0_DATA1 */
+ AM62X_IOPAD(0x00c0, PIN_OUTPUT, 0) /* (W25) VOUT0_DATA2 */
+ AM62X_IOPAD(0x00c4, PIN_OUTPUT, 0) /* (W24) VOUT0_DATA3 */
+ AM62X_IOPAD(0x00c8, PIN_OUTPUT, 0) /* (Y25) VOUT0_DATA4 */
+ AM62X_IOPAD(0x00cc, PIN_OUTPUT, 0) /* (Y24) VOUT0_DATA5 */
+ AM62X_IOPAD(0x00d0, PIN_OUTPUT, 0) /* (Y23) VOUT0_DATA6 */
+ AM62X_IOPAD(0x00d4, PIN_OUTPUT, 0) /* (AA25) VOUT0_DATA7 */
+ AM62X_IOPAD(0x00d8, PIN_OUTPUT, 0) /* (V21) VOUT0_DATA8 */
+ AM62X_IOPAD(0x00dc, PIN_OUTPUT, 0) /* (W21) VOUT0_DATA9 */
+ AM62X_IOPAD(0x00e0, PIN_OUTPUT, 0) /* (V20) VOUT0_DATA10 */
+ AM62X_IOPAD(0x00e4, PIN_OUTPUT, 0) /* (AA23) VOUT0_DATA11 */
+ AM62X_IOPAD(0x00e8, PIN_OUTPUT, 0) /* (AB25) VOUT0_DATA12 */
+ AM62X_IOPAD(0x00ec, PIN_OUTPUT, 0) /* (AA24) VOUT0_DATA13 */
+ AM62X_IOPAD(0x00f0, PIN_OUTPUT, 0) /* (Y22) VOUT0_DATA14 */
+ AM62X_IOPAD(0x00f4, PIN_OUTPUT, 0) /* (AA21) VOUT0_DATA15 */
+ AM62X_IOPAD(0x005c, PIN_OUTPUT, 1) /* (R24) GPMC0_AD8.VOUT0_DATA16 */
+ AM62X_IOPAD(0x0060, PIN_OUTPUT, 1) /* (R25) GPMC0_AD9.VOUT0_DATA17 */
+ AM62X_IOPAD(0x0064, PIN_OUTPUT, 1) /* (T25) GPMC0_AD10.VOUT0_DATA18 */
+ AM62X_IOPAD(0x0068, PIN_OUTPUT, 1) /* (R21) GPMC0_AD11.VOUT0_DATA19 */
+ AM62X_IOPAD(0x006c, PIN_OUTPUT, 1) /* (T22) GPMC0_AD12.VOUT0_DATA20 */
+ AM62X_IOPAD(0x0070, PIN_OUTPUT, 1) /* (T24) GPMC0_AD13.VOUT0_DATA21 */
+ AM62X_IOPAD(0x0074, PIN_OUTPUT, 1) /* (U25) GPMC0_AD14.VOUT0_DATA22 */
+ AM62X_IOPAD(0x0078, PIN_OUTPUT, 1) /* (U24) GPMC0_AD15.VOUT0_DATA23 */
+ >;
+ };
+
+ main_oldi0_pins_default: main-oldi0-default-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x0260, PIN_OUTPUT, 0) /* (AA5) OLDI0_A0N */
+ AM62X_IOPAD(0x025c, PIN_OUTPUT, 0) /* (Y6) OLDI0_A0P */
+ AM62X_IOPAD(0x0268, PIN_OUTPUT, 0) /* (AD3) OLDI0_A1N */
+ AM62X_IOPAD(0x0264, PIN_OUTPUT, 0) /* (AB4) OLDI0_A1P */
+ AM62X_IOPAD(0x0270, PIN_OUTPUT, 0) /* (Y8) OLDI0_A2N */
+ AM62X_IOPAD(0x026c, PIN_OUTPUT, 0) /* (AA8) OLDI0_A2P */
+ AM62X_IOPAD(0x0278, PIN_OUTPUT, 0) /* (AB6) OLDI0_A3N */
+ AM62X_IOPAD(0x0274, PIN_OUTPUT, 0) /* (AA7) OLDI0_A3P */
+ AM62X_IOPAD(0x0280, PIN_OUTPUT, 0) /* (AC6) OLDI0_A4N */
+ AM62X_IOPAD(0x027c, PIN_OUTPUT, 0) /* (AC5) OLDI0_A4P */
+ AM62X_IOPAD(0x0288, PIN_OUTPUT, 0) /* (AE5) OLDI0_A5N */
+ AM62X_IOPAD(0x0284, PIN_OUTPUT, 0) /* (AD6) OLDI0_A5P */
+ AM62X_IOPAD(0x0290, PIN_OUTPUT, 0) /* (AE6) OLDI0_A6N */
+ AM62X_IOPAD(0x028c, PIN_OUTPUT, 0) /* (AD7) OLDI0_A6P */
+ AM62X_IOPAD(0x0298, PIN_OUTPUT, 0) /* (AD8) OLDI0_A7N */
+ AM62X_IOPAD(0x0294, PIN_OUTPUT, 0) /* (AE7) OLDI0_A7P */
+ AM62X_IOPAD(0x02a0, PIN_OUTPUT, 0) /* (AD4) OLDI0_CLK0N */
+ AM62X_IOPAD(0x029c, PIN_OUTPUT, 0) /* (AE3) OLDI0_CLK0P */
+ AM62X_IOPAD(0x02a8, PIN_OUTPUT, 0) /* (AE4) OLDI0_CLK1N */
+ AM62X_IOPAD(0x02a4, PIN_OUTPUT, 0) /* (AD5) OLDI0_CLK1P */
+ >;
+ };
};
&mcu_pmx0 {
@@ -410,3 +468,8 @@ &mcasp1 {
tx-num-evt = <32>;
rx-num-evt = <32>;
};
+
+&dss {
+ pinctrl-names = "default";
+ pinctrl-0 = <&main_dss0_pins_default &main_oldi0_pins_default>;
+};
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [PATCH v3 3/8] arm64: dts: ti: k3-am62x-sk-common: Add DSS pinmux info
2023-07-28 17:34 ` [PATCH v3 3/8] arm64: dts: ti: k3-am62x-sk-common: Add DSS pinmux info Aradhya Bhatia
@ 2023-07-30 16:31 ` Nishanth Menon
0 siblings, 0 replies; 15+ messages in thread
From: Nishanth Menon @ 2023-07-30 16:31 UTC (permalink / raw)
To: Aradhya Bhatia
Cc: Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Catalin Marinas, Conor Dooley,
Devicetree List, Linux Kernel List, Linux ARM Kernel List,
Tomi Valkeinen, Rahul T R, Devarsh Thakkar, Jai Luthra,
Jayesh Choudhary
On 23:04-20230728, Aradhya Bhatia wrote:
> Add pinmux info for video output signals from DSS and OLDI.
>
> The DSS outputs OLDI signals through its first video port (VP1) and DPI
> signals via its second video port (VP2). DSS has 2 OLDI transmitters,
> and each of them outputs 4 Data Lanes and 1 Clock Lane. The DPI output
> from DSS is 24 bits (RGB888) and is forwarded to an HDMI transmitter
> (SIL9022) on the board.
>
> Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
> ---
> .../arm64/boot/dts/ti/k3-am62x-sk-common.dtsi | 63 +++++++++++++++++++
> 1 file changed, 63 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
> index 540ed8a0d7fb..d479c0c415a7 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
> @@ -226,6 +226,64 @@ AM62X_IOPAD(0x08c, PIN_OUTPUT, 2) /* (L25/J17) GPMC0_WEN.MCASP1_AXR0 */
> AM62X_IOPAD(0x084, PIN_INPUT, 2) /* (L23/K20) GPMC0_ADVN_ALE.MCASP1_AXR2 */
> >;
> };
> +
> + main_dss0_pins_default: main-dss0-default-pins {
> + pinctrl-single,pins = <
> + AM62X_IOPAD(0x0100, PIN_OUTPUT, 0) /* (AC25) VOUT0_VSYNC */
> + AM62X_IOPAD(0x00f8, PIN_OUTPUT, 0) /* (AB24) VOUT0_HSYNC */
> + AM62X_IOPAD(0x0104, PIN_OUTPUT, 0) /* (AC24) VOUT0_PCLK */
> + AM62X_IOPAD(0x00fc, PIN_OUTPUT, 0) /* (Y20) VOUT0_DE */
> + AM62X_IOPAD(0x00b8, PIN_OUTPUT, 0) /* (U22) VOUT0_DATA0 */
> + AM62X_IOPAD(0x00bc, PIN_OUTPUT, 0) /* (V24) VOUT0_DATA1 */
> + AM62X_IOPAD(0x00c0, PIN_OUTPUT, 0) /* (W25) VOUT0_DATA2 */
> + AM62X_IOPAD(0x00c4, PIN_OUTPUT, 0) /* (W24) VOUT0_DATA3 */
> + AM62X_IOPAD(0x00c8, PIN_OUTPUT, 0) /* (Y25) VOUT0_DATA4 */
> + AM62X_IOPAD(0x00cc, PIN_OUTPUT, 0) /* (Y24) VOUT0_DATA5 */
> + AM62X_IOPAD(0x00d0, PIN_OUTPUT, 0) /* (Y23) VOUT0_DATA6 */
> + AM62X_IOPAD(0x00d4, PIN_OUTPUT, 0) /* (AA25) VOUT0_DATA7 */
> + AM62X_IOPAD(0x00d8, PIN_OUTPUT, 0) /* (V21) VOUT0_DATA8 */
> + AM62X_IOPAD(0x00dc, PIN_OUTPUT, 0) /* (W21) VOUT0_DATA9 */
> + AM62X_IOPAD(0x00e0, PIN_OUTPUT, 0) /* (V20) VOUT0_DATA10 */
> + AM62X_IOPAD(0x00e4, PIN_OUTPUT, 0) /* (AA23) VOUT0_DATA11 */
> + AM62X_IOPAD(0x00e8, PIN_OUTPUT, 0) /* (AB25) VOUT0_DATA12 */
> + AM62X_IOPAD(0x00ec, PIN_OUTPUT, 0) /* (AA24) VOUT0_DATA13 */
> + AM62X_IOPAD(0x00f0, PIN_OUTPUT, 0) /* (Y22) VOUT0_DATA14 */
> + AM62X_IOPAD(0x00f4, PIN_OUTPUT, 0) /* (AA21) VOUT0_DATA15 */
> + AM62X_IOPAD(0x005c, PIN_OUTPUT, 1) /* (R24) GPMC0_AD8.VOUT0_DATA16 */
> + AM62X_IOPAD(0x0060, PIN_OUTPUT, 1) /* (R25) GPMC0_AD9.VOUT0_DATA17 */
> + AM62X_IOPAD(0x0064, PIN_OUTPUT, 1) /* (T25) GPMC0_AD10.VOUT0_DATA18 */
> + AM62X_IOPAD(0x0068, PIN_OUTPUT, 1) /* (R21) GPMC0_AD11.VOUT0_DATA19 */
> + AM62X_IOPAD(0x006c, PIN_OUTPUT, 1) /* (T22) GPMC0_AD12.VOUT0_DATA20 */
> + AM62X_IOPAD(0x0070, PIN_OUTPUT, 1) /* (T24) GPMC0_AD13.VOUT0_DATA21 */
> + AM62X_IOPAD(0x0074, PIN_OUTPUT, 1) /* (U25) GPMC0_AD14.VOUT0_DATA22 */
> + AM62X_IOPAD(0x0078, PIN_OUTPUT, 1) /* (U24) GPMC0_AD15.VOUT0_DATA23 */
> + >;
> + };
> +
> + main_oldi0_pins_default: main-oldi0-default-pins {
> + pinctrl-single,pins = <
> + AM62X_IOPAD(0x0260, PIN_OUTPUT, 0) /* (AA5) OLDI0_A0N */
> + AM62X_IOPAD(0x025c, PIN_OUTPUT, 0) /* (Y6) OLDI0_A0P */
> + AM62X_IOPAD(0x0268, PIN_OUTPUT, 0) /* (AD3) OLDI0_A1N */
> + AM62X_IOPAD(0x0264, PIN_OUTPUT, 0) /* (AB4) OLDI0_A1P */
> + AM62X_IOPAD(0x0270, PIN_OUTPUT, 0) /* (Y8) OLDI0_A2N */
> + AM62X_IOPAD(0x026c, PIN_OUTPUT, 0) /* (AA8) OLDI0_A2P */
> + AM62X_IOPAD(0x0278, PIN_OUTPUT, 0) /* (AB6) OLDI0_A3N */
> + AM62X_IOPAD(0x0274, PIN_OUTPUT, 0) /* (AA7) OLDI0_A3P */
> + AM62X_IOPAD(0x0280, PIN_OUTPUT, 0) /* (AC6) OLDI0_A4N */
> + AM62X_IOPAD(0x027c, PIN_OUTPUT, 0) /* (AC5) OLDI0_A4P */
> + AM62X_IOPAD(0x0288, PIN_OUTPUT, 0) /* (AE5) OLDI0_A5N */
> + AM62X_IOPAD(0x0284, PIN_OUTPUT, 0) /* (AD6) OLDI0_A5P */
> + AM62X_IOPAD(0x0290, PIN_OUTPUT, 0) /* (AE6) OLDI0_A6N */
> + AM62X_IOPAD(0x028c, PIN_OUTPUT, 0) /* (AD7) OLDI0_A6P */
> + AM62X_IOPAD(0x0298, PIN_OUTPUT, 0) /* (AD8) OLDI0_A7N */
> + AM62X_IOPAD(0x0294, PIN_OUTPUT, 0) /* (AE7) OLDI0_A7P */
> + AM62X_IOPAD(0x02a0, PIN_OUTPUT, 0) /* (AD4) OLDI0_CLK0N */
> + AM62X_IOPAD(0x029c, PIN_OUTPUT, 0) /* (AE3) OLDI0_CLK0P */
> + AM62X_IOPAD(0x02a8, PIN_OUTPUT, 0) /* (AE4) OLDI0_CLK1N */
> + AM62X_IOPAD(0x02a4, PIN_OUTPUT, 0) /* (AD5) OLDI0_CLK1P */
> + >;
> + };
> };
>
> &mcu_pmx0 {
> @@ -410,3 +468,8 @@ &mcasp1 {
> tx-num-evt = <32>;
> rx-num-evt = <32>;
> };
> +
> +&dss {
> + pinctrl-names = "default";
> + pinctrl-0 = <&main_dss0_pins_default &main_oldi0_pins_default>;
No. pinctrl-0 cells is 1.
pinctrl-0 = <&main_dss0_pins_default>, <&main_oldi0_pins_default>;
please.
> +};
> --
> 2.40.1
>
--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v3 4/8] arm64: dts: ti: k3-am62x-sk-common: Add HDMI support
2023-07-28 17:34 [PATCH v3 0/8] arm64: ti: k3-am62: Add display support Aradhya Bhatia
` (2 preceding siblings ...)
2023-07-28 17:34 ` [PATCH v3 3/8] arm64: dts: ti: k3-am62x-sk-common: Add DSS pinmux info Aradhya Bhatia
@ 2023-07-28 17:34 ` Aradhya Bhatia
2023-07-28 17:34 ` [PATCH v3 5/8] arm64: dts: ti: am62x-sk: Add overlay for HDMI audio Aradhya Bhatia
` (3 subsequent siblings)
7 siblings, 0 replies; 15+ messages in thread
From: Aradhya Bhatia @ 2023-07-28 17:34 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Catalin Marinas, Conor Dooley
Cc: Devicetree List, Linux Kernel List, Linux ARM Kernel List,
Tomi Valkeinen, Rahul T R, Devarsh Thakkar, Jai Luthra,
Jayesh Choudhary, Aradhya Bhatia
Add DT nodes for sil9022 HDMI transmitter (TX), and the HDMI connector
on the AM625 SK and AM62-LP SK platforms.
Additionally, connect the outputu of DSS (VP2) with input of the HDMI TX,
and the output of HDMI TX to the input of the HDMI connector.
Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
---
.../arm64/boot/dts/ti/k3-am62x-sk-common.dtsi | 54 +++++++++++++++++++
1 file changed, 54 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
index d479c0c415a7..8fd80cf63d65 100644
--- a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
@@ -114,6 +114,17 @@ sound_master: simple-audio-card,codec {
clocks = <&tlv320_mclk>;
};
};
+
+ hdmi: connector {
+ compatible = "hdmi-connector";
+ label = "hdmi";
+ type = "a";
+ port {
+ hdmi_connector_in: endpoint {
+ remote-endpoint = <&sii9022_out>;
+ };
+ };
+ };
};
&main_pmx0 {
@@ -371,6 +382,38 @@ tlv320aic3106: audio-codec@1b {
IOVDD-supply = <&vcc_3v3_sys>;
DRVDD-supply = <&vcc_3v3_sys>;
};
+
+ sii9022: sii9022@3b {
+ compatible = "sil,sii9022";
+ reg = <0x3b>;
+
+ interrupt-parent = <&exp1>;
+ interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
+
+ #sound-dai-cells = <0>;
+ sil,i2s-data-lanes = < 0 >;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ sii9022_in: endpoint {
+ remote-endpoint = <&dpi1_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ sii9022_out: endpoint {
+ remote-endpoint = <&hdmi_connector_in>;
+ };
+ };
+ };
+ };
};
&sdhci0 {
@@ -473,3 +516,14 @@ &dss {
pinctrl-names = "default";
pinctrl-0 = <&main_dss0_pins_default &main_oldi0_pins_default>;
};
+
+&dss_ports {
+ /* VP2: DPI Output */
+ port@1 {
+ reg = <1>;
+
+ dpi1_out: endpoint {
+ remote-endpoint = <&sii9022_in>;
+ };
+ };
+};
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH v3 5/8] arm64: dts: ti: am62x-sk: Add overlay for HDMI audio
2023-07-28 17:34 [PATCH v3 0/8] arm64: ti: k3-am62: Add display support Aradhya Bhatia
` (3 preceding siblings ...)
2023-07-28 17:34 ` [PATCH v3 4/8] arm64: dts: ti: k3-am62x-sk-common: Add HDMI support Aradhya Bhatia
@ 2023-07-28 17:34 ` Aradhya Bhatia
2023-07-28 17:34 ` [PATCH v3 6/8] arm64: dts: ti: k3-am625-beagleplay: Add DSS pinmux info Aradhya Bhatia
` (2 subsequent siblings)
7 siblings, 0 replies; 15+ messages in thread
From: Aradhya Bhatia @ 2023-07-28 17:34 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Catalin Marinas, Conor Dooley
Cc: Devicetree List, Linux Kernel List, Linux ARM Kernel List,
Tomi Valkeinen, Rahul T R, Devarsh Thakkar, Jai Luthra,
Jayesh Choudhary, Aradhya Bhatia
From: Jai Luthra <j-luthra@ti.com>
Enable audio output over HDMI instead of the 3.5mm jack.
A FET switch (U65) on the EVM muxes serial audio lines coming from McASP
between the codec (tlv320aic3106) and the HDMI bridge (sii9022).
By default it uses the codec, but it can be toggled to use the HDMI
bridge by shorting a (J24) header on the board.
Signed-off-by: Jai Luthra <j-luthra@ti.com>
[a-bhatia1: Cosmetic changes]
Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
---
arch/arm64/boot/dts/ti/Makefile | 3 ++
.../boot/dts/ti/k3-am62x-sk-hdmi-audio.dtso | 40 +++++++++++++++++++
2 files changed, 43 insertions(+)
create mode 100644 arch/arm64/boot/dts/ti/k3-am62x-sk-hdmi-audio.dtso
diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
index 6dd7b6f1d6ab..b814f6c4b860 100644
--- a/arch/arm64/boot/dts/ti/Makefile
+++ b/arch/arm64/boot/dts/ti/Makefile
@@ -19,6 +19,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-dahlia.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-dev.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-yavia.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am62-lp-sk.dtb
+dtb-$(CONFIG_ARCH_K3) += k3-am62x-sk-hdmi-audio.dtbo
# Boards with AM62Ax SoC
dtb-$(CONFIG_ARCH_K3) += k3-am62a7-sk.dtb
@@ -58,3 +59,5 @@ dtb-$(CONFIG_ARCH_K3) += k3-j784s4-evm.dtb
# Enable support for device-tree overlays
DTC_FLAGS_k3-am6548-iot2050-advanced-m2 += -@
+DTC_FLAGS_k3-am625-sk += -@
+DTC_FLAGS_k3-am62-lp-sk += -@
diff --git a/arch/arm64/boot/dts/ti/k3-am62x-sk-hdmi-audio.dtso b/arch/arm64/boot/dts/ti/k3-am62x-sk-hdmi-audio.dtso
new file mode 100644
index 000000000000..43a0ddc123e5
--- /dev/null
+++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-hdmi-audio.dtso
@@ -0,0 +1,40 @@
+// SPDX-License-Identifier: GPL-2.0
+/**
+ * Audio playback via HDMI for AM625-SK and AM62-LP SK.
+ *
+ * Links:
+ * AM625 SK: https://www.ti.com/tool/SK-AM62
+ * AM62-LP SK: https://www.ti.com/tool/SK-AM62-LP
+ *
+ * Copyright (C) 2023 Texas Instruments Incorporated - http://www.ti.com/
+ */
+
+/dts-v1/;
+/plugin/;
+
+&{/} {
+ hdmi_audio: sound-sii9022 {
+ compatible = "simple-audio-card";
+ simple-audio-card,name = "AM62x-Sil9022-HDMI";
+ simple-audio-card,format = "i2s";
+ simple-audio-card,bitclock-master = <&hdmi_dailink_master>;
+ simple-audio-card,frame-master = <&hdmi_dailink_master>;
+
+ hdmi_dailink_master: simple-audio-card,cpu {
+ sound-dai = <&mcasp1>;
+ system-clock-direction-out;
+ };
+
+ simple-audio-card,codec {
+ sound-dai = <&sii9022>;
+ };
+ };
+};
+
+&mcasp1 {
+ auxclk-fs-ratio = <2177>;
+};
+
+&codec_audio {
+ status = "disabled";
+};
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH v3 6/8] arm64: dts: ti: k3-am625-beagleplay: Add DSS pinmux info
2023-07-28 17:34 [PATCH v3 0/8] arm64: ti: k3-am62: Add display support Aradhya Bhatia
` (4 preceding siblings ...)
2023-07-28 17:34 ` [PATCH v3 5/8] arm64: dts: ti: am62x-sk: Add overlay for HDMI audio Aradhya Bhatia
@ 2023-07-28 17:34 ` Aradhya Bhatia
2023-07-30 16:33 ` Nishanth Menon
2023-07-28 17:34 ` [PATCH v3 7/8] arm64: dts: ti: k3-am625-beagleplay: Add HDMI support Aradhya Bhatia
2023-07-28 17:34 ` [PATCH v3 8/8] arm64: defconfig: Enable ITE_IT66121 HDMI transmitter Aradhya Bhatia
7 siblings, 1 reply; 15+ messages in thread
From: Aradhya Bhatia @ 2023-07-28 17:34 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Catalin Marinas, Conor Dooley
Cc: Devicetree List, Linux Kernel List, Linux ARM Kernel List,
Tomi Valkeinen, Rahul T R, Devarsh Thakkar, Jai Luthra,
Jayesh Choudhary, Aradhya Bhatia
Add pinmux info for video output signals from DSS and OLDI.
The DSS outputs OLDI signals through its first video port (VP1) and DPI
signals via its second video port (VP2). DSS has 2 OLDI transmitters,
and each of them outputs 4 Data Lanes and 1 Clock Lane. The DPI output
from DSS is 24 bits (RGB888) and is forwarded to an HDMI transmitter
(ITE-IT66121) on the board.
Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
---
.../arm64/boot/dts/ti/k3-am625-beagleplay.dts | 63 +++++++++++++++++++
1 file changed, 63 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts b/arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts
index 7c1402b0fa2d..63893d868623 100644
--- a/arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts
+++ b/arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts
@@ -422,6 +422,64 @@ pmic_irq_pins_default: pmic-irq-default-pins {
AM62X_IOPAD(0x01f4, PIN_INPUT_PULLUP, 0) /* (D16) EXTINTn */
>;
};
+
+ dss0_pins_default: dss0-default-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x0100, PIN_OUTPUT, 0) /* (AC25) VOUT0_VSYNC */
+ AM62X_IOPAD(0x00f8, PIN_OUTPUT, 0) /* (AB24) VOUT0_HSYNC */
+ AM62X_IOPAD(0x0104, PIN_OUTPUT, 0) /* (AC24) VOUT0_PCLK */
+ AM62X_IOPAD(0x00fc, PIN_OUTPUT, 0) /* (Y20) VOUT0_DE */
+ AM62X_IOPAD(0x00b8, PIN_OUTPUT, 0) /* (U22) VOUT0_DATA0 */
+ AM62X_IOPAD(0x00bc, PIN_OUTPUT, 0) /* (V24) VOUT0_DATA1 */
+ AM62X_IOPAD(0x00c0, PIN_OUTPUT, 0) /* (W25) VOUT0_DATA2 */
+ AM62X_IOPAD(0x00c4, PIN_OUTPUT, 0) /* (W24) VOUT0_DATA3 */
+ AM62X_IOPAD(0x00c8, PIN_OUTPUT, 0) /* (Y25) VOUT0_DATA4 */
+ AM62X_IOPAD(0x00cc, PIN_OUTPUT, 0) /* (Y24) VOUT0_DATA5 */
+ AM62X_IOPAD(0x00d0, PIN_OUTPUT, 0) /* (Y23) VOUT0_DATA6 */
+ AM62X_IOPAD(0x00d4, PIN_OUTPUT, 0) /* (AA25) VOUT0_DATA7 */
+ AM62X_IOPAD(0x00d8, PIN_OUTPUT, 0) /* (V21) VOUT0_DATA8 */
+ AM62X_IOPAD(0x00dc, PIN_OUTPUT, 0) /* (W21) VOUT0_DATA9 */
+ AM62X_IOPAD(0x00e0, PIN_OUTPUT, 0) /* (V20) VOUT0_DATA10 */
+ AM62X_IOPAD(0x00e4, PIN_OUTPUT, 0) /* (AA23) VOUT0_DATA11 */
+ AM62X_IOPAD(0x00e8, PIN_OUTPUT, 0) /* (AB25) VOUT0_DATA12 */
+ AM62X_IOPAD(0x00ec, PIN_OUTPUT, 0) /* (AA24) VOUT0_DATA13 */
+ AM62X_IOPAD(0x00f0, PIN_OUTPUT, 0) /* (Y22) VOUT0_DATA14 */
+ AM62X_IOPAD(0x00f4, PIN_OUTPUT, 0) /* (AA21) VOUT0_DATA15 */
+ AM62X_IOPAD(0x005c, PIN_OUTPUT, 1) /* (R24) GPMC0_AD8.VOUT0_DATA16 */
+ AM62X_IOPAD(0x0060, PIN_OUTPUT, 1) /* (R25) GPMC0_AD9.VOUT0_DATA17 */
+ AM62X_IOPAD(0x0064, PIN_OUTPUT, 1) /* (T25) GPMC0_AD10.VOUT0_DATA18 */
+ AM62X_IOPAD(0x0068, PIN_OUTPUT, 1) /* (R21) GPMC0_AD11.VOUT0_DATA19 */
+ AM62X_IOPAD(0x006c, PIN_OUTPUT, 1) /* (T22) GPMC0_AD12.VOUT0_DATA20 */
+ AM62X_IOPAD(0x0070, PIN_OUTPUT, 1) /* (T24) GPMC0_AD13.VOUT0_DATA21 */
+ AM62X_IOPAD(0x0074, PIN_OUTPUT, 1) /* (U25) GPMC0_AD14.VOUT0_DATA22 */
+ AM62X_IOPAD(0x0078, PIN_OUTPUT, 1) /* (U24) GPMC0_AD15.VOUT0_DATA23 */
+ >;
+ };
+
+ oldi0_pins_default: oldi0-default-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x0260, PIN_OUTPUT, 0) /* (AA5) OLDI0_A0N */
+ AM62X_IOPAD(0x025c, PIN_OUTPUT, 0) /* (Y6) OLDI0_A0P */
+ AM62X_IOPAD(0x0268, PIN_OUTPUT, 0) /* (AD3) OLDI0_A1N */
+ AM62X_IOPAD(0x0264, PIN_OUTPUT, 0) /* (AB4) OLDI0_A1P */
+ AM62X_IOPAD(0x0270, PIN_OUTPUT, 0) /* (Y8) OLDI0_A2N */
+ AM62X_IOPAD(0x026c, PIN_OUTPUT, 0) /* (AA8) OLDI0_A2P */
+ AM62X_IOPAD(0x0278, PIN_OUTPUT, 0) /* (AB6) OLDI0_A3N */
+ AM62X_IOPAD(0x0274, PIN_OUTPUT, 0) /* (AA7) OLDI0_A3P */
+ AM62X_IOPAD(0x0280, PIN_OUTPUT, 0) /* (AC6) OLDI0_A4N */
+ AM62X_IOPAD(0x027c, PIN_OUTPUT, 0) /* (AC5) OLDI0_A4P */
+ AM62X_IOPAD(0x0288, PIN_OUTPUT, 0) /* (AE5) OLDI0_A5N */
+ AM62X_IOPAD(0x0284, PIN_OUTPUT, 0) /* (AD6) OLDI0_A5P */
+ AM62X_IOPAD(0x0290, PIN_OUTPUT, 0) /* (AE6) OLDI0_A6N */
+ AM62X_IOPAD(0x028c, PIN_OUTPUT, 0) /* (AD7) OLDI0_A6P */
+ AM62X_IOPAD(0x0298, PIN_OUTPUT, 0) /* (AD8) OLDI0_A7N */
+ AM62X_IOPAD(0x0294, PIN_OUTPUT, 0) /* (AE7) OLDI0_A7P */
+ AM62X_IOPAD(0x02a0, PIN_OUTPUT, 0) /* (AD4) OLDI0_CLK0N */
+ AM62X_IOPAD(0x029c, PIN_OUTPUT, 0) /* (AE3) OLDI0_CLK0P */
+ AM62X_IOPAD(0x02a8, PIN_OUTPUT, 0) /* (AE4) OLDI0_CLK1N */
+ AM62X_IOPAD(0x02a4, PIN_OUTPUT, 0) /* (AD5) OLDI0_CLK1P */
+ >;
+ };
};
&mcu_pmx0 {
@@ -756,3 +814,8 @@ &main_uart6 {
pinctrl-0 = <&wifi_debug_uart_pins_default>;
status = "okay";
};
+
+&dss {
+ pinctrl-names = "default";
+ pinctrl-0 = <&dss0_pins_default &oldi0_pins_default>;
+};
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [PATCH v3 6/8] arm64: dts: ti: k3-am625-beagleplay: Add DSS pinmux info
2023-07-28 17:34 ` [PATCH v3 6/8] arm64: dts: ti: k3-am625-beagleplay: Add DSS pinmux info Aradhya Bhatia
@ 2023-07-30 16:33 ` Nishanth Menon
2023-08-03 6:37 ` Aradhya Bhatia
0 siblings, 1 reply; 15+ messages in thread
From: Nishanth Menon @ 2023-07-30 16:33 UTC (permalink / raw)
To: Aradhya Bhatia
Cc: Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Catalin Marinas, Conor Dooley,
Devicetree List, Linux Kernel List, Linux ARM Kernel List,
Tomi Valkeinen, Rahul T R, Devarsh Thakkar, Jai Luthra,
Jayesh Choudhary
On 23:04-20230728, Aradhya Bhatia wrote:
[...]
> +&dss {
> + pinctrl-names = "default";
> + pinctrl-0 = <&dss0_pins_default &oldi0_pins_default>;
Same -
pinctrl-0 = <&dss0_pins_default>, <&oldi0_pins_default>;
> +};
> --
> 2.40.1
>
--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 15+ messages in thread* Re: [PATCH v3 6/8] arm64: dts: ti: k3-am625-beagleplay: Add DSS pinmux info
2023-07-30 16:33 ` Nishanth Menon
@ 2023-08-03 6:37 ` Aradhya Bhatia
0 siblings, 0 replies; 15+ messages in thread
From: Aradhya Bhatia @ 2023-08-03 6:37 UTC (permalink / raw)
To: Nishanth Menon
Cc: Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Catalin Marinas, Conor Dooley,
Devicetree List, Linux Kernel List, Linux ARM Kernel List,
Tomi Valkeinen, Rahul T R, Devarsh Thakkar, Jai Luthra,
Jayesh Choudhary
On 30-Jul-23 22:03, Nishanth Menon wrote:
> On 23:04-20230728, Aradhya Bhatia wrote:
> [...]
>
>> +&dss {
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&dss0_pins_default &oldi0_pins_default>;
>
> Same -
> pinctrl-0 = <&dss0_pins_default>, <&oldi0_pins_default>;
Thanks! Will fix this for both the patches in next version!
>> +};
>> --
>> 2.40.1
>>
>
Regards
Aradhya
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v3 7/8] arm64: dts: ti: k3-am625-beagleplay: Add HDMI support
2023-07-28 17:34 [PATCH v3 0/8] arm64: ti: k3-am62: Add display support Aradhya Bhatia
` (5 preceding siblings ...)
2023-07-28 17:34 ` [PATCH v3 6/8] arm64: dts: ti: k3-am625-beagleplay: Add DSS pinmux info Aradhya Bhatia
@ 2023-07-28 17:34 ` Aradhya Bhatia
2023-07-28 17:34 ` [PATCH v3 8/8] arm64: defconfig: Enable ITE_IT66121 HDMI transmitter Aradhya Bhatia
7 siblings, 0 replies; 15+ messages in thread
From: Aradhya Bhatia @ 2023-07-28 17:34 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Catalin Marinas, Conor Dooley
Cc: Devicetree List, Linux Kernel List, Linux ARM Kernel List,
Tomi Valkeinen, Rahul T R, Devarsh Thakkar, Jai Luthra,
Jayesh Choudhary, Aradhya Bhatia
From: Nishanth Menon <nm@ti.com>
Add support for HDMI audio and video output.
Beagleplay uses mcasp1 for its audio output, and ITE-IT66121 as its
on-board HDMI encoder.
The HDMI transmitter uses the DPI output from the VP2 of DSS as its
source and forwards the HDMI signals to the on-board Type-A HDMI
connector.
Signed-off-by: Nishanth Menon <nm@ti.com>
[a-bhatia1: Edit sound node properties]
Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
---
.../arm64/boot/dts/ti/k3-am625-beagleplay.dts | 119 ++++++++++++++++++
1 file changed, 119 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts b/arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts
index 63893d868623..93da57949b07 100644
--- a/arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts
+++ b/arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts
@@ -192,6 +192,34 @@ usr: button-usr {
};
+ hdmi0: connector {
+ compatible = "hdmi-connector";
+ label = "hdmi";
+ type = "a";
+ port {
+ hdmi_connector_in: endpoint {
+ remote-endpoint = <&it66121hdmitx_out>;
+ };
+ };
+ };
+
+ sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,name = "it66121 HDMI";
+ simple-audio-card,format = "i2s";
+ simple-audio-card,bitclock-master = <&hdmi_dailink_master>;
+ simple-audio-card,frame-master = <&hdmi_dailink_master>;
+
+ hdmi_dailink_master: simple-audio-card,cpu {
+ sound-dai = <&mcasp1>;
+ system-clock-direction-out;
+ };
+
+ simple-audio-card,codec {
+ sound-dai = <&it66121hdmitx>;
+ };
+ };
+
/* Workaround for errata i2329 - just use mdio bitbang */
mdio0: mdio {
compatible = "virtual,mdio-gpio";
@@ -480,6 +508,24 @@ AM62X_IOPAD(0x02a8, PIN_OUTPUT, 0) /* (AE4) OLDI0_CLK1N */
AM62X_IOPAD(0x02a4, PIN_OUTPUT, 0) /* (AD5) OLDI0_CLK1P */
>;
};
+
+ hdmi_gpio_pins_default: hdmi-gpio-default-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x0094, PIN_INPUT_PULLUP | PIN_DEBOUNCE_CONF6, 7) /* (N20) GPMC0_BE1n.GPIO0_36 */
+ AM62X_IOPAD(0x0054, PIN_OUTPUT_PULLUP, 7) /* (P21) GPMC0_AD6.GPIO0_21 */
+ >;
+ };
+
+ mcasp_hdmi_pins_default: mcasp-hdmi-default-pins {
+ pinctrl-single,pins = <
+ AM62X_IOPAD(0x0090, PIN_INPUT, 2) /* (M24) GPMC0_BE0n_CLE.MCASP1_ACLKX */
+ AM62X_IOPAD(0x0098, PIN_INPUT, 2) /* (U23) GPMC0_WAIT0.MCASP1_AFSX */
+ AM62X_IOPAD(0x008c, PIN_OUTPUT, 2) /* (L25) GPMC0_WEn.MCASP1_AXR0 */
+ AM62X_IOPAD(0x0088, PIN_INPUT, 2) /* (L24) GPMC0_OEn_REn.MCASP1_AXR1 */
+ AM62X_IOPAD(0x0084, PIN_INPUT, 2) /* (L23) GPMC0_ADVn_ALE.MCASP1_AXR2 */
+ AM62X_IOPAD(0x007c, PIN_INPUT, 2) /* (P25) GPMC0_CLK.MCASP1_AXR3 */
+ >;
+ };
};
&mcu_pmx0 {
@@ -728,6 +774,46 @@ &main_i2c2 {
pinctrl-0 = <&i2c2_1v8_pins_default>;
clock-frequency = <100000>;
status = "okay";
+
+ it66121hdmitx: hdmitx@4c {
+ compatible = "ite,it66121";
+ pinctrl-names = "default";
+ pinctrl-0 = <&hdmi_gpio_pins_default>;
+ reg = <0x4c>;
+
+ #sound-dai-cells = <0>;
+
+ interrupt-parent = <&main_gpio0>;
+ interrupts = <36 IRQ_TYPE_EDGE_FALLING>;
+
+ vcn33-supply = <&vdd_3v3>;
+ vcn18-supply = <&buck2_reg>;
+ vrf12-supply = <&buck3_reg>;
+
+ reset-gpios = <&main_gpio0 21 GPIO_ACTIVE_LOW>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ it66121hdmitx_in: endpoint {
+ bus-width = <24>;
+ remote-endpoint = <&dpi1_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ it66121hdmitx_out: endpoint {
+ remote-endpoint = <&hdmi_connector_in>;
+ };
+ };
+ };
+ };
};
&main_i2c3 {
@@ -819,3 +905,36 @@ &dss {
pinctrl-names = "default";
pinctrl-0 = <&dss0_pins_default &oldi0_pins_default>;
};
+
+&dss_ports {
+ /* VP2: DPI Output */
+ port@1 {
+ reg = <1>;
+
+ dpi1_out: endpoint {
+ remote-endpoint = <&it66121hdmitx_in>;
+ };
+ };
+};
+
+&mcasp1 {
+ status = "okay";
+ #sound-dai-cells = <0>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&mcasp_hdmi_pins_default>;
+
+ auxclk-fs-ratio = <2177>;
+
+ op-mode = <0>; /* MCASP_IIS_MODE */
+ tdm-slots = <2>;
+
+ serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
+ 1 0 0 0
+ 0 0 0 0
+ 0 0 0 0
+ 0 0 0 0
+ >;
+ tx-num-evt = <32>;
+ rx-num-evt = <32>;
+};
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH v3 8/8] arm64: defconfig: Enable ITE_IT66121 HDMI transmitter
2023-07-28 17:34 [PATCH v3 0/8] arm64: ti: k3-am62: Add display support Aradhya Bhatia
` (6 preceding siblings ...)
2023-07-28 17:34 ` [PATCH v3 7/8] arm64: dts: ti: k3-am625-beagleplay: Add HDMI support Aradhya Bhatia
@ 2023-07-28 17:34 ` Aradhya Bhatia
7 siblings, 0 replies; 15+ messages in thread
From: Aradhya Bhatia @ 2023-07-28 17:34 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Catalin Marinas, Conor Dooley
Cc: Devicetree List, Linux Kernel List, Linux ARM Kernel List,
Tomi Valkeinen, Rahul T R, Devarsh Thakkar, Jai Luthra,
Jayesh Choudhary, Aradhya Bhatia
Enable CONFIG_DRM_ITE_IT66121.
ILITEK ITE-IT66121 is an HDMI transmitter, which takes parallel video
signals (DPI) as input. It is being used on TI's AM625 SoC based
BeaglePlay platform[0].
[0]: https://beagleboard.org/play
Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
---
arch/arm64/configs/defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 6cbf6eb59378..7ad7c5b8bd91 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -823,6 +823,7 @@ CONFIG_DRM_PANEL_VISIONOX_VTDR6130=m
CONFIG_DRM_LONTIUM_LT8912B=m
CONFIG_DRM_LONTIUM_LT9611=m
CONFIG_DRM_LONTIUM_LT9611UXC=m
+CONFIG_DRM_ITE_IT66121=m
CONFIG_DRM_NWL_MIPI_DSI=m
CONFIG_DRM_PARADE_PS8640=m
CONFIG_DRM_SII902X=m
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 15+ messages in thread