mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-20 17:08:52 +09:00
![Hannes Schmelzer](/assets/img/avatar_default.png)
This commit adds support for the B&R brsmarc1 SoM. The SoM is based on TI's AM335x SoC. Mainly vxWorks 6.9.4.x is running on the board, doing some PLC stuff on various carrier boards. Signed-off-by: Hannes Schmelzer <hannes.schmelzer@br-automation.com>
417 lines
6.4 KiB
Plaintext
417 lines
6.4 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";
|
|
};
|
|
|
|
&mac {
|
|
status = "okay";
|
|
};
|
|
|
|
&phy_sel {
|
|
rmii-clock-ext;
|
|
};
|
|
|
|
&cpsw_emac0 {
|
|
phy_id = <&davinci_mdio>, <1>;
|
|
phy-mode = "rmii";
|
|
ti,ledcr = <0x0480>;
|
|
};
|
|
|
|
&cpsw_emac1 {
|
|
phy_id = <&davinci_mdio>, <3>;
|
|
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";
|
|
};
|
|
|
|
&lcdc {
|
|
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";
|
|
};
|