mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-29 05:18:51 +09:00
![Dario Binacchi](/assets/img/avatar_default.png)
The previous version of am335x-fb.c contained the functionalities of two drivers that this patch has split. It was a video type driver that used the same registration compatible string that now registers a panel type driver. The proof of this is that two compatible strings were referred to within the same driver. There are now two drivers, each with its own compatible string, functions and API. Furthermore, the panel driver, in addition to decoding the display timings, is now also able to manage the backlight. Signed-off-by: Dario Binacchi <dariobin@libero.it> Reviewed-by: Simon Glass <sjg@chromium.org>
438 lines
6.7 KiB
Plaintext
438 lines
6.7 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0+
|
|
/*
|
|
* Copyright (C) 2017 B&R Industrial Automation GmbH
|
|
* http://www.br-automation.com
|
|
*
|
|
*/
|
|
/dts-v1/;
|
|
|
|
#include "am33xx.dtsi"
|
|
#include "dt-bindings/thermal/thermal.h"
|
|
|
|
/ {
|
|
model = "BRSMARC1 SoM";
|
|
compatible = "ti,am33xx";
|
|
|
|
fset: factory-settings {
|
|
bl-version = " ";
|
|
order-no = " ";
|
|
cpu-order-no = " ";
|
|
hw-revision = " ";
|
|
serial-no = <0>;
|
|
device-id = <0x0>;
|
|
parent-id = <0x0>;
|
|
hw-variant = <0x0>;
|
|
hw-platform = <0x7>;
|
|
fram-offset = <0x100>;
|
|
fram-size = <0x1F00>;
|
|
cache-disable = <0x0>;
|
|
cpu-clock = <0x0>;
|
|
};
|
|
|
|
chosen {
|
|
bootargs = "console=ttyO0,115200 earlyprintk";
|
|
stdout-path = &uart0;
|
|
};
|
|
|
|
aliases {
|
|
fset = &fset;
|
|
mmc = &mmc2;
|
|
spi0 = &spi0;
|
|
spi1 = &spi1;
|
|
touch0 = &burtouch0;
|
|
screen0 = &lcdscreen0;
|
|
};
|
|
|
|
memory {
|
|
device_type = "memory";
|
|
reg = <0x80000000 0x10000000>; /* 256 MB */
|
|
};
|
|
|
|
vmmcsd_fixed: fixedregulator@0 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vmmcsd_fixed";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
};
|
|
|
|
lcdscreen0: lcdscreen@0 {
|
|
/*backlight = <&tps_bl>; */
|
|
compatible = "ti,tilcdc,panel";
|
|
status = "okay";
|
|
|
|
panel-info {
|
|
ac-bias = <255>;
|
|
ac-bias-intrpt = <0>;
|
|
dma-burst-sz = <16>;
|
|
bpp = <32>;
|
|
fdd = <0x80>;
|
|
sync-edge = <0>;
|
|
sync-ctrl = <1>;
|
|
raster-order = <0>;
|
|
fifo-th = <0>;
|
|
rotation = <0>;
|
|
pupdelay = <0>;
|
|
pondelay = <0>;
|
|
pwrpin = <0x000000B1>;
|
|
brightdrv = <0>;
|
|
brightfdim = <100>;
|
|
brightdef = <50>;
|
|
};
|
|
|
|
display-timings {
|
|
default {
|
|
clock-frequency = <0>;
|
|
hactive = <0>;
|
|
vactive = <0>;
|
|
hfront-porch = <0>;
|
|
hback-porch = <0>;
|
|
hsync-len = <0>;
|
|
vfront-porch = <0>;
|
|
vback-porch = <0>;
|
|
vsync-len = <0>;
|
|
hsync-active = <0>;
|
|
vsync-active = <0>;
|
|
pupdelay = <10>;
|
|
pondelay = <10>;
|
|
};
|
|
};
|
|
};
|
|
|
|
board_thermal: board-thermal {
|
|
polling-delay-passive = <1000>; /* milliseconds */
|
|
polling-delay = <2500>; /* milliseconds */
|
|
|
|
thermal-sensors = <&cputemp>;
|
|
|
|
trips {
|
|
crit_trip: crit-trip {
|
|
temperature = <95000>; /* millicelsius */
|
|
hysteresis = <5000>; /* millicelsius */
|
|
type = "critical";
|
|
};
|
|
};
|
|
cooling-maps {
|
|
map0 {
|
|
trip = <&crit_trip>;
|
|
cooling-device =
|
|
<&resetc THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&uart0 { /* console uart */
|
|
u-boot,dm-spl;
|
|
status = "okay";
|
|
};
|
|
|
|
&uart2 { /* X2X - P2P */
|
|
status = "okay";
|
|
};
|
|
|
|
&uart3 { /* RS485 */
|
|
status = "okay";
|
|
};
|
|
|
|
&uart4 { /* RS232 */
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c0 {
|
|
u-boot,dm-spl;
|
|
status = "okay";
|
|
clock-frequency = <100000>;
|
|
|
|
tps: tps@24 { /* PMIC controller */
|
|
u-boot,dm-spl;
|
|
reg = <0x24>;
|
|
compatible = "ti,tps65217";
|
|
};
|
|
|
|
cputemp: temperature-sensor@48 { /* cpu temperature */
|
|
#thermal-sensor-cells = <0>;
|
|
compatible = "nxp,pct2075";
|
|
reg = <0x48>;
|
|
};
|
|
|
|
basetemp: temperature-sensor@49 { /* baseboard temperature */
|
|
#thermal-sensor-cells = <0>;
|
|
compatible = "nxp,pct2075";
|
|
reg = <0x49>;
|
|
};
|
|
extrtc: rtc@51 { /* realtime clock */
|
|
compatible = "epson,rx8571";
|
|
reg = <0x51>;
|
|
};
|
|
|
|
resetc: reset-controller@60 {
|
|
compatible = "bur,rststm";
|
|
reg = <0x60>;
|
|
|
|
cooling-min-state = <0>;
|
|
cooling-max-state = <1>; /* reset gets fired */
|
|
#cooling-cells = <2>; /* min followed by max */
|
|
};
|
|
};
|
|
|
|
&i2c1 {
|
|
u-boot,dm-spl;
|
|
status = "okay";
|
|
};
|
|
|
|
&spi0 {
|
|
u-boot,dm-spl;
|
|
status = "okay";
|
|
|
|
cs-gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>,
|
|
<&gpio0 6 GPIO_ACTIVE_HIGH>,
|
|
<0>,
|
|
<0>;
|
|
|
|
spi-max-frequency = <24000000>;
|
|
|
|
spi_flash: spiflash@0 {
|
|
u-boot,dm-spl;
|
|
u-boot,dm-pre-reloc;
|
|
compatible = "spidev", "spi-flash";
|
|
spi-max-frequency = <24000000>;
|
|
reg = <0>;
|
|
};
|
|
};
|
|
|
|
&spi1 {
|
|
u-boot,dm-spl;
|
|
status = "okay";
|
|
cs-gpios = <&gpio3 17 GPIO_ACTIVE_HIGH>,
|
|
<&gpio0 19 GPIO_ACTIVE_HIGH>,
|
|
<0>,
|
|
<0>;
|
|
|
|
spi-max-frequency = <24000000>;
|
|
};
|
|
|
|
&edma {
|
|
status = "okay";
|
|
};
|
|
|
|
&cppi41dma {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb_ctrl_mod {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb0_phy {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb1_phy {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb0 {
|
|
status = "okay";
|
|
dr_mode = "host";
|
|
};
|
|
|
|
&usb1 {
|
|
status = "okay";
|
|
dr_mode = "host";
|
|
};
|
|
|
|
&davinci_mdio {
|
|
status = "okay";
|
|
|
|
ethphy0: ethernet-phy@1 {
|
|
reg = <1>;
|
|
};
|
|
|
|
ethphy1: ethernet-phy@3 {
|
|
reg = <3>;
|
|
};
|
|
};
|
|
|
|
&mac {
|
|
status = "okay";
|
|
};
|
|
|
|
&phy_sel {
|
|
rmii-clock-ext;
|
|
};
|
|
|
|
&cpsw_emac0 {
|
|
phy_id = <&davinci_mdio>, <1>;
|
|
phy-handle = <ðphy0>;
|
|
phy-mode = "rmii";
|
|
ti,ledcr = <0x0480>;
|
|
};
|
|
|
|
&cpsw_emac1 {
|
|
phy_id = <&davinci_mdio>, <3>;
|
|
phy-handle = <ðphy1>;
|
|
phy-mode = "rmii";
|
|
ti,ledcr = <0x0480>;
|
|
};
|
|
|
|
&mmc1 {
|
|
vmmc-supply = <&vmmcsd_fixed>;
|
|
bus-width = <0x4>;
|
|
ti,non-removable;
|
|
ti,needs-special-hs-handling;
|
|
ti,vcc-aux-disable-is-sleep;
|
|
status = "okay";
|
|
};
|
|
|
|
&mmc2 {
|
|
vmmc-supply = <&vmmcsd_fixed>;
|
|
bus-width = <0x8>;
|
|
ti,non-removable;
|
|
ti,needs-special-hs-handling;
|
|
ti,vcc-aux-disable-is-sleep;
|
|
status = "okay";
|
|
};
|
|
|
|
&l4_per {
|
|
|
|
segment@300000 {
|
|
|
|
target-module@e000 {
|
|
u-boot,dm-pre-reloc;
|
|
|
|
lcdc: lcdc@0 {
|
|
u-boot,dm-pre-reloc;
|
|
status = "okay";
|
|
ti,no-reset-on-init;
|
|
ti,no-idle-on-init;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&elm {
|
|
status = "okay";
|
|
};
|
|
|
|
&sham {
|
|
status = "okay";
|
|
};
|
|
|
|
&aes {
|
|
status = "okay";
|
|
};
|
|
|
|
&gpio0 {
|
|
u-boot,dm-spl;
|
|
ti,no-reset-on-init;
|
|
};
|
|
|
|
&gpio1 {
|
|
u-boot,dm-spl;
|
|
ti,no-reset-on-init;
|
|
};
|
|
|
|
&gpio2 {
|
|
u-boot,dm-spl;
|
|
ti,no-reset-on-init;
|
|
};
|
|
|
|
&gpio3 {
|
|
u-boot,dm-spl;
|
|
ti,no-reset-on-init;
|
|
};
|
|
|
|
&timer1 { /* today unused */
|
|
status = "okay";
|
|
ti,no-reset-on-init;
|
|
ti,no-idle-on-init;
|
|
};
|
|
|
|
&timer2 { /* used for vxworks primary timer device */
|
|
status = "okay";
|
|
ti,no-reset-on-init;
|
|
ti,no-idle-on-init;
|
|
};
|
|
|
|
&timer3 { /* used sysdelay and hal tsc counter*/
|
|
status = "okay";
|
|
ti,no-reset-on-init;
|
|
ti,no-idle-on-init;
|
|
};
|
|
|
|
&timer4 { /* used for PWM beeper */
|
|
status = "okay";
|
|
ti,no-reset-on-init;
|
|
ti,no-idle-on-init;
|
|
};
|
|
|
|
&timer5 { /* used for PWM backlight */
|
|
status = "okay";
|
|
ti,no-reset-on-init;
|
|
ti,no-idle-on-init;
|
|
};
|
|
|
|
&timer6 { /* used for cpsw end device */
|
|
status = "okay";
|
|
ti,no-reset-on-init;
|
|
ti,no-idle-on-init;
|
|
};
|
|
|
|
&timer7 { /* used for cpsw end device */
|
|
status = "okay";
|
|
ti,no-reset-on-init;
|
|
ti,no-idle-on-init;
|
|
};
|
|
|
|
&wdt2 {
|
|
status = "okay";
|
|
ti,no-reset-on-init;
|
|
ti,no-idle-on-init;
|
|
};
|
|
|
|
&epwmss0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&tscadc {
|
|
status = "okay";
|
|
|
|
tsc {
|
|
burtouch0: burtouch@0 {
|
|
status = "okay";
|
|
compatible = "bur,DdVxSfTouchXXX";
|
|
bur,hwtree = "IF7";
|
|
bur,KX0 = <0x0>;
|
|
bur,KX1 = <0x0>;
|
|
bur,KX2 = <0x0>;
|
|
bur,KY0 = <0x0>;
|
|
bur,KY1 = <0x0>;
|
|
bur,KY2 = <0x0>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&dcan0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&dcan1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&sham {
|
|
status = "disabled";
|
|
};
|
|
|
|
&aes {
|
|
status = "disabled";
|
|
};
|
|
|
|
&rng {
|
|
status = "disabled";
|
|
};
|