* [PATCH v2] Add DT support for Octavo Systems OSD3358-SM-RED based on TI AM335x
@ 2018-07-06 20:00 Neeraj Dantu
2018-07-09 10:46 ` Tony Lindgren
2018-07-09 11:43 ` Russell King - ARM Linux
0 siblings, 2 replies; 7+ messages in thread
From: Neeraj Dantu @ 2018-07-06 20:00 UTC (permalink / raw)
To: devicetree, linux-omap, linux-arm-kernel
Cc: Tony Lindgren, Jason Kridner, Robert Nelson, Neeraj Dantu
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/
Signed-off-by: Neeraj Dantu <neeraj.dantu@octavosystems.com>
CC: Tony Lindgren <tony@atomide.com>
CC: Robert Nelson <robertcnelson@gmail.com>
CC: Jason Kridner <jkridner@gmail.com>
---
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
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 37a3de7..d1ff69c 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -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 \
diff --git a/arch/arm/boot/dts/am335x-osd3358-sm-red.dts b/arch/arm/boot/dts/am335x-osd3358-sm-red.dts
new file mode 100755
index 0000000..146fa12
--- /dev/null
+++ b/arch/arm/boot/dts/am335x-osd3358-sm-red.dts
@@ -0,0 +1,455 @@
+//SPDX-License-Identifier: GPL-2.0
+/* Copyright (C) 2018 Octavo Systems LLC - http://www.octavosystems.com/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+/dts-v1/;
+
+#include "am33xx.dtsi"
+#include "am335x-osd335x-common.dtsi"
+
+#include <dt-bindings/display/tda998x.h>
+
+/ {
+ model = "Octavo Systems OSD3358-SM-RED";
+ compatible = "oct,osd3358-sm-refdesign", "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx";
+};
+
+&ldo3_reg {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+};
+
+&mmc1 {
+ vmmc-supply = <&vmmcsd_fixed>;
+};
+
+&mmc2 {
+ vmmc-supply = <&vmmcsd_fixed>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&emmc_pins>;
+ bus-width = <8>;
+ status = "okay";
+};
+
+&am33xx_pinmux {
+ nxp_hdmi_bonelt_pins: nxp-hdmi-bonelt-pins {
+ pinctrl-single,pins = <
+ AM33XX_IOPAD(0x9b0, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr0 */
+ AM33XX_IOPAD(0x8a0, PIN_OUTPUT | MUX_MODE0) /* lcd_data0.lcd_data0 */
+ AM33XX_IOPAD(0x8a4, PIN_OUTPUT | MUX_MODE0) /* lcd_data1.lcd_data1 */
+ AM33XX_IOPAD(0x8a8, PIN_OUTPUT | MUX_MODE0) /* lcd_data2.lcd_data2 */
+ AM33XX_IOPAD(0x8ac, PIN_OUTPUT | MUX_MODE0) /* lcd_data3.lcd_data3 */
+ AM33XX_IOPAD(0x8b0, PIN_OUTPUT | MUX_MODE0) /* lcd_data4.lcd_data4 */
+ AM33XX_IOPAD(0x8b4, PIN_OUTPUT | MUX_MODE0) /* lcd_data5.lcd_data5 */
+ AM33XX_IOPAD(0x8b8, PIN_OUTPUT | MUX_MODE0) /* lcd_data6.lcd_data6 */
+ AM33XX_IOPAD(0x8bc, PIN_OUTPUT | MUX_MODE0) /* lcd_data7.lcd_data7 */
+ AM33XX_IOPAD(0x8c0, PIN_OUTPUT | MUX_MODE0) /* lcd_data8.lcd_data8 */
+ AM33XX_IOPAD(0x8c4, PIN_OUTPUT | MUX_MODE0) /* lcd_data9.lcd_data9 */
+ AM33XX_IOPAD(0x8c8, PIN_OUTPUT | MUX_MODE0) /* lcd_data10.lcd_data10 */
+ AM33XX_IOPAD(0x8cc, PIN_OUTPUT | MUX_MODE0) /* lcd_data11.lcd_data11 */
+ AM33XX_IOPAD(0x8d0, PIN_OUTPUT | MUX_MODE0) /* lcd_data12.lcd_data12 */
+ AM33XX_IOPAD(0x8d4, PIN_OUTPUT | MUX_MODE0) /* lcd_data13.lcd_data13 */
+ AM33XX_IOPAD(0x8d8, PIN_OUTPUT | MUX_MODE0) /* lcd_data14.lcd_data14 */
+ AM33XX_IOPAD(0x8dc, PIN_OUTPUT | MUX_MODE0) /* lcd_data15.lcd_data15 */
+ AM33XX_IOPAD(0x8e0, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* lcd_vsync.lcd_vsync */
+ AM33XX_IOPAD(0x8e4, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* lcd_hsync.lcd_hsync */
+ AM33XX_IOPAD(0x8e8, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* lcd_pclk.lcd_pclk */
+ AM33XX_IOPAD(0x8ec, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* lcd_ac_bias_en.lcd_ac_bias_en */
+ >;
+ };
+
+ nxp_hdmi_bonelt_off_pins: nxp-hdmi-bonelt-off-pins {
+ pinctrl-single,pins = <
+ AM33XX_IOPAD(0x9b0, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr0 */
+ >;
+ };
+
+ mcasp0_pins: mcasp0-pins {
+ pinctrl-single,pins = <
+ AM33XX_IOPAD(0x9ac, PIN_INPUT_PULLUP | MUX_MODE0) /* mcasp0_ahcklx.mcasp0_ahclkx */
+ AM33XX_IOPAD(0x99c, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mcasp0_ahclkr.mcasp0_axr2*/
+ AM33XX_IOPAD(0x994, PIN_OUTPUT_PULLUP | MUX_MODE0) /* mcasp0_fsx.mcasp0_fsx */
+ AM33XX_IOPAD(0x990, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp0_aclkx.mcasp0_aclkx */
+ AM33XX_IOPAD(0x86c, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a11.GPIO1_27 */
+ >;
+ };
+
+ flash_enable: flash-enable {
+ pinctrl-single,pins = <
+ AM33XX_IOPAD(0x944, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* rmii1_ref_clk.gpio0_29 */
+ >;
+ };
+
+ imu_interrupt: imu-interrupt {
+ pinctrl-single,pins = <
+ AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE7) /* mii1_rx_er.gpio3_2 */
+ >;
+ };
+
+ ethernet_interrupt: ethernet-interrupt{
+ pinctrl-single,pins = <
+ AM33XX_IOPAD(0x908, PIN_INPUT_PULLDOWN | MUX_MODE7) /* mii1_col.gpio3_0 */
+ >;
+ };
+};
+
+&lcdc {
+ 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";
+
+ port {
+ lcdc_0: endpoint@0 {
+ remote-endpoint = <&hdmi_0>;
+ };
+ };
+};
+
+&i2c0 {
+ tda19988: tda19988 {
+ compatible = "nxp,tda998x";
+ reg = <0x70>;
+
+ pinctrl-names = "default", "off";
+ pinctrl-0 = <&nxp_hdmi_bonelt_pins>;
+ pinctrl-1 = <&nxp_hdmi_bonelt_off_pins>;
+
+ /* Convert 24bit BGR to RGB, e.g. cross red and blue wiring */
+ /* video-ports = <0x234501>; */
+
+ #sound-dai-cells = <0>;
+ audio-ports = < TDA998x_I2S 0x03>;
+
+ ports {
+ port@0 {
+ hdmi_0: endpoint@0 {
+ remote-endpoint = <&lcdc_0>;
+ };
+ };
+ };
+ };
+
+ mpu9250: mpu9250@68 {
+ compatible = "invensense,mpu6050";
+ reg = <0x68>;
+ interrupt-parent = <&gpio3>;
+ interrupts = <21 IRQ_TYPE_EDGE_RISING>;
+ i2c-gate {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ ax8975@c {
+ compatible = "ak,ak8975";
+ reg = <0x0c>;
+ };
+ };
+ /*invensense,int_config = <0x10>;
+ invensense,level_shifter = <0>;
+ invensense,orientation = [01 00 00 00 01 00 00 00 01];
+ invensense,sec_slave_type = <0>;
+ invensense,key = [4e cc 7e eb f6 1e 35 22 00 34 0d 65 32 e9 94 89];*/
+ };
+
+ bmp280@78 {
+ compatible = "bosch,bmp280";
+ reg = <0x76>;
+ };
+};
+
+&rtc {
+ system-power-controller;
+};
+
+&mcasp0 {
+ #sound-dai-cells = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&mcasp0_pins>;
+ status = "okay";
+ op-mode = <0>; /* MCASP_IIS_MODE */
+ tdm-slots = <2>;
+ serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
+ 0 0 1 0
+ >;
+ tx-num-evt = <32>;
+ rx-num-evt = <32>;
+};
+
+/ {
+ clk_mcasp0_fixed: clk-mcasp0-fixed {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <24576000>;
+ };
+
+ clk_mcasp0: clk-mcasp0 {
+ #clock-cells = <0>;
+ compatible = "gpio-gate-clock";
+ clocks = <&clk_mcasp0_fixed>;
+ enable-gpios = <&gpio1 27 0>; /* BeagleBone Black Clk enable on GPIO1_27 */
+ };
+
+ sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,name = "TI BeagleBone Black";
+ simple-audio-card,format = "i2s";
+ simple-audio-card,bitclock-master = <&dailink0_master>;
+ simple-audio-card,frame-master = <&dailink0_master>;
+
+ dailink0_master: simple-audio-card,cpu {
+ sound-dai = <&mcasp0>;
+ clocks = <&clk_mcasp0>;
+ };
+
+ simple-audio-card,codec {
+ sound-dai = <&tda19988>;
+ };
+ };
+
+ chosen {
+ stdout-path = &uart0;
+ };
+
+ leds {
+ pinctrl-names = "default";
+ pinctrl-0 = <&user_leds_s0>;
+
+ compatible = "gpio-leds";
+
+ led2 {
+ label = "beaglebone:green:usr0";
+ gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "heartbeat";
+ default-state = "off";
+ };
+
+ led3 {
+ label = "beaglebone:green:usr1";
+ gpios = <&gpio1 22 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "mmc0";
+ default-state = "off";
+ };
+
+ led4 {
+ label = "beaglebone:green:usr2";
+ gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "cpu0";
+ default-state = "off";
+ };
+
+ led5 {
+ label = "beaglebone:green:usr3";
+ gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "mmc1";
+ default-state = "off";
+ };
+ };
+
+ vmmcsd_fixed: fixedregulator0 {
+ compatible = "regulator-fixed";
+ regulator-name = "vmmcsd_fixed";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+};
+
+&am33xx_pinmux {
+ pinctrl-names = "default";
+ pinctrl-0 = <&clkout2_pin>;
+
+ user_leds_s0: user-leds-s0 {
+ pinctrl-single,pins = <
+ AM33XX_IOPAD(0x854, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a5.gpio1_21 */
+ AM33XX_IOPAD(0x858, PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a6.gpio1_22 */
+ AM33XX_IOPAD(0x85c, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a7.gpio1_23 */
+ AM33XX_IOPAD(0x860, PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a8.gpio1_24 */
+ >;
+ };
+
+ i2c2_pins: pinmux-i2c2-pins {
+ pinctrl-single,pins = <
+ AM33XX_IOPAD(0x978, PIN_INPUT_PULLUP | MUX_MODE3) /* uart1_ctsn.i2c2_sda */
+ AM33XX_IOPAD(0x97c, PIN_INPUT_PULLUP | MUX_MODE3) /* uart1_rtsn.i2c2_scl */
+ >;
+ };
+
+ uart0_pins: pinmux-uart0-pins {
+ pinctrl-single,pins = <
+ AM33XX_IOPAD(0x970, PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */
+ AM33XX_IOPAD(0x974, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
+ >;
+ };
+
+ clkout2_pin: pinmux-clkout2-pin {
+ pinctrl-single,pins = <
+ AM33XX_IOPAD(0x9b4, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr1.clkout2 */
+ >;
+ };
+
+ cpsw_default: cpsw-default {
+ pinctrl-single,pins = <
+ /* Slave 1 */
+ AM33XX_IOPAD(0x914, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txen.rgmii1_tctl */
+ AM33XX_IOPAD(0x918, PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxdv.rgmii1_rctl */
+ AM33XX_IOPAD(0x91c, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd3.rgmii1_txd3 */
+ AM33XX_IOPAD(0x920, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd2.rgmii1_txd2 */
+ AM33XX_IOPAD(0x924, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_txd1 */
+ AM33XX_IOPAD(0x928, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_txd0 */
+ AM33XX_IOPAD(0x92c, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txclk.rgmii1_txclk */
+ AM33XX_IOPAD(0x930, PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxclk.rgmii1_rxclk */
+ AM33XX_IOPAD(0x934, PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd3.rgmii1_rxd3 */
+ AM33XX_IOPAD(0x938, PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd2.rgmii1_rxd2 */
+ AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd1.rgmii1_rxd1 */
+ AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd0.rgmii1_rxd0 */
+ >;
+ };
+
+ cpsw_sleep: cpsw-sleep {
+ pinctrl-single,pins = <
+ /* Slave 1 reset value */
+ AM33XX_IOPAD(0x914, PIN_INPUT_PULLDOWN | MUX_MODE7)
+ AM33XX_IOPAD(0x918, PIN_INPUT_PULLDOWN | MUX_MODE7)
+ AM33XX_IOPAD(0x91c, PIN_INPUT_PULLDOWN | MUX_MODE7)
+ AM33XX_IOPAD(0x920, PIN_INPUT_PULLDOWN | MUX_MODE7)
+ AM33XX_IOPAD(0x924, PIN_INPUT_PULLDOWN | MUX_MODE7)
+ AM33XX_IOPAD(0x928, PIN_INPUT_PULLDOWN | MUX_MODE7)
+ AM33XX_IOPAD(0x92c, PIN_INPUT_PULLDOWN | MUX_MODE7)
+ AM33XX_IOPAD(0x930, PIN_INPUT_PULLDOWN | MUX_MODE7)
+ AM33XX_IOPAD(0x934, PIN_INPUT_PULLDOWN | MUX_MODE7)
+ AM33XX_IOPAD(0x938, PIN_INPUT_PULLDOWN | MUX_MODE7)
+ AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE7)
+ AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE7)
+ >;
+ };
+
+ davinci_mdio_default: davinci-mdio-default {
+ pinctrl-single,pins = <
+ /* MDIO */
+ AM33XX_IOPAD(0x948, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */
+ AM33XX_IOPAD(0x94c, PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
+ >;
+ };
+
+ davinci_mdio_sleep: davinci-mdio-sleep {
+ pinctrl-single,pins = <
+ /* MDIO reset value */
+ AM33XX_IOPAD(0x948, PIN_INPUT_PULLDOWN | MUX_MODE7)
+ AM33XX_IOPAD(0x94c, PIN_INPUT_PULLDOWN | MUX_MODE7)
+ >;
+ };
+
+ mmc1_pins: pinmux-mmc1-pins {
+ pinctrl-single,pins = <
+ AM33XX_IOPAD(0x960, PIN_INPUT | MUX_MODE7) /* (C15) spi0_cs1.gpio0[6] */
+ AM33XX_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0) /* (G16) mmc0_dat0.mmc0_dat0 */
+ AM33XX_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0) /* (G15) mmc0_dat1.mmc0_dat1 */
+ AM33XX_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0) /* (F18) mmc0_dat2.mmc0_dat2 */
+ AM33XX_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0) /* (F17) mmc0_dat3.mmc0_dat3 */
+ AM33XX_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0) /* (G18) mmc0_cmd.mmc0_cmd */
+ AM33XX_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0) /* (G17) mmc0_clk.mmc0_clk */
+ >;
+ };
+
+ emmc_pins: pinmux-emmc-pins {
+ pinctrl-single,pins = <
+ AM33XX_IOPAD(0x880, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */
+ AM33XX_IOPAD(0x884, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn2.mmc1_cmd */
+ AM33XX_IOPAD(0x800, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */
+ AM33XX_IOPAD(0x804, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */
+ AM33XX_IOPAD(0x808, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */
+ AM33XX_IOPAD(0x80c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */
+ AM33XX_IOPAD(0x810, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad4.mmc1_dat4 */
+ AM33XX_IOPAD(0x814, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad5.mmc1_dat5 */
+ AM33XX_IOPAD(0x818, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad6.mmc1_dat6 */
+ AM33XX_IOPAD(0x81c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad7.mmc1_dat7 */
+ >;
+ };
+};
+
+
+&uart0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart0_pins>;
+
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+};
+
+&usb_ctrl_mod {
+ status = "okay";
+};
+
+&usb0_phy {
+ status = "okay";
+};
+
+&usb1_phy {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+ dr_mode = "peripheral";
+ interrupts-extended = <&intc 18 &tps 0>;
+ interrupt-names = "mc", "vbus";
+};
+
+&usb1 {
+ status = "okay";
+ dr_mode = "host";
+};
+
+&cppi41dma {
+ status = "okay";
+};
+
+&i2c2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c2_pins>;
+ status = "okay";
+ clock-frequency = <100000>;
+};
+
+&cpsw_emac0 {
+ phy_id = <&davinci_mdio>, <4>;
+ phy-mode = "rgmii-txid";
+};
+
+&mac {
+ slaves = <1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&cpsw_default>;
+ pinctrl-1 = <&cpsw_sleep>;
+ status = "okay";
+};
+
+&davinci_mdio {
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&davinci_mdio_default>;
+ pinctrl-1 = <&davinci_mdio_sleep>;
+ status = "okay";
+};
+
+&mmc1 {
+ status = "okay";
+ bus-width = <0x4>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc1_pins>;
+ cd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
+};
+
+&rtc {
+ clocks = <&clk_32768_ck>, <&l4_per_clkctrl AM3_CLKDIV32K_CLKCTRL 0>;
+ clock-names = "ext-clk", "int-clk";
+};
--
2.7.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2] Add DT support for Octavo Systems OSD3358-SM-RED based on TI AM335x
2018-07-06 20:00 [PATCH v2] Add DT support for Octavo Systems OSD3358-SM-RED based on TI AM335x Neeraj Dantu
@ 2018-07-09 10:46 ` Tony Lindgren
2018-07-09 10:50 ` Tony Lindgren
2018-07-09 11:43 ` Russell King - ARM Linux
1 sibling, 1 reply; 7+ messages in thread
From: Tony Lindgren @ 2018-07-09 10:46 UTC (permalink / raw)
To: Neeraj Dantu
Cc: devicetree, Jason Kridner, Neeraj Dantu, linux-omap,
Robert Nelson, linux-arm-kernel
* Neeraj Dantu <dantuguf14105@gmail.com> [180706 13:04]:
> 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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] Add DT support for Octavo Systems OSD3358-SM-RED based on TI AM335x
2018-07-09 10:46 ` Tony Lindgren
@ 2018-07-09 10:50 ` Tony Lindgren
0 siblings, 0 replies; 7+ messages in thread
From: Tony Lindgren @ 2018-07-09 10:50 UTC (permalink / raw)
To: Neeraj Dantu
Cc: devicetree, Jason Kridner, Neeraj Dantu, linux-omap,
Robert Nelson, linux-arm-kernel
* Tony Lindgren <tony@atomide.com> [180709 10:49]:
> * Neeraj Dantu <dantuguf14105@gmail.com> [180706 13:04]:
> > 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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] Add DT support for Octavo Systems OSD3358-SM-RED based on TI AM335x
2018-07-06 20:00 [PATCH v2] Add DT support for Octavo Systems OSD3358-SM-RED based on TI AM335x Neeraj Dantu
2018-07-09 10:46 ` Tony Lindgren
@ 2018-07-09 11:43 ` Russell King - ARM Linux
[not found] ` <CADO55X8_tbz-O8AuHwqCGnV0g2oDiGHzAug6g3PFqRth5U2H=w@mail.gmail.com>
1 sibling, 1 reply; 7+ messages in thread
From: Russell King - ARM Linux @ 2018-07-09 11:43 UTC (permalink / raw)
To: Neeraj Dantu
Cc: devicetree, Tony Lindgren, Jason Kridner, Neeraj Dantu,
linux-omap, Robert Nelson, linux-arm-kernel
On Fri, Jul 06, 2018 at 08:00:51PM +0000, Neeraj Dantu wrote:
> +&lcdc {
> + 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";
...
> +&i2c0 {
> + tda19988: tda19988 {
This should not be "tda19988" as the node name - DT requires generic
names, like "hdmi-encoder".
...
> + /* 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?
--
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] Add DT support for Octavo Systems OSD3358-SM-RED based on TI AM335x
[not found] ` <CADO55X8_tbz-O8AuHwqCGnV0g2oDiGHzAug6g3PFqRth5U2H=w@mail.gmail.com>
@ 2018-07-10 8:26 ` Russell King - ARM Linux
2018-07-10 20:54 ` Neeraj Kumar Reddy Dantu
0 siblings, 1 reply; 7+ messages in thread
From: Russell King - ARM Linux @ 2018-07-10 8:26 UTC (permalink / raw)
To: Neeraj Kumar Reddy Dantu
Cc: devicetree, Tony Lindgren, Jason Kridner, Neeraj Dantu,
linux-omap, Robert Nelson, linux-arm-kernel
On Mon, Jul 09, 2018 at 02:45:17PM -0500, Neeraj Kumar Reddy Dantu wrote:
> > This should not be "tda19988" as the node name - DT requires generic
> > names, like "hdmi-encoder".
>
> Thanks.Will fix in v3
>
> > 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?
>
> 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.
>
> Regards,
> Neeraj
>
> On Mon, Jul 9, 2018 at 6:43 AM Russell King - ARM Linux <
> linux@armlinux.org.uk> wrote:
>
> > On Fri, Jul 06, 2018 at 08:00:51PM +0000, Neeraj Dantu wrote:
> > > +&lcdc {
> > > + 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";
> > ...
> > > +&i2c0 {
> > > + tda19988: tda19988 {
> >
> > This should not be "tda19988" as the node name - DT requires generic
> > names, like "hdmi-encoder".
> >
> > ...
> > > + /* 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?
> >
> > --
> > 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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] Add DT support for Octavo Systems OSD3358-SM-RED based on TI AM335x
2018-07-10 8:26 ` Russell King - ARM Linux
@ 2018-07-10 20:54 ` Neeraj Kumar Reddy Dantu
2018-07-10 23:17 ` Russell King - ARM Linux
0 siblings, 1 reply; 7+ messages in thread
From: Neeraj Kumar Reddy Dantu @ 2018-07-10 20:54 UTC (permalink / raw)
To: linux
Cc: devicetree, Tony Lindgren, Jason Kridner, Neeraj Dantu,
linux-omap, Robert Nelson, linux-arm-kernel
> 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
On Tue, Jul 10, 2018 at 3:26 AM Russell King - ARM Linux
<linux@armlinux.org.uk> wrote:
>
> On Mon, Jul 09, 2018 at 02:45:17PM -0500, Neeraj Kumar Reddy Dantu wrote:
> > > This should not be "tda19988" as the node name - DT requires generic
> > > names, like "hdmi-encoder".
> >
> > Thanks.Will fix in v3
> >
> > > 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?
> >
> > 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.
>
> >
> > Regards,
> > Neeraj
> >
> > On Mon, Jul 9, 2018 at 6:43 AM Russell King - ARM Linux <
> > linux@armlinux.org.uk> wrote:
> >
> > > On Fri, Jul 06, 2018 at 08:00:51PM +0000, Neeraj Dantu wrote:
> > > > +&lcdc {
> > > > + 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";
> > > ...
> > > > +&i2c0 {
> > > > + tda19988: tda19988 {
> > >
> > > This should not be "tda19988" as the node name - DT requires generic
> > > names, like "hdmi-encoder".
> > >
> > > ...
> > > > + /* 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?
> > >
> > > --
> > > 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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] Add DT support for Octavo Systems OSD3358-SM-RED based on TI AM335x
2018-07-10 20:54 ` Neeraj Kumar Reddy Dantu
@ 2018-07-10 23:17 ` Russell King - ARM Linux
0 siblings, 0 replies; 7+ messages in thread
From: Russell King - ARM Linux @ 2018-07-10 23:17 UTC (permalink / raw)
To: Neeraj Kumar Reddy Dantu
Cc: devicetree, Tony Lindgren, Jason Kridner, Neeraj Dantu,
linux-omap, Robert Nelson, linux-arm-kernel
On Tue, Jul 10, 2018 at 03:54:19PM -0500, Neeraj Kumar Reddy Dantu wrote:
> > 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, 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.
--
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
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2018-07-10 23:17 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-07-06 20:00 [PATCH v2] Add DT support for Octavo Systems OSD3358-SM-RED based on TI AM335x Neeraj Dantu
2018-07-09 10:46 ` Tony Lindgren
2018-07-09 10:50 ` Tony Lindgren
2018-07-09 11:43 ` Russell King - ARM Linux
[not found] ` <CADO55X8_tbz-O8AuHwqCGnV0g2oDiGHzAug6g3PFqRth5U2H=w@mail.gmail.com>
2018-07-10 8:26 ` Russell King - ARM Linux
2018-07-10 20:54 ` Neeraj Kumar Reddy Dantu
2018-07-10 23:17 ` Russell King - ARM Linux
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).