mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
arm64: dts: imx8mp: add aristainetos3 board support
Add support for the i.MX8MP based aristainetos3 boards from ABB. The board uses a ABB specific SoM from ADLink, based on NXP i.MX8MP SoC. The SoM is used on 3 different carrier boards, with small differences. Signed-off-by: Heiko Schocher <hs@denx.de> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
This commit is contained in:
parent
7157135384
commit
eead8f3536
6 changed files with 1521 additions and 0 deletions
|
@ -165,6 +165,11 @@ imx8mn-tqma8mqnl-mba8mx-usbotg-dtbs += imx8mn-tqma8mqnl-mba8mx.dtb imx8mn-tqma8m
|
|||
dtb-$(CONFIG_ARCH_MXC) += imx8mn-tqma8mqnl-mba8mx-lvds-tm070jvhg33.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mn-tqma8mqnl-mba8mx-usbotg.dtb
|
||||
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-aristainetos3-adpismarc.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-aristainetos3-helios.dtb
|
||||
imx8mp-aristainetos3-helios-lvds-dtbs += imx8mp-aristainetos3-helios.dtb imx8mp-aristainetos3-helios-lvds.dtbo
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-aristainetos3-helios-lvds.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-aristainetos3-proton2s.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-beacon-kit.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-data-modul-edm-sbc.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-debix-model-a.dtb
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (C) 2024 Heiko Schocher <hs@denx.de>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include "imx8mp-aristainetos3a-som-v1.dtsi"
|
||||
|
||||
&{/} {
|
||||
model = "Aristainetos3 ADLink PI SMARC carrier";
|
||||
compatible = "abb,imx8mp-aristanetos3-adpismarc",
|
||||
"abb,imx8mp-aristanetos3-som",
|
||||
"fsl,imx8mp";
|
||||
};
|
||||
|
||||
&flexcan1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
gpio8: pinctrl@3e {
|
||||
compatible = "semtech,sx1509q";
|
||||
reg = <0x3e>;
|
||||
|
||||
#gpio-cells = <2>;
|
||||
#interrupt-cells = <2>;
|
||||
semtech,probe-reset;
|
||||
gpio-controller;
|
||||
interrupt-controller;
|
||||
interrupt-parent = <&gpio6>;
|
||||
interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
|
||||
};
|
||||
|
||||
};
|
|
@ -0,0 +1,113 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (C) 2024 Heiko Schocher <hs@denx.de>
|
||||
*/
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/pwm/pwm.h>
|
||||
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
&{/} {
|
||||
model = "Aristainetos3 helios carrier with LVDS";
|
||||
compatible = "abb,imx8mp-aristanetos3-helios",
|
||||
"abb,imx8mp-aristanetos3-som",
|
||||
"fsl,imx8mp";
|
||||
|
||||
panel_lvds: panel-lvds {
|
||||
compatible = "lg,lb070wv8";
|
||||
power-supply = <®_vcc_disp>;
|
||||
backlight = <&lvds_backlight>;
|
||||
|
||||
port {
|
||||
in_lvds0: endpoint {
|
||||
remote-endpoint = <&ldb_lvds_ch0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
reg_vcc_disp: regulator-disp {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_lcd0_vcc_en>;
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "disp_power_en_2v8";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
gpio = <&gpio1 13 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
|
||||
&gpio3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gpio3_hog>;
|
||||
|
||||
lvdssel-hog {
|
||||
gpio-hog;
|
||||
gpios = <23 GPIO_ACTIVE_HIGH>;
|
||||
output-low;
|
||||
line-name = "LVDSSEL";
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi_blk_ctrl {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&hdmi_pvi {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&hdmi_tx {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&hdmi_tx_phy {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&irqsteer_hdmi {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&ldb_lvds_ch0 {
|
||||
remote-endpoint = <&in_lvds0>;
|
||||
};
|
||||
|
||||
&lcdif1 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&lcdif2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&lcdif3 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&lvds_backlight {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&lvds_bridge {
|
||||
/* IMX8MP_CLK_MEDIA_LDB = IMX8MP_CLK_MEDIA_DISP2_PIX * 7 */
|
||||
assigned-clock-rates = <232820000>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&media_blk_ctrl {
|
||||
/*
|
||||
* currently it is not possible to let display clocks configure
|
||||
* automatically, so we need to set them manually
|
||||
*/
|
||||
assigned-clock-rates = <500000000>, <200000000>, <0>,
|
||||
/* IMX8MP_CLK_MEDIA_DISP2_PIX = pixelclk of lvds panel */
|
||||
<33260000>, <0>,
|
||||
/* IMX8MP_VIDEO_PLL1 = IMX8MP_CLK_MEDIA_LDB * 2 */
|
||||
<465640000>;
|
||||
};
|
|
@ -0,0 +1,98 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (C) 2024 Heiko Schocher <hs@denx.de>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/leds/common.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include "imx8mp-aristainetos3a-som-v1.dtsi"
|
||||
|
||||
&{/} {
|
||||
model = "Aristainetos3 helios carrier";
|
||||
compatible = "abb,imx8mp-aristanetos3-helios",
|
||||
"abb,imx8mp-aristanetos3-som",
|
||||
"fsl,imx8mp";
|
||||
|
||||
led-controller {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led-0 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
function-enumerator = <20>;
|
||||
gpios = <&pca6416 12 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-1 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_YELLOW>;
|
||||
function-enumerator = <20>;
|
||||
gpios = <&pca6416 13 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-2 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function-enumerator = <20>;
|
||||
gpios = <&pca6416 14 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-3 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
function-enumerator = <20>;
|
||||
gpios = <&pca6416 15 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ðphy1 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&fec {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
eeprom@57 {
|
||||
compatible = "atmel,24c64";
|
||||
reg = <0x57>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
pca6416: gpio@20 {
|
||||
compatible = "ti,tca6416";
|
||||
reg = <0x20>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-line-names = "DIN0_CON",
|
||||
"DIN1_CON",
|
||||
"DIN2_CON",
|
||||
"DIN3_CON",
|
||||
"DIN4_CON",
|
||||
"DIN5_CON",
|
||||
"DIN6_CON",
|
||||
"DIN7_CON",
|
||||
"PM102_RES",
|
||||
"COMx_RES",
|
||||
"BPL_RES",
|
||||
"PC_RES",
|
||||
"LED_RED",
|
||||
"LED_YELLOW",
|
||||
"LED_GREEN",
|
||||
"LED_BLUE";
|
||||
};
|
||||
|
||||
rtc@68 {
|
||||
compatible = "st,m41t00";
|
||||
reg = <0x68>;
|
||||
};
|
||||
};
|
161
arch/arm64/boot/dts/freescale/imx8mp-aristainetos3-proton2s.dts
Normal file
161
arch/arm64/boot/dts/freescale/imx8mp-aristainetos3-proton2s.dts
Normal file
|
@ -0,0 +1,161 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (C) 2024 Heiko Schocher <hs@denx.de>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
#include "imx8mp-aristainetos3a-som-v1.dtsi"
|
||||
|
||||
&{/} {
|
||||
model = "Aristainetos3 proton2s carrier";
|
||||
compatible = "abb,imx8mp-aristanetos3-proton2s",
|
||||
"abb,imx8mp-aristanetos3-som",
|
||||
"fsl,imx8mp";
|
||||
|
||||
watchdog {
|
||||
/* MAX6371KA */
|
||||
compatible = "linux,wdt-gpio";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_watchdog_gpio>;
|
||||
always-running;
|
||||
gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
|
||||
hw_algo = "level";
|
||||
/* Reset triggers in 3..9 seconds */
|
||||
hw_margin_ms = <1500>;
|
||||
};
|
||||
};
|
||||
|
||||
ðphy1 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&eqos {
|
||||
max-speed = <100>;
|
||||
};
|
||||
|
||||
&ecspi1{
|
||||
pinctrl-0 = <&pinctrl_ecspi1>;
|
||||
cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
&fec {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&gpio1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gpio_proton2s>;
|
||||
|
||||
gpio-line-names =
|
||||
"", "", "", "", "", "", "", "POWER",
|
||||
"", "", "", "", "", "", "", "",
|
||||
"", "", "", "", "", "", "", "",
|
||||
"", "", "", "", "", "", "", "";
|
||||
};
|
||||
|
||||
&gpio6 {
|
||||
gpio-line-names =
|
||||
"RELAY0", "RELAY1", "RELAY2", "HEATER",
|
||||
"FAN", "SPARE", "CLEAR", "FAULT",
|
||||
"", "", "", "", "", "", "", "", "";
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
tlc59108@40 {
|
||||
compatible = "ti,tlc59108";
|
||||
reg = <0x40>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
led@0 {
|
||||
reg = <0x0>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
function-enumerator = <20>;
|
||||
};
|
||||
|
||||
led@1 {
|
||||
reg = <0x1>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function-enumerator = <20>;
|
||||
};
|
||||
|
||||
led@2 {
|
||||
reg = <0x2>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function-enumerator = <21>;
|
||||
};
|
||||
|
||||
led@3 {
|
||||
reg = <0x3>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
function-enumerator = <21>;
|
||||
};
|
||||
|
||||
led@4 {
|
||||
reg = <0x4>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
function-enumerator = <21>;
|
||||
};
|
||||
|
||||
led@5 {
|
||||
reg = <0x5>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
function-enumerator = <22>;
|
||||
};
|
||||
|
||||
led@6 {
|
||||
reg = <0x6>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function-enumerator = <22>;
|
||||
};
|
||||
|
||||
led@7 {
|
||||
reg = <0x7>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
function-enumerator = <22>;
|
||||
};
|
||||
};
|
||||
|
||||
rtc1: rtc@68 {
|
||||
compatible = "dallas,ds1339";
|
||||
reg = <0x68>;
|
||||
};
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
pinctrl-0 = <&pinctrl_uart1>;
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
pinctrl-0 = <&pinctrl_uart2>;
|
||||
};
|
||||
|
||||
&uart3 {
|
||||
pinctrl-0 = <&pinctrl_uart3>;
|
||||
};
|
||||
|
||||
&uart4 {
|
||||
linux,rs485-enabled-at-boot-time;
|
||||
rs485-rts-active-low;
|
||||
rs485-rts-delay = <0 0>;
|
||||
rts-gpios = <&gpio3 9 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
&usdhc1 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&wdog1 {
|
||||
status = "okay";
|
||||
};
|
1107
arch/arm64/boot/dts/freescale/imx8mp-aristainetos3a-som-v1.dtsi
Normal file
1107
arch/arm64/boot/dts/freescale/imx8mp-aristainetos3a-som-v1.dtsi
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue