diff --git a/arch/arm/boot/dts/garzfricke/Makefile b/arch/arm/boot/dts/garzfricke/Makefile index f66554cd5c4518cf919abf321ce9137e8b2be59d..d92fab2c966472f6dd88c4eec6174bfd77838dd3 100644 --- a/arch/arm/boot/dts/garzfricke/Makefile +++ b/arch/arm/boot/dts/garzfricke/Makefile @@ -1 +1,4 @@ # SPDX-License-Identifier: GPL-2.0 +dtb-$(CONFIG_SOC_IMX6Q) += \ + imx6dl-santino.dtb + diff --git a/arch/arm/boot/dts/garzfricke/imx6dl-santino.dts b/arch/arm/boot/dts/garzfricke/imx6dl-santino.dts new file mode 100644 index 0000000000000000000000000000000000000000..3205b90102edb22ca1798ad0014e4c289967bc5f --- /dev/null +++ b/arch/arm/boot/dts/garzfricke/imx6dl-santino.dts @@ -0,0 +1,19 @@ +// 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> + * + * TODO: split this up in SANTINO 1.x and SANTINO 2.x files + */ +/dts-v1/; +#include "../imx6dl.dtsi" +#include "imx6dl-santino.dtsi" + +/ { + model = "Santino i.MX6 Dual Lite Board"; + compatible = "guf,imx6dl-santino", "fsl,imx6dl"; +}; + diff --git a/arch/arm/boot/dts/garzfricke/imx6dl-santino.dtsi b/arch/arm/boot/dts/garzfricke/imx6dl-santino.dtsi new file mode 100644 index 0000000000000000000000000000000000000000..58eeb28b79506c86a0c8bb654e9eff383d343f95 --- /dev/null +++ b/arch/arm/boot/dts/garzfricke/imx6dl-santino.dtsi @@ -0,0 +1,265 @@ +// 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> + * + * TODO: split file up in SANTINO 1.x and SANTINO 2.x files + */ + +#include <dt-bindings/sound/fsl-imx-audmux.h> +#include "imx6qdl-san.dtsi" + +/ { + memory { + device_type = "memory"; + reg = <0x10000000 0x20000000>; + }; + + lcd_display: disp0 { + compatible = "fsl,imx-parallel-display"; + #address-cells = <1>; + #size-cells = <0>; + interface-pix-fmt = "rgb666"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_ipu1_lcdif18bpp>; + 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>; + }; +}; + +&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; + }; + }; + }; +}; + +&i2c2 { + status = "disabled"; +}; + +&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_audmux4>; + status = "okay"; + cpu_dai: simple-audio-card,cpu { + sound-dai = <&ssi2>; + }; +}; + +&ssi2 { + status = "okay"; +}; + +&uart1 { + linux,rs485-enabled-at-boot-time; + rs485-rx-during-tx; + status = "okay"; +}; + +&uart2 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_uart2_rxtx &pinctrl_uart2_rcts1>; + uart-has-rtscts; + status = "okay"; +}; + +&uart4 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_uart4_rxtx &pinctrl_uart4_rcts>; + uart-has-rtscts; + 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 { + wp-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>; + status = "okay"; +};