Skip to contentSkip to conversation

Add DT support for Octavo Systems OSD3358-SM-RED based on TI AM335x

PATCH Superseded Neeraj Dantu 3 participants 7 messages Jul 6, 2018 – Jul 10, 2018 1 message not in the archive

Subsystems (2)

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 Add DT support for Octavo Systems OSD3358-SM-RED based on TI AM335x

OSD3358-SM-RED is a dev board for OSD335x System-in-Package(SiP) devices from Octavo Systems.

This board family can be indentified by the A335BNLTOS00 in the at24 eeprom:
A2: [aa 55 33 ee 41 33 33 35 42 4e 4c 54 4f 53 30 30 |.U3.A335BNLTOS00|]

https://octavosystems.com/octavo_products/osd3358-sm-red/

CC Tony Lindgren <[email protected]>
CC Robert Nelson <[email protected]>
CC Jason Kridner <[email protected]>

---
Changes in v2:
- Fix: Add patch description.

---
 arch/arm/boot/dts/Makefile                  |   3 +-
 arch/arm/boot/dts/am335x-osd3358-sm-red.dts | 455 ++++++++++++++++++++++++++++
 2 files changed, 457 insertions(+), 1 deletion(-)
 create mode 100755 arch/arm/boot/dts/am335x-osd3358-sm-red.dts
arch/arm/boot/dts/Makefile +2 -1
index 37a3de7..d1ff69c 100644
@@ -698,7 +698,8 @@ dtb-$(CONFIG_SOC_AM33XX) += \
 	am335x-shc.dtb \
 	am335x-sbc-t335.dtb \
 	am335x-sl50.dtb \
-	am335x-wega-rdk.dtb
+	am335x-wega-rdk.dtb \
+	am335x-osd3358-sm-red.dtb
 dtb-$(CONFIG_ARCH_OMAP4) += \
 	omap4-droid4-xt894.dtb \
 	omap4-duovero-parlor.dtb \
arch/arm/boot/dts/am335x-osd3358-sm-red.dts new file +455 -0

455 lines not on this page · raw message

Signature · 1 line
2.7.4
#1 lore raw

PATCH v2 1/1 Add DT support for Octavo Systems OSD3358-SM-RED based on TI AM335x

Quoted 2 lines · Neeraj Dantu

OSD3358-SM-RED is a dev board for OSD335x System-in-Package(SiP) devices from Octavo Systems.

Applying into omap-for-v4.19/dt thanks.

Tony

#2 lore raw

PATCH v2 1/1 Add DT support for Octavo Systems OSD3358-SM-RED based on TI AM335x

Quoted 5 lines · Tony Lindgren
Quoted 2 lines · Neeraj Dantu

OSD3358-SM-RED is a dev board for OSD335x System-in-Package(SiP) devices from Octavo Systems.

Applying into omap-for-v4.19/dt thanks.

Hmm dropping patch as it fails to build with make dtbs:

Error: arch/arm/boot/dts/am335x-osd3358-sm-red.dts:146.20-21 syntax error FATAL ERROR: Unable to parse input tree

Can you please check against current Linux next and make sure it builds and boots and then repost one more time?

Thanks,

Tony

#3 lore raw

PATCH v2 1/1 Add DT support for Octavo Systems OSD3358-SM-RED based on TI AM335x

In reply to Neeraj Dantu
Quoted 9 lines · Neeraj Dantu

