381 lines
7.6 KiB
Plaintext
381 lines
7.6 KiB
Plaintext
// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
|
|
/*
|
|
* Copyright 2020-2021 TQ-Systems GmbH
|
|
*/
|
|
|
|
#include <dt-bindings/net/ti-dp83867.h>
|
|
|
|
/* TQ-Systems GmbH MBa8Mx baseboard */
|
|
|
|
/ {
|
|
backlight_lvds: backlight {
|
|
compatible = "pwm-backlight";
|
|
pwms = <&pwm3 0 5000000 0>;
|
|
brightness-levels = <0 4 8 16 32 64 128 255>;
|
|
default-brightness-level = <7>;
|
|
power-supply = <®_12v>;
|
|
enable-gpios = <&expander2 2 GPIO_ACTIVE_HIGH>;
|
|
status = "disabled";
|
|
};
|
|
|
|
beeper {
|
|
compatible = "pwm-beeper";
|
|
pwms = <&pwm4 0 250000 0>;
|
|
beeper-hz = <4000>;
|
|
amp-supply = <®_vcc_3v3>;
|
|
};
|
|
|
|
chosen {
|
|
stdout-path = &uart3;
|
|
};
|
|
|
|
gpio-keys {
|
|
compatible = "gpio-keys";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_gpiobutton>;
|
|
autorepeat;
|
|
|
|
switch-1 {
|
|
label = "switch1";
|
|
linux,code = <BTN_0>;
|
|
gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
|
|
wakeup-source;
|
|
};
|
|
|
|
btn2: switch-2 {
|
|
label = "switch2";
|
|
linux,code = <BTN_1>;
|
|
gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
|
|
wakeup-source;
|
|
};
|
|
|
|
switch-3 {
|
|
label = "switch3";
|
|
linux,code = <BTN_2>;
|
|
gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
|
|
wakeup-source;
|
|
};
|
|
};
|
|
|
|
gpio_leds: gpio-leds {
|
|
compatible = "gpio-leds";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_gpioled>;
|
|
|
|
led1 {
|
|
label = "led1";
|
|
gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
|
|
linux,default-trigger = "default-on";
|
|
};
|
|
|
|
led2: led2 {
|
|
label = "led2";
|
|
gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
|
|
linux,default-trigger = "heartbeat";
|
|
};
|
|
};
|
|
|
|
gpio_delays: gpio-delays {
|
|
compatible = "gpio-delay";
|
|
#gpio-cells = <3>;
|
|
gpio-controller;
|
|
gpios = <&expander0 6 GPIO_ACTIVE_HIGH>;
|
|
gpio-line-names = "LVDS_BRIDGE_EN_1V8";
|
|
};
|
|
|
|
panel: panel-lvds {
|
|
/*
|
|
* Display is not fixed, so compatible has to be added from
|
|
* DT overlay
|
|
*/
|
|
backlight = <&backlight_lvds>;
|
|
power-supply = <®_vcc_3v3>;
|
|
status = "disabled";
|
|
|
|
port {
|
|
panel_in_lvds: endpoint {
|
|
data-lanes = <1 2 3 4>;
|
|
remote-endpoint = <&lvds_bridge_out>;
|
|
};
|
|
};
|
|
};
|
|
|
|
pcie0_refclk: pcie0-refclk {
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <0>;
|
|
clock-frequency = <100000000>;
|
|
};
|
|
|
|
reg_12v: regulator-12v {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "MBA8MX_12V";
|
|
regulator-min-microvolt = <12000000>;
|
|
regulator-max-microvolt = <12000000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
reg_hub_vbus: regulator-hub-vbus {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "MBA8MX_HUB_VBUS";
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
};
|
|
|
|
reg_sn65dsi83_1v8: regulator-sn65dsi83-1v8 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "SN65DSI83_1V8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
gpio = <&expander0 5 GPIO_ACTIVE_HIGH>;
|
|
enable-active-high;
|
|
};
|
|
|
|
reg_vcc_3v3: regulator-3v3 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "MBA8MX_3V3";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
};
|
|
|
|
sound {
|
|
compatible = "fsl,imx-audio-tlv320aic32x4";
|
|
model = "imx-audio-tlv320aic32x4";
|
|
ssi-controller = <&sai3>;
|
|
audio-codec = <&tlv320aic3x04>;
|
|
};
|
|
};
|
|
|
|
&ecspi1 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_ecspi1>;
|
|
cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
|
|
status = "okay";
|
|
};
|
|
|
|
&ecspi2 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_ecspi2>;
|
|
cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
|
|
status = "okay";
|
|
};
|
|
|
|
&fec1 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_fec1>;
|
|
phy-mode = "rgmii-id";
|
|
phy-handle = <ðphy0>;
|
|
phy-supply = <®_vcc_3v3>;
|
|
fsl,magic-packet;
|
|
mac-address = [ 00 00 00 00 00 00 ];
|
|
status = "okay";
|
|
|
|
mdio {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
ethphy0: ethernet-phy@e {
|
|
compatible = "ethernet-phy-ieee802.3-c22";
|
|
reg = <0xe>;
|
|
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>;
|
|
ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>;
|
|
ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
|
|
ti,dp83867-rxctrl-strap-quirk;
|
|
ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
|
|
enet-phy-lane-no-swap;
|
|
reset-gpios = <&expander2 7 GPIO_ACTIVE_LOW>;
|
|
reset-assert-us = <500000>;
|
|
reset-deassert-us = <500>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&i2c1 {
|
|
expander0: gpio@23 {
|
|
compatible = "nxp,pca9555";
|
|
reg = <0x23>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
vcc-supply = <®_vcc_3v3>;
|
|
interrupt-parent = <&gpio1>;
|
|
interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
gpio-line-names = "", "", "", "",
|
|
"", "", "LVDS_BRIDGE_EN", "",
|
|
"", "", "", "",
|
|
"", "", "", "";
|
|
|
|
sd-mux-oe-hog {
|
|
gpio-hog;
|
|
gpios = <8 0>;
|
|
output-low;
|
|
line-name = "SD_MUX_EN#";
|
|
};
|
|
|
|
boot-cfg-oe-hog {
|
|
gpio-hog;
|
|
gpios = <12 0>;
|
|
output-high;
|
|
line-name = "BOOT_CFG_OE#";
|
|
};
|
|
|
|
rst-usb-hub-hog {
|
|
gpio-hog;
|
|
gpios = <13 0>;
|
|
output-high;
|
|
line-name = "RST_USB_HUB#";
|
|
};
|
|
};
|
|
|
|
expander1: gpio@24 {
|
|
compatible = "nxp,pca9555";
|
|
reg = <0x24>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
vcc-supply = <®_vcc_3v3>;
|
|
};
|
|
};
|
|
|
|
&i2c2 {
|
|
clock-frequency = <100000>;
|
|
pinctrl-names = "default", "gpio";
|
|
pinctrl-0 = <&pinctrl_i2c2>;
|
|
pinctrl-1 = <&pinctrl_i2c2_gpio>;
|
|
scl-gpios = <&gpio5 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
|
sda-gpios = <&gpio5 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
|
status = "okay";
|
|
|
|
tlv320aic3x04: audio-codec@18 {
|
|
compatible = "ti,tlv320aic32x4";
|
|
reg = <0x18>;
|
|
reset-gpios = <&expander2 0 GPIO_ACTIVE_LOW>;
|
|
iov-supply = <®_vcc_3v3>;
|
|
ldoin-supply = <®_vcc_3v3>;
|
|
};
|
|
|
|
sensor1: temperator-sensor@1f {
|
|
compatible = "nxp,se97b", "jedec,jc-42.4-temp";
|
|
reg = <0x1f>;
|
|
};
|
|
|
|
eeprom3: eeprom@57 {
|
|
compatible = "nxp,se97b", "atmel,24c02";
|
|
reg = <0x57>;
|
|
pagesize = <16>;
|
|
vcc-supply = <®_vcc_3v3>;
|
|
};
|
|
};
|
|
|
|
&i2c3 {
|
|
clock-frequency = <100000>;
|
|
pinctrl-names = "default", "gpio";
|
|
pinctrl-0 = <&pinctrl_i2c3>;
|
|
pinctrl-1 = <&pinctrl_i2c3_gpio>;
|
|
scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
|
sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
|
status = "okay";
|
|
|
|
dsi_lvds_bridge: bridge@2d {
|
|
compatible = "ti,sn65dsi84";
|
|
reg = <0x2d>;
|
|
enable-gpios = <&gpio_delays 0 130000 0>;
|
|
vcc-supply = <®_sn65dsi83_1v8>;
|
|
status = "disabled";
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
|
|
lvds_bridge_in: endpoint {
|
|
data-lanes = <1 2 3 4>;
|
|
remote-endpoint = <&mipi_dsi_out>;
|
|
};
|
|
};
|
|
|
|
port@2 {
|
|
reg = <2>;
|
|
|
|
lvds_bridge_out: endpoint {
|
|
remote-endpoint = <&panel_in_lvds>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&mipi_dsi {
|
|
samsung,burst-clock-frequency = <891000000>;
|
|
samsung,esc-clock-frequency = <20000000>;
|
|
|
|
ports {
|
|
port@1 {
|
|
reg = <1>;
|
|
|
|
mipi_dsi_out: endpoint {
|
|
data-lanes = <1 2 3 4>;
|
|
remote-endpoint = <&lvds_bridge_in>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&pwm3 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_pwm3>;
|
|
status = "okay";
|
|
};
|
|
|
|
&pwm4 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_pwm4>;
|
|
status = "okay";
|
|
};
|
|
|
|
&sai3 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_sai3>;
|
|
#sound-dai-cells = <0>;
|
|
assigned-clock-rates = <49152000>;
|
|
status = "okay";
|
|
};
|
|
|
|
&snvs_pwrkey {
|
|
status = "okay";
|
|
};
|
|
|
|
&uart1 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_uart1>;
|
|
status = "okay";
|
|
};
|
|
|
|
&uart2 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_uart2>;
|
|
status = "okay";
|
|
};
|
|
|
|
/* console */
|
|
&uart3 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_uart3>;
|
|
status = "okay";
|
|
};
|
|
|
|
&usdhc2 {
|
|
pinctrl-names = "default", "state_100mhz", "state_200mhz";
|
|
pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
|
|
pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
|
|
pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
|
|
bus-width = <4>;
|
|
cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
|
|
disable-wp;
|
|
no-mmc;
|
|
no-sdio;
|
|
vmmc-supply = <®_usdhc2_vmmc>;
|
|
status = "okay";
|
|
};
|