mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-20 08:32:23 +07:00
a291b6b3d2
Add blue-and-red-wiring -property to LCDC node. Also adds comments on how to get support 24 bit RGB mode. After this patch am335x-boneblack support RGB565, BGR888, and XBGR8888 color formats. See details in Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt. The BBB has straight color wiring from am335x to tda19988, however the tda19988 can be configured to cross the blue and red wires. The comments show how to do that with video-ports property of tda19988 node and how to tell LCDC that blue and red wires are crossed, with blue-and-red-wiring LCDC node property. This changes supported color formats from 16 bit RGB and 24 bit BGR to 16 bit BGR and 24 bit RGB. Signed-off-by: Jyri Sarha <jsarha@ti.com> Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
171 lines
4.9 KiB
Plaintext
171 lines
4.9 KiB
Plaintext
/*
|
|
* Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.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-bone-common.dtsi"
|
|
#include <dt-bindings/display/tda998x.h>
|
|
|
|
/ {
|
|
model = "TI AM335x BeagleBone Black";
|
|
compatible = "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 */
|
|
>;
|
|
};
|
|
};
|
|
|
|
&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>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&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>;
|
|
};
|
|
};
|
|
};
|