+&lcdc {

arch/arm/boot/dts/am335x-osd3358-sm-red.dts new file +8 -0
+	status = "okay";
+
+	/* If you want to get 24 bit RGB and 16 BGR mode instead of
+	 * current 16 bit RGB and 24 BGR modes, set the propety
+	 * below to "crossed" and uncomment the video-ports -property
+	 * in tda19988 node.
+	 */
+	blue-and-red-wiring = "straight";

...

arch/arm/boot/dts/am335x-osd3358-sm-red.dts line 119

Quoted 2 lines

+&i2c0 {

arch/arm/boot/dts/am335x-osd3358-sm-red.dts new file +1 -0
+	tda19988: tda19988 {

This should not be "tda19988" as the node name - DT requires generic names, like "hdmi-encoder".

...

arch/arm/boot/dts/am335x-osd3358-sm-red.dts line 128

Quoted 2 lines
arch/arm/boot/dts/am335x-osd3358-sm-red.dts new file +2 -0
+		/* Convert 24bit BGR to RGB, e.g. cross red and blue wiring */
+		/* video-ports = <0x234501>; */

Please explain more what's going on here.

Can you set 24-bit RGB mode with the above configuration - presumably the colours will come out wrong?

Exactly what is the wiring between the lcdc and tda998x?

Signature · 3 lines
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 13.8Mbps down 630kbps up
According to speedtest.net: 13Mbps down 490kbps up

A message that is not in the archive (sent off-list or not yet received): CADO55X8_tbz-O8AuHwqCGnV0g2oDiGHzAug6g3PFqRth5U2H=w@mail.gmail.com

#5 lore raw

PATCH v2 1/1 Add DT support for Octavo Systems OSD3358-SM-RED based on TI AM335x

Quoted 9 lines · Neeraj Kumar Reddy Dantu
Quoted 2 lines

This should not be "tda19988" as the node name - DT requires generic names, like "hdmi-encoder".

Thanks.Will fix in v3

Quoted 3 lines

Can you set 24-bit RGB mode with the above configuration - presumably the colours will come out wrong?
Exactly what is the wiring between the lcdc and tda998x?

Quoted 8 lines

You can set mapping for lcd interface between pins with video-ports. See TDA19988 datasheet, Table 4:
https://media.digikey.com/pdf/Data%20Sheets/NXP%20PDFs/TDA19988_DS_21_july_2011.pdf
.
The property is optional and not used in the board. DT bindings:
https://www.kernel.org/doc/Documentation/devicetree/bindings/display/bridge/tda998x.txt

This board uses 15 pin RGB565 interface.

As maintainer of the TDA998x driver, I know what the TDA998x is capable of, I already have the datasheets, and I know the binding document.

What I'm asking about is about the specifics of your board's implementation and why you've written what you have in your DT file. You haven't answered my specific questions either.

Quoted 42 lines

Regards,
Neeraj

Quoted 35 lines · Russell King - ARM Linux
Quoted 9 lines · Neeraj Dantu

+&lcdc {

arch/arm/boot/dts/am335x-osd3358-sm-red.dts new file +8 -0
+     status = "okay";
+
+     /* If you want to get 24 bit RGB and 16 BGR mode instead of
+      * current 16 bit RGB and 24 BGR modes, set the propety
+      * below to "crossed" and uncomment the video-ports -property
+      * in tda19988 node.
+      */
+     blue-and-red-wiring = "straight";

...

Quoted 2 lines

+&i2c0 {
+ tda19988: tda19988 {

This should not be "tda19988" as the node name - DT requires generic names, like "hdmi-encoder".

...

Quoted 1 line

+ /* Convert 24bit BGR to RGB, e.g. cross red and blue

wiring */

Quoted 1 line

+ /* video-ports = <0x234501>; */

Please explain more what's going on here.

Can you set 24-bit RGB mode with the above configuration - presumably the colours will come out wrong?

Exactly what is the wiring between the lcdc and tda998x?

--
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 13.8Mbps down 630kbps up
According to speedtest.net: 13Mbps down 490kbps up

Signature · 3 lines
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 13.8Mbps down 630kbps up
According to speedtest.net: 13Mbps down 490kbps up
#6 lore raw

PATCH v2 1/1 Add DT support for Octavo Systems OSD3358-SM-RED based on TI AM335x

Quoted 7 lines

As maintainer of the TDA998x driver, I know what the TDA998x is capable of, I already have the datasheets, and I know the binding document.

What I'm asking about is about the specifics of your board's implementation and why you've written what you have in your DT file. You haven't answered my specific questions either.

I am sorry I was unclear. My apologies.

Here is the wiring between LCD controller and the framer:

LCD[11:15] ====> VPA[3:7]
LCD[5:10] ====> VPB[2:7]
LCD[0:4] ====> VPC[3:7]
Here is the schematic:
https://octavosystems.com/docs/osd3358-sm-red-schematics-pdf/
And yes, the colors will come out wrong for the 24 bit for the configuration set. See "blue-and-red-wiring" in tilcdc bindings:
https://www.kernel.org/doc/Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt
AM335x errata providing wiring info for 24 bit mode:
http://www.ti.com/lit/er/sprz360i/sprz360i.pdf

We used the same interface design as the BeagleBone Black:
https://github.com/torvalds/linux/blob/master/arch/arm/boot/dts/am335x-boneblack-common.dtsi

Hope this is helpful.

Thanks,
Neeraj

Quoted 75 lines · Russell King - ARM Linux
Quoted 9 lines · Neeraj Kumar Reddy Dantu
Quoted 2 lines

This should not be "tda19988" as the node name - DT requires generic names, like "hdmi-encoder".

Thanks.Will fix in v3

Quoted 3 lines

Can you set 24-bit RGB mode with the above configuration - presumably the colours will come out wrong?
Exactly what is the wiring between the lcdc and tda998x?

Quoted 8 lines

You can set mapping for lcd interface between pins with video-ports. See TDA19988 datasheet, Table 4:
https://media.digikey.com/pdf/Data%20Sheets/NXP%20PDFs/TDA19988_DS_21_july_2011.pdf
.
The property is optional and not used in the board. DT bindings:
https://www.kernel.org/doc/Documentation/devicetree/bindings/display/bridge/tda998x.txt

This board uses 15 pin RGB565 interface.

As maintainer of the TDA998x driver, I know what the TDA998x is capable of, I already have the datasheets, and I know the binding document.

What I'm asking about is about the specifics of your board's implementation and why you've written what you have in your DT file. You haven't answered my specific questions either.

Quoted 42 lines

Regards,
Neeraj

Quoted 35 lines · Russell King - ARM Linux
Quoted 9 lines · Neeraj Dantu

+&lcdc {

arch/arm/boot/dts/am335x-osd3358-sm-red.dts new file +8 -0
+     status = "okay";
+
+     /* If you want to get 24 bit RGB and 16 BGR mode instead of
+      * current 16 bit RGB and 24 BGR modes, set the propety
+      * below to "crossed" and uncomment the video-ports -property
+      * in tda19988 node.
+      */
+     blue-and-red-wiring = "straight";

...

Quoted 2 lines

+&i2c0 {
+ tda19988: tda19988 {

This should not be "tda19988" as the node name - DT requires generic names, like "hdmi-encoder".

...

Quoted 1 line

+ /* Convert 24bit BGR to RGB, e.g. cross red and blue

wiring */

Quoted 1 line

+ /* video-ports = <0x234501>; */

Please explain more what's going on here.

Can you set 24-bit RGB mode with the above configuration - presumably the colours will come out wrong?

Exactly what is the wiring between the lcdc and tda998x?

--
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 13.8Mbps down 630kbps up
According to speedtest.net: 13Mbps down 490kbps up

--
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 13.8Mbps down 630kbps up According to speedtest.net: 13Mbps down 490kbps up

#7 lore raw

PATCH v2 1/1 Add DT support for Octavo Systems OSD3358-SM-RED based on TI AM335x

Quoted 22 lines · Neeraj Kumar Reddy Dantu
Quoted 7 lines

As maintainer of the TDA998x driver, I know what the TDA998x is capable of, I already have the datasheets, and I know the binding document.

What I'm asking about is about the specifics of your board's implementation and why you've written what you have in your DT file. You haven't answered my specific questions either.

I am sorry I was unclear. My apologies.

Here is the wiring between LCD controller and the framer:

LCD[11:15] ====> VPA[3:7]
LCD[5:10] ====> VPB[2:7]
LCD[0:4] ====> VPC[3:7]
Here is the schematic:
https://octavosystems.com/docs/osd3358-sm-red-schematics-pdf/
And yes, the colors will come out wrong for the 24 bit for the configuration set. See "blue-and-red-wiring" in tilcdc bindings:
https://www.kernel.org/doc/Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt
AM335x errata providing wiring info for 24 bit mode:
http://www.ti.com/lit/er/sprz360i/sprz360i.pdf

Quoted 4 lines

We used the same interface design as the BeagleBone Black:
https://github.com/torvalds/linux/blob/master/arch/arm/boot/dts/am335x-boneblack-common.dtsi

Hope this is helpful.

Thanks, that explains the situation. It would be nice to state that this weirdness is due to an errata in the comment about it.

However, if DRM had the ability to communicate the bus format between the LCD controller and the encoder/bridge, then we could do a lot more to correct this problem, such as:

- dynamically configuring the TDA998x's input to automatically remap the input pins.

- configure the TDA998x's colour space converter to correctly scale the RGB565 input for the missing LSB bits when we know that we are supplied with an RGB565 input signal.

The last point doesn't give you RGB888 or BGR888, but would at least mean that white would be white and not a very light grey with a green tinge.

It's seems odd that tilcdc supports 8bpc in the framebuffer, but the hardware has no way to produce 8bpc on the device's outputs.

Signature · 3 lines
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 13.8Mbps down 630kbps up
According to speedtest.net: 13Mbps down 490kbps up