From f613d469e2c60d3cfdcfd124d7761ebff716e6cc Mon Sep 17 00:00:00 2001 From: Clemens Terasa <clemens.terasa@garz-fricke.com> Date: Tue, 15 Mar 2022 18:16:57 +0100 Subject: [PATCH] arm:dts: Add support for SANTINO-LT Add support for the Garz & Fricke SANTINO-LT platform. The SANTINO-LT platform is based on an NXP i.MX6 Solo or DualLite. It includes support for a parallel RBG Display, CAN, Audio, I2C Touch, RS232, RS485, microSD-Card. --- arch/arm/boot/dts/garzfricke/Makefile | 1 + .../boot/dts/garzfricke/imx6dl-santino-lt.dts | 18 ++ .../dts/garzfricke/imx6dl-santino-lt.dtsi | 264 ++++++++++++++++++ 3 files changed, 283 insertions(+) create mode 100644 arch/arm/boot/dts/garzfricke/imx6dl-santino-lt.dts create mode 100644 arch/arm/boot/dts/garzfricke/imx6dl-santino-lt.dtsi diff --git a/arch/arm/boot/dts/garzfricke/Makefile b/arch/arm/boot/dts/garzfricke/Makefile index 166a85f84d367..a3431e36031c3 100644 --- a/arch/arm/boot/dts/garzfricke/Makefile +++ b/arch/arm/boot/dts/garzfricke/Makefile @@ -1,6 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 dtb-$(CONFIG_SOC_IMX6Q) += \ imx6dl-santaro.dtb \ + imx6dl-santino-lt.dtb \ imx6dl-santino.dtb \ imx6dl-santoka.dtb \ imx6q-santaro.dtb \ diff --git a/arch/arm/boot/dts/garzfricke/imx6dl-santino-lt.dts b/arch/arm/boot/dts/garzfricke/imx6dl-santino-lt.dts new file mode 100644 index 0000000000000..d47f579c062b9 --- /dev/null +++ b/arch/arm/boot/dts/garzfricke/imx6dl-santino-lt.dts @@ -0,0 +1,18 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright 2013 Freescale Semiconductor, Inc. + * Copyright 2020 Garz & Fricke GmbH + * + * Authors: Fabio Estevam <fabio.estevam@freescale.com> + * Clemens Terasa <clemens.terasa@garz-fricke.com> + * + */ +/dts-v1/; +#include "../imx6dl.dtsi" +#include "imx6dl-santino-lt.dtsi" + +/ { + model = "Santino-LT i.MX6 Dual Lite Board"; + compatible = "guf,imx6dl-santino-lt", "fsl,imx6dl"; +}; + diff --git a/arch/arm/boot/dts/garzfricke/imx6dl-santino-lt.dtsi b/arch/arm/boot/dts/garzfricke/imx6dl-santino-lt.dtsi new file mode 100644 index 0000000000000..c4085fa53e396 --- /dev/null +++ b/arch/arm/boot/dts/garzfricke/imx6dl-santino-lt.dtsi @@ -0,0 +1,264 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright 2013 Freescale Semiconductor, Inc. + * Copyright 2020 Garz & Fricke GmbH + * + * Author: Fabio Estevam <fabio.estevam@freescale.com> + * Clemens Terasa <clemens.terasa@garz-fricke.com> + * + */ + +#include <dt-bindings/sound/fsl-imx-audmux.h> +#include "imx6qdl-san.dtsi" + +/ { + memory { + device_type = "memory"; + reg = <0x10000000 0x20000000>; + }; + + aliases { + serial0 = &uart5; + serial2 = &uart1; + }; + + chosen { + stdout-path = &uart5; + }; + + lcd_display: disp0 { + compatible = "fsl,imx-parallel-display"; + #address-cells = <1>; + #size-cells = <0>; + interface-pix-fmt = "rgb24"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_ipu1_lcdif18bpp &pinctrl_ipu1_lcdif24bpp>; + status = "okay"; + + port@0 { + reg = <0>; + + lcd_display_in: endpoint { + remote-endpoint = <&ipu1_di0_disp0>; + }; + }; + + port@1 { + reg = <1>; + + lcd_display_out: endpoint { + remote-endpoint = <&lcd_panel_in>; + }; + }; + }; + + panel: panel { + compatible = "guf,panel-dt"; + backlight = <&backlight>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_lcd_enable1>; + power-supply = <®_SW4_3V3>; + + enable-gpios = <&gpio5 21 GPIO_ACTIVE_HIGH>; + status = "okay"; + + port { + lcd_panel_in: endpoint { + remote-endpoint = <&lcd_display_out>; + }; + }; + }; + + reg_5p0: regulator-5v0 { + compatible = "regulator-fixed"; + regulator-name = "5P0V"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-always-on; + }; + + reg_eth_phy: regulator-eth-phy { + compatible = "regulator-fixed"; + regulator-name = "ETH_PHY"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + vin-supply = <®_SW4_3V3>; + }; +}; + +&backlight { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_bl_on1>; + enable-gpios = <&gpio1 18 GPIO_ACTIVE_HIGH>; + status = "okay"; +}; + +&can1 { + xceiver-supply = <®_5p0>; +}; + +&codec { + VDDD-supply = <&sw3_reg>; +}; + +&gpio6 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_keypad_gpio1>; + gpio-line-names = "", "", "", "", "", "", "", "keypad_pin4", + "keypad_pin3", "keypad_pin5", "keypad_pin6", "keypad_pin7", "", "", "", "keypad_pin8", + "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", ""; +}; + +&i2c1 { + pmic: pfuze3000@8 { + compatible = "fsl,pfuze3000"; + reg = <0x08>; + + regulators { + sw1a_reg: sw1ab { + regulator-min-microvolt = <300000>; + regulator-max-microvolt = <1875000>; + regulator-boot-on; + regulator-always-on; + regulator-ramp-delay = <6250>; + }; + + sw1b_reg: sw1b { + regulator-min-microvolt = <300000>; + regulator-max-microvolt = <1875000>; + regulator-boot-on; + regulator-always-on; + regulator-ramp-delay = <6250>; + }; + + reg_SW4_3V3:sw2_reg: sw2 { + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + regulator-always-on; + }; + + sw3_reg: sw3 { + /* FNGBoot sets correct voltage, shall not be touched by the OS */ + compatible = "regulator-fixed"; + regulator-name = "DDR_1V5 (sw3)"; + regulator-boot-on; + regulator-always-on; + }; + + swbst_reg: swbst { + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5150000>; + regulator-boot-on; + regulator-always-on; + }; + + snvs_reg: vsnvs { + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <3000000>; + regulator-boot-on; + regulator-always-on; + }; + + vref_reg: vrefddr { + regulator-boot-on; + regulator-always-on; + }; + + v33_reg: v33 { + regulator-min-microvolt = <2850000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + regulator-boot-on; + }; + + vldo2_reg: vldo2 { + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1550000>; + regulator-always-on; + regulator-boot-on; + }; + }; + }; +}; + +&ipu1_di0_disp0 { + remote-endpoint = <&lcd_display_in>; +}; + +&lm75 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_lm75_1>; + interrupts = <7 0x4>; + interrupt-parent = <&gpio4>; + status = "okay"; +}; + +&pwm1 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pwm1>; + status = "okay"; +}; + +®_usb_otg_vbus { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usbotgvbus1>; + gpio = <&gpio3 22 0>; +}; + +&rtc { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_rtc1>; + status = "okay"; +}; + +&sound { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_audmux3>; + status = "okay"; + cpu_dai: simple-audio-card,cpu { + sound-dai = <&ssi1>; + }; +}; + +&ssi1 { + status = "okay"; +}; + +&uart1 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_uart1_rxtx &pinctrl_uart1_rcts>; + linux,rs485-enabled-at-boot-time; + uart-has-rtscts; + status = "okay"; +}; + +&uart2 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_uart2_rxtx>; + status = "okay"; +}; + +&uart5 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_uart5_rxtx &pinctrl_uart5_rcts>; + uart-has-rtscts; + status = "okay"; +}; + +&usbotg { + vbus-supply = <®_usb_otg_vbus>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usbotg>; + disable-over-current; + srp-disable; + hnp-disable; + adp-disable; + status = "okay"; +}; + +&usdhc2 { + disable-wp; + status = "okay"; +}; -- GitLab