diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2020-05-19 07:31:34 -0500 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2020-05-19 07:31:34 -0500 |
commit | 8d13ac4eebc5937523878a50257ef722fc424ef1 (patch) | |
tree | 3b64d91c3e675ac871c731f90026075fc7a1a5af | |
parent | 49fca5fc5b64d36b36e16f247e151c9c8c43b900 (diff) | |
parent | 6edf34e41110fcf8bdcbff134f24b74a58e8ae8b (diff) | |
download | linux-dt-8d13ac4eebc5937523878a50257ef722fc424ef1.tar.gz |
Merge pull request #4 in LCPDPUB/ti-upstream-tools from next to master
* commit '6edf34e41110fcf8bdcbff134f24b74a58e8ae8b':
config: a&d: add CONFIG_DRM_LVDS_CODEC=y
Add DRA7xx EVM LCD overlays
Add DT overlays for AM5 IDK LCDs
Add LCD overlays used by DRA7 EVMs and AM5 IDKs
Add k3-j721e-common-proc-board-infotainment.dtso
Add AM654x EVM DT overlays for displays
Makefile: remove extra backslash
-rw-r--r-- | Makefile | 27 | ||||
-rw-r--r-- | arch/arm/boot/dts/ti/am571x-idk-touchscreen.dtso | 14 | ||||
-rw-r--r-- | arch/arm/boot/dts/ti/am572x-idk-touchscreen.dtso | 13 | ||||
-rw-r--r-- | arch/arm/boot/dts/ti/am57xx-idk-osd-lcd-common.dtso | 61 | ||||
-rw-r--r-- | arch/arm/boot/dts/ti/dra71-evm-lcd-auo-g101evn01.0.dtso | 139 | ||||
-rw-r--r-- | arch/arm/boot/dts/ti/dra72-evm-touchscreen.dtso | 13 | ||||
-rw-r--r-- | arch/arm/boot/dts/ti/dra74-evm-touchscreen.dtso | 13 | ||||
-rw-r--r-- | arch/arm/boot/dts/ti/dra7x-evm-osd-lcd-common.dtso | 142 | ||||
-rw-r--r-- | arch/arm/boot/dts/ti/lcd-osd101t2045.dtso | 39 | ||||
-rw-r--r-- | arch/arm/boot/dts/ti/lcd-osd101t2587.dtso | 39 | ||||
-rw-r--r-- | arch/arm64/boot/dts/ti/k3-am654-evm-hdmi.dtso | 128 | ||||
-rw-r--r-- | arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso | 74 | ||||
-rw-r--r-- | arch/arm64/boot/dts/ti/k3-am654-evm-tc358876.dtso | 114 | ||||
-rw-r--r-- | arch/arm64/boot/dts/ti/k3-j721e-common-proc-board-infotainment.dtso | 173 | ||||
-rw-r--r-- | config/audio_display.cfg | 1 |
15 files changed, 987 insertions, 3 deletions
@@ -97,13 +97,34 @@ clean: @rm -f $(dtbo_tmp) $(dtbo_dst) # base-dtb,ovl1,ovl2... -dtb-tests-arm := dra76-evm.dtb,ti/dra76-evm-tfp410.dtbo +dtb-tests-arm := dra76-evm.dtb,ti/dra76-evm-tfp410.dtbo \ + dra71-evm.dtb,ti/dra71-evm-lcd-auo-g101evn01.0.dtbo \ + dra72-evm.dtb,ti/dra7x-evm-osd-lcd-common.dtbo,ti/dra72-evm-touchscreen.dtbo,ti/lcd-osd101t2045.dtbo \ + dra72-evm.dtb,ti/dra7x-evm-osd-lcd-common.dtbo,ti/dra72-evm-touchscreen.dtbo,ti/lcd-osd101t2587.dtbo \ + dra72-evm-revc.dtb,ti/dra7x-evm-osd-lcd-common.dtbo,ti/dra72-evm-touchscreen.dtbo,ti/lcd-osd101t2045.dtbo \ + dra72-evm-revc.dtb,ti/dra7x-evm-osd-lcd-common.dtbo,ti/dra72-evm-touchscreen.dtbo,ti/lcd-osd101t2587.dtbo \ + dra7-evm.dtb,ti/dra7x-evm-osd-lcd-common.dtbo,ti/dra74-evm-touchscreen.dtbo,ti/lcd-osd101t2045.dtbo \ + dra7-evm.dtb,ti/dra7x-evm-osd-lcd-common.dtbo,ti/dra74-evm-touchscreen.dtbo,ti/lcd-osd101t2587.dtbo dtb-tests-arm += \ am57xx-beagle-x15.dtb,ti/am57xx-evm-common.dtbo,ti/am57xx-evm.dtbo \ - am57xx-beagle-x15-revc.dtb,ti/am57xx-evm-common.dtbo,ti/am57xx-evm-reva3.dtbo \ + am57xx-beagle-x15-revc.dtb,ti/am57xx-evm-common.dtbo,ti/am57xx-evm-reva3.dtbo -dtb-tests-arm64 := ti/k3-am654-base-board.dtb,ti/k3-am654-gp.dtbo +dtb-tests-arm += \ + am571x-idk.dtb,ti/am57xx-idk-osd-lcd-common.dtbo,ti/am571x-idk-touchscreen.dtbo,ti/lcd-osd101t2045.dtbo \ + am571x-idk.dtb,ti/am57xx-idk-osd-lcd-common.dtbo,ti/am571x-idk-touchscreen.dtbo,ti/lcd-osd101t2587.dtbo \ + am572x-idk.dtb,ti/am57xx-idk-osd-lcd-common.dtbo,ti/am572x-idk-touchscreen.dtbo,ti/lcd-osd101t2045.dtbo \ + am572x-idk.dtb,ti/am57xx-idk-osd-lcd-common.dtbo,ti/am572x-idk-touchscreen.dtbo,ti/lcd-osd101t2587.dtbo \ + am574x-idk.dtb,ti/am57xx-idk-osd-lcd-common.dtbo,ti/am572x-idk-touchscreen.dtbo,ti/lcd-osd101t2587.dtbo + +dtb-tests-arm64 := \ + ti/k3-am654-base-board.dtb,ti/k3-am654-gp.dtbo \ + ti/k3-am654-base-board.dtb,ti/k3-am654-evm-hdmi.dtbo \ + ti/k3-am654-base-board.dtb,ti/k3-am654-evm-oldi-lcd1evm.dtbo \ + ti/k3-am654-base-board.dtb,ti/k3-am654-evm-tc358876.dtbo + +dtb-tests-arm64 += \ + ti/k3-j721e-common-proc-board.dtb,ti/k3-j721e-common-proc-board-infotainment.dtbo comma := , diff --git a/arch/arm/boot/dts/ti/am571x-idk-touchscreen.dtso b/arch/arm/boot/dts/ti/am571x-idk-touchscreen.dtso new file mode 100644 index 0000000..415de57 --- /dev/null +++ b/arch/arm/boot/dts/ti/am571x-idk-touchscreen.dtso @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/ + */ + +/dts-v1/; +/plugin/; + +#include <dt-bindings/interrupt-controller/irq.h> + +&touchscreen { + interrupt-parent = <&gpio5>; + interrupts = <6 IRQ_TYPE_EDGE_FALLING>; +}; diff --git a/arch/arm/boot/dts/ti/am572x-idk-touchscreen.dtso b/arch/arm/boot/dts/ti/am572x-idk-touchscreen.dtso new file mode 100644 index 0000000..c373294 --- /dev/null +++ b/arch/arm/boot/dts/ti/am572x-idk-touchscreen.dtso @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/ + */ + +/dts-v1/; +/plugin/; +#include <dt-bindings/interrupt-controller/irq.h> + +&touchscreen { + interrupt-parent = <&gpio3>; + interrupts = <14 IRQ_TYPE_EDGE_FALLING>; +}; diff --git a/arch/arm/boot/dts/ti/am57xx-idk-osd-lcd-common.dtso b/arch/arm/boot/dts/ti/am57xx-idk-osd-lcd-common.dtso new file mode 100644 index 0000000..69a899a --- /dev/null +++ b/arch/arm/boot/dts/ti/am57xx-idk-osd-lcd-common.dtso @@ -0,0 +1,61 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/ + */ + +/dts-v1/; +/plugin/; +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/interrupt-controller/irq.h> + +/ { + fragment@101 { + target-path = "/"; + + __overlay__ { + aliases { + display0 = "/display"; + display1 = "/connector"; + }; + + lcd_bl: backlight { + compatible = "pwm-backlight"; + pwms = <&ecap0 0 50000 1>; + brightness-levels = <0 51 53 56 62 75 101 152 255>; + default-brightness-level = <8>; + }; + }; + }; +}; + +&dsi_bridge { + status = "okay"; +}; + +&i2c1 { + #address-cells = <1>; + #size-cells = <0>; + + touchscreen: edt-ft5506@38 { + status = "okay"; + compatible = "edt,edt-ft5506", "edt,edt-ft5x06"; + + reg = <0x38>; + + /* GPIO line is inverted before going to touch panel */ + reset-gpios = <&gpio6 15 GPIO_ACTIVE_LOW>; + + touchscreen-size-x = <1920>; + touchscreen-size-y = <1200>; + + wakeup-source; + }; +}; + +&epwmss0 { + status = "okay"; +}; + +&ecap0 { + status = "okay"; +}; diff --git a/arch/arm/boot/dts/ti/dra71-evm-lcd-auo-g101evn01.0.dtso b/arch/arm/boot/dts/ti/dra71-evm-lcd-auo-g101evn01.0.dtso new file mode 100644 index 0000000..82d4ee3 --- /dev/null +++ b/arch/arm/boot/dts/ti/dra71-evm-lcd-auo-g101evn01.0.dtso @@ -0,0 +1,139 @@ +/dts-v1/; +/plugin/; +#include <dt-bindings/interrupt-controller/irq.h> +#include <dt-bindings/gpio/gpio.h> + +/ { + fragment@101 { + target-path = "/"; + + __overlay__ { + model = "TI DRA71 EVM-LCD-AUO-Display"; + + aliases { + display0 = "/display"; + display1 = "/connector"; + }; + + lcd_bl: backlight { + compatible = "led-backlight"; + leds = <&backlight_led>; + brightness-levels = <0 2 38 74 110 146 182 218 256>; + default-brightness-level = <8>; + }; + + lcd: display { + compatible = "auo,g101evn010"; + enable-gpios = <&pcf_lcd 13 GPIO_ACTIVE_LOW>; + backlight = <&lcd_bl>; + + port { + lcd_in: endpoint { + remote-endpoint = <&lvds_out>; + }; + }; + }; + + lvdsbridge { + compatible = "lvds-encoder"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + lvds_in: endpoint { + remote-endpoint = <&dpi_out>; + }; + }; + + port@1 { + reg = <1>; + lvds_out: endpoint { + remote-endpoint = <&lcd_in>; + }; + }; + + }; + }; + }; + }; +}; + +&pcf_gpio_21 { + p0 { + gpio-hog; + gpios = <0 GPIO_ACTIVE_HIGH>; + line-name = "sel_gpmc_ad_vid_s0"; + output-low; + }; + + p7 { + gpio-hog; + gpios = <7 GPIO_ACTIVE_HIGH>; + line-name = "sel_gpmc_ad_vid_s2"; + output-high; + }; +}; + +&i2c1 { + #address-cells = <1>; + #size-cells = <0>; + + pcf_display_board: gpio@27 { + compatible = "nxp,pcf8575"; + #gpio-cells = <2>; + gpio-controller; + reg = <0x27>; + + p0 { + gpio-hog; + gpios = <0 GPIO_ACTIVE_LOW>; + line-name = "backlight-enable"; + output-high; + }; + }; + + tlc59108@40 { + #address-cells = <1>; + #size-cells = <0>; + + compatible = "ti,tlc59108"; + reg = <0x40>; + + backlight_led: bl@2 { + label = "backlight"; + reg = <0x2>; + }; + }; + + touchscreen: goodix-gt9271@14 { + compatible = "goodix,gt9271"; + interrupt-parent = <&gpio1>; + interrupts = <15 IRQ_TYPE_LEVEL_HIGH>; + irq-gpios = <&pcf_display_board 6 GPIO_ACTIVE_HIGH>; + reg = <0x14>; + reset-gpios = <&pcf_display_board 5 GPIO_ACTIVE_LOW>; + status = "okay"; + touchscreen-inverted-y; + touchscreen-size-x = <1280>; + touchscreen-size-y = <800>; + }; +}; + +&dss { + ports { + #address-cells = <1>; + #size-cells = <0>; + + dss_port: port@2 { + reg = <2>; + + dpi_out: endpoint { + data-lines = <24>; + remote-endpoint = <&lvds_in>; + }; + }; + }; +}; diff --git a/arch/arm/boot/dts/ti/dra72-evm-touchscreen.dtso b/arch/arm/boot/dts/ti/dra72-evm-touchscreen.dtso new file mode 100644 index 0000000..ff46273 --- /dev/null +++ b/arch/arm/boot/dts/ti/dra72-evm-touchscreen.dtso @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/ + */ + +/dts-v1/; +/plugin/; +#include <dt-bindings/interrupt-controller/irq.h> + +&touchscreen { + interrupt-parent = <&gpio1>; + interrupts = <15 IRQ_TYPE_EDGE_FALLING>; +}; diff --git a/arch/arm/boot/dts/ti/dra74-evm-touchscreen.dtso b/arch/arm/boot/dts/ti/dra74-evm-touchscreen.dtso new file mode 100644 index 0000000..001d25b --- /dev/null +++ b/arch/arm/boot/dts/ti/dra74-evm-touchscreen.dtso @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/ + */ + +/dts-v1/; +/plugin/; +#include <dt-bindings/interrupt-controller/irq.h> + +&touchscreen { + interrupt-parent = <&gpio1>; + interrupts = <2 IRQ_TYPE_EDGE_FALLING>; +}; diff --git a/arch/arm/boot/dts/ti/dra7x-evm-osd-lcd-common.dtso b/arch/arm/boot/dts/ti/dra7x-evm-osd-lcd-common.dtso new file mode 100644 index 0000000..12347d1 --- /dev/null +++ b/arch/arm/boot/dts/ti/dra7x-evm-osd-lcd-common.dtso @@ -0,0 +1,142 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/ + */ + +/dts-v1/; +/plugin/; +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/interrupt-controller/irq.h> + +/ { + fragment@101 { + target-path = "/"; + + __overlay__ { + aliases { + display0 = "/display"; + display1 = "/connector"; + }; + + lcd_bl: backlight { + compatible = "led-backlight"; + leds = <&backlight_led>; + brightness-levels = <0 243 245 247 248 249 251 252 256>; + default-brightness-level = <5>; + }; + + tc358768_refclk: tc358768_refclk { + #clock-cells = <0>; + compatible = "fixed-clock"; + clock-frequency = <20000000>; + }; + + v_1p2_d: fixedregulator-v_1p2_d { + /* Output of TPS74701 on the display board */ + compatible = "regulator-fixed"; + regulator-name = "V1p2D"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + vin-supply = <&evm_5v0>; + regulator-always-on; + regulator-boot-on; + }; + }; + }; +}; + +&pcf_lcd { + p13 { + gpio-hog; + gpios = <13 GPIO_ACTIVE_LOW>; + line-name = "backlight-enable"; + output-high; + }; +}; + +&i2c1 { + #address-cells = <1>; + #size-cells = <0>; + + dsi_bridge: tc358768@0e { + compatible = "toshiba,tc358768"; + reg = <0x0e>; + + clocks = <&tc358768_refclk>; + clock-names = "refclk"; + + /* GPIO line is inverted before going to the bridge */ + reset-gpios = <&pcf_display_board 0 GPIO_ACTIVE_HIGH>; + + vddc-supply = <&v_1p2_d>; + vddmipi-supply = <&v_1p2_d>; + vddio-supply = <&vsys_3v3>; + + dsi_bridge_ports: ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + rgb_in: endpoint { + remote-endpoint = <&dpi_out>; + data-lines = <24>; + }; + }; + }; + }; + + tlc59108: tlc59116@40 { + #address-cells = <1>; + #size-cells = <0>; + + compatible = "ti,tlc59108"; + reg = <0x40>; + + backlight_led: bl@2 { + label = "backlight"; + reg = <0x2>; + }; + }; + + pcf_display_board: gpio@27 { + compatible = "nxp,pcf8575"; + reg = <0x27>; + gpio-controller; + #gpio-cells = <2>; + }; + + touchscreen: edt-ft5506@38 { + status = "okay"; + compatible = "edt,edt-ft5506", "edt,edt-ft5x06"; + + reg = <0x38>; + + /* GPIO line is inverted before going to touch panel */ + reset-gpios = <&pcf_display_board 5 GPIO_ACTIVE_HIGH>; + + touchscreen-size-x = <1920>; + touchscreen-size-y = <1200>; + + wakeup-source; + }; +}; + +&dss { + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + dpi_out: endpoint { + remote-endpoint = <&rgb_in>; + data-lines = <24>; + }; + }; + + }; +}; diff --git a/arch/arm/boot/dts/ti/lcd-osd101t2045.dtso b/arch/arm/boot/dts/ti/lcd-osd101t2045.dtso new file mode 100644 index 0000000..c9d8bbf --- /dev/null +++ b/arch/arm/boot/dts/ti/lcd-osd101t2045.dtso @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/ + */ + +/dts-v1/; +/plugin/; + +&dsi_bridge { + #address-cells = <1>; + #size-cells = <0>; + + lcd: display { + compatible = "osddisplays,osd101t2045-53ts"; + reg = <0>; + + label = "lcd"; + + backlight = <&lcd_bl>; + + port { + lcd_in: endpoint { + remote-endpoint = <&dsi_out>; + }; + }; + }; +}; + +&dsi_bridge_ports { + #address-cells = <1>; + #size-cells = <0>; + + port@1 { + reg = <1>; + dsi_out: endpoint { + remote-endpoint = <&lcd_in>; + }; + }; +}; diff --git a/arch/arm/boot/dts/ti/lcd-osd101t2587.dtso b/arch/arm/boot/dts/ti/lcd-osd101t2587.dtso new file mode 100644 index 0000000..72a0e84 --- /dev/null +++ b/arch/arm/boot/dts/ti/lcd-osd101t2587.dtso @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/ + */ + +/dts-v1/; +/plugin/; + +&dsi_bridge { + #address-cells = <1>; + #size-cells = <0>; + + lcd: display { + compatible = "osddisplays,osd101t2587-53ts"; + reg = <0>; + + label = "lcd"; + + backlight = <&lcd_bl>; + + port { + lcd_in: endpoint { + remote-endpoint = <&dsi_out>; + }; + }; + }; +}; + +&dsi_bridge_ports { + #address-cells = <1>; + #size-cells = <0>; + + port@1 { + reg = <1>; + dsi_out: endpoint { + remote-endpoint = <&lcd_in>; + }; + }; +}; diff --git a/arch/arm64/boot/dts/ti/k3-am654-evm-hdmi.dtso b/arch/arm64/boot/dts/ti/k3-am654-evm-hdmi.dtso new file mode 100644 index 0000000..d76f2ed --- /dev/null +++ b/arch/arm64/boot/dts/ti/k3-am654-evm-hdmi.dtso @@ -0,0 +1,128 @@ +// SPDX-License-Identifier: GPL-2.0 +/** + * J6 PLUS HDMI DISPLAY ADAPTER for am654-evm (connected to J36) + * Note: the USB is not connected on am654-evm + * + * Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/ + */ + +/dts-v1/; +/plugin/; + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/interrupt-controller/irq.h> +#include <dt-bindings/pinctrl/k3.h> + +/ { + fragment@101 { + target-path = "/"; + + __overlay__ { + dvi-connector { + compatible = "hdmi-connector"; + ddc-i2c-bus = <&main_i2c1>; + digital; + + /* the gpio doesn't support interrupt */ + hpd-gpios = <&pca9555 11 GPIO_ACTIVE_HIGH>; + + port { + dvi_connector_in: endpoint { + remote-endpoint = <&tfp410_out>; + }; + }; + }; + + dvi-bridge { + #address-cells = <1>; + #size-cells = <0>; + compatible = "ti,tfp410"; + ti,deskew = <3>; + + port@0 { + reg = <0>; + + tfp410_in: endpoint { + remote-endpoint = <&dpi_out0>; + pclk-sample = <1>; + }; + }; + + port@1 { + reg = <1>; + + tfp410_out: endpoint { + remote-endpoint = <&dvi_connector_in>; + }; + }; + }; + }; + }; +}; + +&main_pmx0 { + dss_vout1_pins_default: dss_vout1_pins_default { + pinctrl-single,pins = < + AM65X_IOPAD(0x0000, PIN_OUTPUT, 1) /* VOUT1_DATA0 */ + AM65X_IOPAD(0x0004, PIN_OUTPUT, 1) /* VOUT1_DATA1 */ + AM65X_IOPAD(0x0008, PIN_OUTPUT, 1) /* VOUT1_DATA2 */ + AM65X_IOPAD(0x000c, PIN_OUTPUT, 1) /* VOUT1_DATA3 */ + AM65X_IOPAD(0x0010, PIN_OUTPUT, 1) /* VOUT1_DATA4 */ + AM65X_IOPAD(0x0014, PIN_OUTPUT, 1) /* VOUT1_DATA5 */ + AM65X_IOPAD(0x0018, PIN_OUTPUT, 1) /* VOUT1_DATA6 */ + AM65X_IOPAD(0x001c, PIN_OUTPUT, 1) /* VOUT1_DATA7 */ + AM65X_IOPAD(0x0020, PIN_OUTPUT, 1) /* VOUT1_DATA8 */ + AM65X_IOPAD(0x0024, PIN_OUTPUT, 1) /* VOUT1_DATA9 */ + AM65X_IOPAD(0x0028, PIN_OUTPUT, 1) /* VOUT1_DATA10 */ + AM65X_IOPAD(0x002c, PIN_OUTPUT, 1) /* VOUT1_DATA11 */ + AM65X_IOPAD(0x0030, PIN_OUTPUT, 1) /* VOUT1_DATA12 */ + AM65X_IOPAD(0x0034, PIN_OUTPUT, 1) /* VOUT1_DATA13 */ + AM65X_IOPAD(0x0038, PIN_OUTPUT, 1) /* VOUT1_DATA14 */ + AM65X_IOPAD(0x003c, PIN_OUTPUT, 1) /* VOUT1_DATA15 */ + AM65X_IOPAD(0x0040, PIN_OUTPUT, 1) /* VOUT1_DATA16 */ + AM65X_IOPAD(0x0044, PIN_OUTPUT, 1) /* VOUT1_DATA17 */ + AM65X_IOPAD(0x0048, PIN_OUTPUT, 1) /* VOUT1_DATA18 */ + AM65X_IOPAD(0x004c, PIN_OUTPUT, 1) /* VOUT1_DATA19 */ + AM65X_IOPAD(0x0050, PIN_OUTPUT, 1) /* VOUT1_DATA20 */ + AM65X_IOPAD(0x0054, PIN_OUTPUT, 1) /* VOUT1_DATA21 */ + AM65X_IOPAD(0x0058, PIN_OUTPUT, 1) /* VOUT1_DATA22 */ + AM65X_IOPAD(0x005c, PIN_OUTPUT, 1) /* VOUT1_DATA23 */ + AM65X_IOPAD(0x0060, PIN_OUTPUT, 1) /* VOUT1_VSYNC */ + AM65X_IOPAD(0x0064, PIN_OUTPUT, 1) /* VOUT1_HSYNC */ + AM65X_IOPAD(0x0068, PIN_OUTPUT, 1) /* VOUT1_PCLK */ + AM65X_IOPAD(0x006c, PIN_OUTPUT, 1) /* VOUT1_DE */ + >; + }; +}; + +&pca9555 { + p6 { + /* P06 - CON_LCD_PWR_DN */ + gpio-hog; + gpios = <6 GPIO_ACTIVE_HIGH>; + output-low; + line-name = "CON_LCD_PWR_DN"; + }; +}; + +&dss { + status = "ok"; + + pinctrl-names = "default"; + pinctrl-0 = <&dss_vout1_pins_default>; + + assigned-clocks = <&k3_clks 67 2>; + assigned-clock-parents = <&k3_clks 67 5>; +}; + +&dss_ports { + #address-cells = <1>; + #size-cells = <0>; + port@1 { + reg = <1>; + + dpi_out0: endpoint { + remote-endpoint = <&tfp410_in>; + }; + }; +}; diff --git a/arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso b/arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso new file mode 100644 index 0000000..304fc66 --- /dev/null +++ b/arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso @@ -0,0 +1,74 @@ +// SPDX-License-Identifier: GPL-2.0 +/** + * OLDI-LCD1EVM Rocktech integrated panel and touch DT overlay for AM654-EVM. + * + * Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/ + */ + +/dts-v1/; +/plugin/; + +#include <dt-bindings/pwm/pwm.h> +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/interrupt-controller/irq.h> + +/ { + fragment@101 { + target-path = "/"; + + __overlay__ { + display0 { + compatible = "rocktech,rk101ii01d-ct"; + backlight = <&lcd_bl>; + enable-gpios = <&pca9555 8 GPIO_ACTIVE_HIGH>; + + port { + lcd_in0: endpoint { + remote-endpoint = <&oldi_out0>; + }; + }; + }; + + lcd_bl: backlight { + compatible = "pwm-backlight"; + pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>; + brightness-levels = <0 32 64 96 128 160 192 224 255>; + default-brightness-level = <8>; + }; + }; + }; +}; + +&dss { + status = "ok"; +}; + +&dss_ports { + #address-cells = <1>; + #size-cells = <0>; + port@0 { + reg = <0>; + + oldi_out0: endpoint { + remote-endpoint = <&lcd_in0>; + }; + }; +}; + +&main_i2c1 { + #address-cells = <1>; + #size-cells = <0>; + gt928: touchscreen@14 { + status = "okay"; + compatible = "goodix,gt928"; + reg = <0x14>; + + interrupt-parent = <&pca9554>; + interrupts = <3 IRQ_TYPE_EDGE_FALLING>; + touchscreen-size-x = <1280>; + touchscreen-size-y = <800>; + + reset-gpios = <&pca9555 9 GPIO_ACTIVE_HIGH>; + irq-gpios = <&pca9554 3 GPIO_ACTIVE_HIGH>; + }; +}; diff --git a/arch/arm64/boot/dts/ti/k3-am654-evm-tc358876.dtso b/arch/arm64/boot/dts/ti/k3-am654-evm-tc358876.dtso new file mode 100644 index 0000000..cdf410e --- /dev/null +++ b/arch/arm64/boot/dts/ti/k3-am654-evm-tc358876.dtso @@ -0,0 +1,114 @@ +// SPDX-License-Identifier: GPL-2.0 +/** + * Toshiba TC358867 expansion board for AM654-EVM. + * + * Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/ + */ + +/dts-v1/; +/plugin/; + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/interrupt-controller/irq.h> +#include <dt-bindings/pinctrl/k3.h> + +/ { + fragment@101 { + target-path = "/"; + + __overlay__ { + dp_refclk: fixed-clock-tc358767 { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <19200000>; + }; + }; + }; +}; + +&main_pmx0 { + dss_vout1_pins_default: dss_vout1_pins_default { + pinctrl-single,pins = < + AM65X_IOPAD(0x0000, PIN_OUTPUT, 1) /* VOUT1_DATA0 */ + AM65X_IOPAD(0x0004, PIN_OUTPUT, 1) /* VOUT1_DATA1 */ + AM65X_IOPAD(0x0008, PIN_OUTPUT, 1) /* VOUT1_DATA2 */ + AM65X_IOPAD(0x000c, PIN_OUTPUT, 1) /* VOUT1_DATA3 */ + AM65X_IOPAD(0x0010, PIN_OUTPUT, 1) /* VOUT1_DATA4 */ + AM65X_IOPAD(0x0014, PIN_OUTPUT, 1) /* VOUT1_DATA5 */ + AM65X_IOPAD(0x0018, PIN_OUTPUT, 1) /* VOUT1_DATA6 */ + AM65X_IOPAD(0x001c, PIN_OUTPUT, 1) /* VOUT1_DATA7 */ + AM65X_IOPAD(0x0020, PIN_OUTPUT, 1) /* VOUT1_DATA8 */ + AM65X_IOPAD(0x0024, PIN_OUTPUT, 1) /* VOUT1_DATA9 */ + AM65X_IOPAD(0x0028, PIN_OUTPUT, 1) /* VOUT1_DATA10 */ + AM65X_IOPAD(0x002c, PIN_OUTPUT, 1) /* VOUT1_DATA11 */ + AM65X_IOPAD(0x0030, PIN_OUTPUT, 1) /* VOUT1_DATA12 */ + AM65X_IOPAD(0x0034, PIN_OUTPUT, 1) /* VOUT1_DATA13 */ + AM65X_IOPAD(0x0038, PIN_OUTPUT, 1) /* VOUT1_DATA14 */ + AM65X_IOPAD(0x003c, PIN_OUTPUT, 1) /* VOUT1_DATA15 */ + AM65X_IOPAD(0x0040, PIN_OUTPUT, 1) /* VOUT1_DATA16 */ + AM65X_IOPAD(0x0044, PIN_OUTPUT, 1) /* VOUT1_DATA17 */ + AM65X_IOPAD(0x0048, PIN_OUTPUT, 1) /* VOUT1_DATA18 */ + AM65X_IOPAD(0x004c, PIN_OUTPUT, 1) /* VOUT1_DATA19 */ + AM65X_IOPAD(0x0050, PIN_OUTPUT, 1) /* VOUT1_DATA20 */ + AM65X_IOPAD(0x0054, PIN_OUTPUT, 1) /* VOUT1_DATA21 */ + AM65X_IOPAD(0x0058, PIN_OUTPUT, 1) /* VOUT1_DATA22 */ + AM65X_IOPAD(0x005c, PIN_OUTPUT, 1) /* VOUT1_DATA23 */ + AM65X_IOPAD(0x0060, PIN_OUTPUT, 1) /* VOUT1_VSYNC */ + AM65X_IOPAD(0x0064, PIN_OUTPUT, 1) /* VOUT1_HSYNC */ + AM65X_IOPAD(0x0068, PIN_OUTPUT, 1) /* VOUT1_PCLK */ + AM65X_IOPAD(0x006c, PIN_OUTPUT, 1) /* VOUT1_DE */ + >; + }; +}; + +&main_i2c1 { + #address-cells = <1>; + #size-cells = <0>; + + edp-bridge@f { + compatible = "toshiba,tc358867", "toshiba,tc358767"; + reg = <0x0f>; + + reset-gpios = <&pca9555 6 GPIO_ACTIVE_HIGH>; + + clock-names = "ref"; + clocks = <&dp_refclk>; + + toshiba,hpd-pin = <0>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@1 { + reg = <1>; + + bridge_in: endpoint { + remote-endpoint = <&dpi_out>; + }; + }; + }; + }; +}; + +&dss { + status = "ok"; + + pinctrl-names = "default"; + pinctrl-0 = <&dss_vout1_pins_default>; + + assigned-clocks = <&k3_clks 67 2>; + assigned-clock-parents = <&k3_clks 67 5>; +}; + +&dss_ports { + #address-cells = <1>; + #size-cells = <0>; + port@1 { + reg = <1>; + + dpi_out: endpoint { + remote-endpoint = <&bridge_in>; + }; + }; +}; diff --git a/arch/arm64/boot/dts/ti/k3-j721e-common-proc-board-infotainment.dtso b/arch/arm64/boot/dts/ti/k3-j721e-common-proc-board-infotainment.dtso new file mode 100644 index 0000000..0611f82 --- /dev/null +++ b/arch/arm64/boot/dts/ti/k3-j721e-common-proc-board-infotainment.dtso @@ -0,0 +1,173 @@ +// SPDX-License-Identifier: GPL-2.0 +/** + * Infotainment Expansion Board for j721e-evm + * + * Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/ + */ + +/dts-v1/; +/plugin/; + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/interrupt-controller/irq.h> +#include <dt-bindings/pinctrl/k3.h> + +/ { + fragment@102 { + target-path = "/"; + + __overlay__ { + dvi-connector { + compatible = "hdmi-connector"; + ddc-i2c-bus = <&main_i2c1>; + digital; + type = "a"; + + /* P12 - HDMI_HPD */ + hpd-gpios = <&vout_exp 10 GPIO_ACTIVE_HIGH>; + + port { + dvi_connector_in: endpoint { + remote-endpoint = <&tfp410_out>; + }; + }; + }; + + dvi-bridge { + #address-cells = <1>; + #size-cells = <0>; + compatible = "ti,tfp410"; + + /* P10 - HDMI_PDn */ + powerdown-gpios = <&vout_exp 8 GPIO_ACTIVE_LOW>; + + port@0 { + reg = <0>; + + tfp410_in: endpoint { + remote-endpoint = <&dpi_out0>; + pclk-sample = <1>; + }; + }; + + port@1 { + reg = <1>; + + tfp410_out: endpoint { + remote-endpoint = <&dvi_connector_in>; + }; + }; + }; + }; + }; +}; + +&main_pmx0 { + main_i2c1_vout_exp_pins_default: main_i2c1_vout_exp_pins_default { + pinctrl-single,pins = < + J721E_IOPAD(0x264, PIN_INPUT, 7) /* (T29) MMC2_DAT2.GPIO1_24 */ + >; + }; + + dss_vout0_pins_default: dss_vout0_pins_default { + pinctrl-single,pins = < + J721E_IOPAD(0x58, PIN_OUTPUT, 10) /* (AE22) PRG1_PRU1_GPO0.VOUT0_DATA0 */ + J721E_IOPAD(0x5c, PIN_OUTPUT, 10) /* (AG23) PRG1_PRU1_GPO1.VOUT0_DATA1 */ + J721E_IOPAD(0x60, PIN_OUTPUT, 10) /* (AF23) PRG1_PRU1_GPO2.VOUT0_DATA2 */ + J721E_IOPAD(0x64, PIN_OUTPUT, 10) /* (AD23) PRG1_PRU1_GPO3.VOUT0_DATA3 */ + J721E_IOPAD(0x68, PIN_OUTPUT, 10) /* (AH24) PRG1_PRU1_GPO4.VOUT0_DATA4 */ + J721E_IOPAD(0x6c, PIN_OUTPUT, 10) /* (AG21) PRG1_PRU1_GPO5.VOUT0_DATA5 */ + J721E_IOPAD(0x70, PIN_OUTPUT, 10) /* (AE23) PRG1_PRU1_GPO6.VOUT0_DATA6 */ + J721E_IOPAD(0x74, PIN_OUTPUT, 10) /* (AC21) PRG1_PRU1_GPO7.VOUT0_DATA7 */ + J721E_IOPAD(0x78, PIN_OUTPUT, 10) /* (Y23) PRG1_PRU1_GPO8.VOUT0_DATA8 */ + J721E_IOPAD(0x7c, PIN_OUTPUT, 10) /* (AF21) PRG1_PRU1_GPO9.VOUT0_DATA9 */ + J721E_IOPAD(0x80, PIN_OUTPUT, 10) /* (AB23) PRG1_PRU1_GPO10.VOUT0_DATA10 */ + J721E_IOPAD(0x84, PIN_OUTPUT, 10) /* (AJ25) PRG1_PRU1_GPO11.VOUT0_DATA11 */ + J721E_IOPAD(0x88, PIN_OUTPUT, 10) /* (AH25) PRG1_PRU1_GPO12.VOUT0_DATA12 */ + J721E_IOPAD(0x8c, PIN_OUTPUT, 10) /* (AG25) PRG1_PRU1_GPO13.VOUT0_DATA13 */ + J721E_IOPAD(0x90, PIN_OUTPUT, 10) /* (AH26) PRG1_PRU1_GPO14.VOUT0_DATA14 */ + J721E_IOPAD(0x94, PIN_OUTPUT, 10) /* (AJ27) PRG1_PRU1_GPO15.VOUT0_DATA15 */ + J721E_IOPAD(0x30, PIN_OUTPUT, 10) /* (AF24) PRG1_PRU0_GPO11.VOUT0_DATA16 */ + J721E_IOPAD(0x34, PIN_OUTPUT, 10) /* (AJ24) PRG1_PRU0_GPO12.VOUT0_DATA17 */ + J721E_IOPAD(0x38, PIN_OUTPUT, 10) /* (AG24) PRG1_PRU0_GPO13.VOUT0_DATA18 */ + J721E_IOPAD(0x3c, PIN_OUTPUT, 10) /* (AD24) PRG1_PRU0_GPO14.VOUT0_DATA19 */ + J721E_IOPAD(0x40, PIN_OUTPUT, 10) /* (AC24) PRG1_PRU0_GPO15.VOUT0_DATA20 */ + J721E_IOPAD(0x44, PIN_OUTPUT, 10) /* (AE24) PRG1_PRU0_GPO16.VOUT0_DATA21 */ + J721E_IOPAD(0x24, PIN_OUTPUT, 10) /* (AJ20) PRG1_PRU0_GPO8.VOUT0_DATA22 */ + J721E_IOPAD(0x28, PIN_OUTPUT, 10) /* (AG20) PRG1_PRU0_GPO9.VOUT0_DATA23 */ + J721E_IOPAD(0x9c, PIN_OUTPUT, 10) /* (AC22) PRG1_PRU1_GPO17.VOUT0_DE */ + J721E_IOPAD(0x98, PIN_OUTPUT, 10) /* (AJ26) PRG1_PRU1_GPO16.VOUT0_HSYNC */ + J721E_IOPAD(0xa4, PIN_OUTPUT, 10) /* (AH22) PRG1_PRU1_GPO19.VOUT0_PCLK */ + J721E_IOPAD(0xa0, PIN_OUTPUT, 10) /* (AJ22) PRG1_PRU1_GPO18.VOUT0_VSYNC */ + >; + }; +}; + +&main_i2c1 { + /* i2c1 is used for DVI DDC, so we need to use 100kHz */ + clock-frequency = <100000>; + + #address-cells = <1>; + #size-cells = <0>; + + vout_exp: gpio@21 { + compatible = "ti,tca6416"; + reg = <0x21>; + gpio-controller; + #gpio-cells = <2>; + pinctrl-names = "default"; + pinctrl-0 = <&main_i2c1_vout_exp_pins_default>; + interrupt-parent = <&main_gpio1>; + interrupts = <24 IRQ_TYPE_EDGE_FALLING>; + interrupt-controller; + #interrupt-cells = <2>; + }; +}; + +&vout_exp { + p11 { + /* P11 - HDMI_DDC_OE */ + gpio-hog; + gpios = <9 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "HDMI_DDC_OE"; + }; +}; + +&exp1 { + p14 { + /* P14 - VINOUT_MUX_SEL0 */ + gpio-hog; + gpios = <12 GPIO_ACTIVE_HIGH>; + output-low; + line-name = "VINOUT_MUX_SEL0"; + }; + + p15 { + /* P15 - VINOUT_MUX_SEL1 */ + gpio-hog; + gpios = <13 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "VINOUT_MUX_SEL1"; + }; +}; + +&dss { + status = "ok"; + + pinctrl-names = "default"; + pinctrl-0 = <&dss_vout0_pins_default>; +}; + +&dss_ports { + #address-cells = <1>; + #size-cells = <0>; + + port@1 { + reg = <1>; + + dpi_out0: endpoint { + remote-endpoint = <&tfp410_in>; + }; + }; +}; diff --git a/config/audio_display.cfg b/config/audio_display.cfg index 6d62900..42b7f4b 100644 --- a/config/audio_display.cfg +++ b/config/audio_display.cfg @@ -27,6 +27,7 @@ CONFIG_DRM_DISPLAY_CONNECTOR=y CONFIG_DRM_SII902X=y CONFIG_DRM_TI_TFP410=y CONFIG_DRM_TI_TPD12S015=y +CONFIG_DRM_LVDS_CODEC=y CONFIG_DRM_TOSHIBA_TC358767=y CONFIG_DRM_TOSHIBA_TC358768=y CONFIG_DRM_PANEL_SIMPLE=y |