412 lines
		
	
	
		
			9.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			412 lines
		
	
	
		
			9.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| // SPDX-License-Identifier: GPL-2.0+ OR X11
 | |
| /*
 | |
|  * Copyright 2019 Toradex AG
 | |
|  */
 | |
| 
 | |
| /dts-v1/;
 | |
| #include <dt-bindings/gpio/gpio.h>
 | |
| #include "imx6dl.dtsi"
 | |
| 
 | |
| / {
 | |
| 	model = "Toradex Colibri iMX6DL/S";
 | |
| 	compatible = "toradex,colibri_imx6dl", "fsl,imx6dl";
 | |
| 
 | |
| 	/* Will be filled by the bootloader */
 | |
| 	memory@10000000 {
 | |
| 		device_type = "memory";
 | |
| 		reg = <0x10000000 0>;
 | |
| 	};
 | |
| 
 | |
| 	aliases {
 | |
| 		mmc0 = &usdhc3;
 | |
| 		mmc1 = &usdhc1;
 | |
| 		usb0 = &usbotg; /* required for ums */
 | |
| 	};
 | |
| 
 | |
| 	chosen {
 | |
| 		stdout-path = &uart1;
 | |
| 	};
 | |
| 
 | |
| 	reg_module_3v3: regulator-module-3v3 {
 | |
| 		compatible = "regulator-fixed";
 | |
| 		regulator-name = "+V3.3";
 | |
| 		regulator-min-microvolt = <3300000>;
 | |
| 		regulator-max-microvolt = <3300000>;
 | |
| 		regulator-always-on;
 | |
| 	};
 | |
| 
 | |
| 	reg_usb_host_vbus: regulator-usb-host-vbus {
 | |
| 		compatible = "regulator-fixed";
 | |
| 		pinctrl-names = "default";
 | |
| 		pinctrl-0 = <&pinctrl_regulator_usbh_pwr>;
 | |
| 		regulator-name = "usb_host_vbus";
 | |
| 		regulator-min-microvolt = <5000000>;
 | |
| 		regulator-max-microvolt = <5000000>;
 | |
| 		gpio = <&gpio3 31 GPIO_ACTIVE_LOW>; /* USBH_PEN */
 | |
| 	};
 | |
| };
 | |
| 
 | |
| /*
 | |
|  * PWR_I2C: power I2C to audio codec, PMIC, temperature sensor and
 | |
|  * touch screen controller
 | |
|  */
 | |
| &i2c2 {
 | |
| 	clock-frequency = <100000>;
 | |
| 	pinctrl-names = "default";
 | |
| 	pinctrl-0 = <&pinctrl_i2c2>;
 | |
| 	status = "okay";
 | |
| 
 | |
| 	pmic: pfuze100@8 {
 | |
| 		compatible = "fsl,pfuze100";
 | |
| 		reg = <0x08>;
 | |
| 
 | |
| 		regulators {
 | |
| 			sw1a_reg: sw1ab {
 | |
| 				regulator-min-microvolt = <300000>;
 | |
| 				regulator-max-microvolt = <1875000>;
 | |
| 				regulator-boot-on;
 | |
| 				regulator-always-on;
 | |
| 				regulator-ramp-delay = <6250>;
 | |
| 			};
 | |
| 
 | |
| 			sw1c_reg: sw1c {
 | |
| 				regulator-min-microvolt = <300000>;
 | |
| 				regulator-max-microvolt = <1875000>;
 | |
| 				regulator-boot-on;
 | |
| 				regulator-always-on;
 | |
| 				regulator-ramp-delay = <6250>;
 | |
| 			};
 | |
| 
 | |
| 			sw3a_reg: sw3a {
 | |
| 				regulator-min-microvolt = <400000>;
 | |
| 				regulator-max-microvolt = <1975000>;
 | |
| 				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 = <1000000>;
 | |
| 				regulator-max-microvolt = <3000000>;
 | |
| 				regulator-boot-on;
 | |
| 				regulator-always-on;
 | |
| 			};
 | |
| 
 | |
| 			vref_reg: vrefddr {
 | |
| 				regulator-boot-on;
 | |
| 				regulator-always-on;
 | |
| 			};
 | |
| 
 | |
| 			/* vgen1: unused */
 | |
| 
 | |
| 			vgen2_reg: vgen2 {
 | |
| 				regulator-min-microvolt = <800000>;
 | |
| 				regulator-max-microvolt = <1550000>;
 | |
| 				regulator-boot-on;
 | |
| 				regulator-always-on;
 | |
| 			};
 | |
| 
 | |
| 			/* vgen3: unused */
 | |
| 
 | |
| 			vgen4_reg: vgen4 {
 | |
| 				regulator-min-microvolt = <1800000>;
 | |
| 				regulator-max-microvolt = <1800000>;
 | |
| 				regulator-boot-on;
 | |
| 				regulator-always-on;
 | |
| 			};
 | |
| 
 | |
| 			vgen5_reg: vgen5 {
 | |
| 				regulator-min-microvolt = <1800000>;
 | |
| 				regulator-max-microvolt = <3300000>;
 | |
| 				regulator-boot-on;
 | |
| 				regulator-always-on;
 | |
| 			};
 | |
| 
 | |
| 			vgen6_reg: vgen6 {
 | |
| 				regulator-min-microvolt = <1800000>;
 | |
| 				regulator-max-microvolt = <3300000>;
 | |
| 				regulator-boot-on;
 | |
| 				regulator-always-on;
 | |
| 			};
 | |
| 		};
 | |
| 	};
 | |
| };
 | |
| 
 | |
| /*
 | |
|  * I2C3_SDA/SCL on SODIMM 194/196 (e.g. RTC on carrier board)
 | |
|  */
 | |
| &i2c3 {
 | |
| 	clock-frequency = <100000>;
 | |
| 	pinctrl-names = "default", "gpio";
 | |
| 	pinctrl-0 = <&pinctrl_i2c3>;
 | |
| 	pinctrl-1 = <&pinctrl_i2c3_recovery>;
 | |
| 	scl-gpios = <&gpio1 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
 | |
| 	sda-gpios = <&gpio1 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| /* Colibri UART_A */
 | |
| &uart1 {
 | |
| 	pinctrl-names = "default";
 | |
| 	pinctrl-0 = <&pinctrl_uart1_dte &pinctrl_uart1_ctrl>;
 | |
| 	fsl,dte-mode;
 | |
| 	uart-has-rtscts;
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| /* Colibri UART_B */
 | |
| &uart2 {
 | |
| 	pinctrl-names = "default";
 | |
| 	pinctrl-0 = <&pinctrl_uart2_dte>;
 | |
| 	fsl,dte-mode;
 | |
| 	uart-has-rtscts;
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| /* Colibri UART_C */
 | |
| &uart3 {
 | |
| 	pinctrl-names = "default";
 | |
| 	pinctrl-0 = <&pinctrl_uart3_dte>;
 | |
| 	fsl,dte-mode;
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| /* Colibri USBH */
 | |
| &usbh1 {
 | |
| 	dr_mode = "host";
 | |
| 	vbus-supply = <®_usb_host_vbus>;
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| /* Colibri USBC */
 | |
| &usbotg {
 | |
| 	dr_mode = "host";
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| /* Colibri MMC */
 | |
| &usdhc1 {
 | |
| 	pinctrl-names = "default";
 | |
| 	pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_mmc_cd>;
 | |
| 	cd-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>; /* MMCD */
 | |
| 	disable-wp;
 | |
| 	vqmmc-supply = <®_module_3v3>;
 | |
| 	bus-width = <4>;
 | |
| 	no-1-8-v;
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| /* eMMC */
 | |
| &usdhc3 {
 | |
| 	pinctrl-names = "default";
 | |
| 	pinctrl-0 = <&pinctrl_usdhc3>;
 | |
| 	vqmmc-supply = <®_module_3v3>;
 | |
| 	bus-width = <8>;
 | |
| 	no-1-8-v;
 | |
| 	non-removable;
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &iomuxc {
 | |
| 	pinctrl_ecspi4: ecspi4grp {
 | |
| 		fsl,pins = <
 | |
| 			MX6QDL_PAD_EIM_D22__ECSPI4_MISO	0x100b1
 | |
| 			MX6QDL_PAD_EIM_D28__ECSPI4_MOSI	0x100b1
 | |
| 			MX6QDL_PAD_EIM_D21__ECSPI4_SCLK	0x100b1
 | |
| 			/* SPI CS */
 | |
| 			MX6QDL_PAD_EIM_A25__GPIO5_IO02	0x000b1
 | |
| 		>;
 | |
| 	};
 | |
| 
 | |
| 	pinctrl_enet: enetgrp {
 | |
| 		fsl,pins = <
 | |
| 			MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0
 | |
| 			MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b0b0
 | |
| 			MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0	0x1b0b0
 | |
| 			MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1	0x1b0b0
 | |
| 			MX6QDL_PAD_ENET_RX_ER__ENET_RX_ER	0x1b0b0
 | |
| 			MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN	0x1b0b0
 | |
| 			MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0	0x1b0b0
 | |
| 			MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1	0x1b0b0
 | |
| 			MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN	0x1b0b0
 | |
| 			MX6QDL_PAD_GPIO_16__ENET_REF_CLK     ((1<<30) | 0x1b0b0)
 | |
| 		>;
 | |
| 	};
 | |
| 
 | |
| 	pinctrl_gpio_bl_on: gpioblon {
 | |
| 		fsl,pins = <
 | |
| 			MX6QDL_PAD_EIM_D26__GPIO3_IO26	0x1b0b0
 | |
| 		>;
 | |
| 	};
 | |
| 
 | |
| 	pinctrl_hdmi_ddc: hdmiddcgrp {
 | |
| 		fsl,pins = <
 | |
| 			MX6QDL_PAD_KEY_COL3__HDMI_TX_DDC_SCL	0x4001b8b1
 | |
| 			MX6QDL_PAD_KEY_ROW3__HDMI_TX_DDC_SDA	0x4001b8b1
 | |
| 		>;
 | |
| 	};
 | |
| 
 | |
| 	pinctrl_i2c2: i2c2grp {
 | |
| 		fsl,pins = <
 | |
| 			MX6QDL_PAD_EIM_EB2__I2C2_SCL	0x4001b8b1
 | |
| 			MX6QDL_PAD_EIM_D16__I2C2_SDA	0x4001b8b1
 | |
| 		>;
 | |
| 	};
 | |
| 
 | |
| 	pinctrl_i2c3: i2c3grp {
 | |
| 		fsl,pins = <
 | |
| 			MX6QDL_PAD_GPIO_3__I2C3_SCL	0x4001b8b1
 | |
| 			MX6QDL_PAD_GPIO_6__I2C3_SDA	0x4001b8b1
 | |
| 		>;
 | |
| 	};
 | |
| 
 | |
| 	pinctrl_i2c3_recovery: i2c3recoverygrp {
 | |
| 		fsl,pins = <
 | |
| 			MX6QDL_PAD_GPIO_3__GPIO1_IO03	0x4001b8b1
 | |
| 			MX6QDL_PAD_GPIO_6__GPIO1_IO06	0x4001b8b1
 | |
| 		>;
 | |
| 	};
 | |
| 
 | |
| 	pinctrl_ipu1_lcdif: ipu1lcdifgrp {
 | |
| 		fsl,pins = <
 | |
| 			MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK	0xa1
 | |
| 			MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15		0xa1
 | |
| 			MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02		0xa1
 | |
| 			MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03		0xa1
 | |
| 			MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00	0xa1
 | |
| 			MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01	0xa1
 | |
| 			MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02	0xa1
 | |
| 			MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03	0xa1
 | |
| 			MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04	0xa1
 | |
| 			MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05	0xa1
 | |
| 			MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06	0xa1
 | |
| 			MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07	0xa1
 | |
| 			MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08	0xa1
 | |
| 			MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09	0xa1
 | |
| 			MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10	0xa1
 | |
| 			MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11	0xa1
 | |
| 			MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12	0xa1
 | |
| 			MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13	0xa1
 | |
| 			MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14	0xa1
 | |
| 			MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15	0xa1
 | |
| 			MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16	0xa1
 | |
| 			MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17	0xa1
 | |
| 		>;
 | |
| 	};
 | |
| 
 | |
| 	pinctrl_mmc_cd: gpiommccd {
 | |
| 		fsl,pins = <
 | |
| 			MX6QDL_PAD_NANDF_D5__GPIO2_IO05	0x1b0b1
 | |
| 		>;
 | |
| 	};
 | |
| 
 | |
| 	pinctrl_pwm1: pwm1grp {
 | |
| 		fsl,pins = <
 | |
| 			MX6QDL_PAD_GPIO_9__PWM1_OUT	0x1b0b1
 | |
| 		>;
 | |
| 	};
 | |
| 
 | |
| 	pinctrl_pwm2: pwm2grp {
 | |
| 		fsl,pins = <
 | |
| 			MX6QDL_PAD_GPIO_1__PWM2_OUT	0x1b0b1
 | |
| 			MX6QDL_PAD_EIM_A21__GPIO2_IO17	0x00040
 | |
| 		>;
 | |
| 	};
 | |
| 
 | |
| 	pinctrl_pwm3: pwm3grp {
 | |
| 		fsl,pins = <
 | |
| 			MX6QDL_PAD_SD4_DAT1__PWM3_OUT	0x1b0b1
 | |
| 			MX6QDL_PAD_EIM_A22__GPIO2_IO16	0x00040
 | |
| 		>;
 | |
| 	};
 | |
| 
 | |
| 	pinctrl_pwm4: pwm4grp {
 | |
| 		fsl,pins = <
 | |
| 			MX6QDL_PAD_SD4_DAT2__PWM4_OUT	0x1b0b1
 | |
| 		>;
 | |
| 	};
 | |
| 
 | |
| 	pinctrl_regulator_usbh_pwr: gpioregusbhpwrgrp {
 | |
| 		fsl,pins = <
 | |
| 			/* SODIMM 129 USBH_PEN */
 | |
| 			MX6QDL_PAD_EIM_D31__GPIO3_IO31	0x0f058
 | |
| 		>;
 | |
| 	};
 | |
| 
 | |
| 	pinctrl_uart1_dce: uart1dcegrp {
 | |
| 		fsl,pins = <
 | |
| 			MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA	0x1b0b1
 | |
| 			MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA	0x1b0b1
 | |
| 		>;
 | |
| 	};
 | |
| 
 | |
| 	/* DTE mode */
 | |
| 	pinctrl_uart1_dte: uart1dtegrp {
 | |
| 		fsl,pins = <
 | |
| 			MX6QDL_PAD_CSI0_DAT10__UART1_RX_DATA	0x1b0b1
 | |
| 			MX6QDL_PAD_CSI0_DAT11__UART1_TX_DATA	0x1b0b1
 | |
| 			MX6QDL_PAD_EIM_D19__UART1_RTS_B		0x1b0b1
 | |
| 			MX6QDL_PAD_EIM_D20__UART1_CTS_B		0x1b0b1
 | |
| 		>;
 | |
| 	};
 | |
| 
 | |
| 	/* Additional DTR, DSR, DCD */
 | |
| 	pinctrl_uart1_ctrl: uart1ctrlgrp {
 | |
| 		fsl,pins = <
 | |
| 			MX6QDL_PAD_EIM_D23__UART1_DCD_B	0x1b0b0
 | |
| 			MX6QDL_PAD_EIM_D24__UART1_DTR_B	0x1b0b0
 | |
| 			MX6QDL_PAD_EIM_D25__UART1_DSR_B	0x1b0b0
 | |
| 		>;
 | |
| 	};
 | |
| 
 | |
| 	pinctrl_uart2_dte: uart2dtegrp {
 | |
| 		fsl,pins = <
 | |
| 			MX6QDL_PAD_SD4_DAT4__UART2_TX_DATA	0x1b0b1
 | |
| 			MX6QDL_PAD_SD4_DAT7__UART2_RX_DATA	0x1b0b1
 | |
| 			MX6QDL_PAD_SD4_DAT6__UART2_RTS_B	0x1b0b1
 | |
| 			MX6QDL_PAD_SD4_DAT5__UART2_CTS_B	0x1b0b1
 | |
| 		>;
 | |
| 	};
 | |
| 
 | |
| 	pinctrl_uart3_dte: uart3dtegrp {
 | |
| 		fsl,pins = <
 | |
| 			MX6QDL_PAD_SD4_CLK__UART3_TX_DATA	0x1b0b1
 | |
| 			MX6QDL_PAD_SD4_CMD__UART3_RX_DATA	0x1b0b1
 | |
| 		>;
 | |
| 	};
 | |
| 
 | |
| 	pinctrl_usdhc1: usdhc1grp {
 | |
| 		fsl,pins = <
 | |
| 			MX6QDL_PAD_SD1_CMD__SD1_CMD	0x17071
 | |
| 			MX6QDL_PAD_SD1_CLK__SD1_CLK	0x10071
 | |
| 			MX6QDL_PAD_SD1_DAT0__SD1_DATA0	0x17071
 | |
| 			MX6QDL_PAD_SD1_DAT1__SD1_DATA1	0x17071
 | |
| 			MX6QDL_PAD_SD1_DAT2__SD1_DATA2	0x17071
 | |
| 			MX6QDL_PAD_SD1_DAT3__SD1_DATA3	0x17071
 | |
| 		>;
 | |
| 	};
 | |
| 
 | |
| 	pinctrl_usdhc3: usdhc3grp {
 | |
| 		fsl,pins = <
 | |
| 			MX6QDL_PAD_SD3_CMD__SD3_CMD	0x17059
 | |
| 			MX6QDL_PAD_SD3_CLK__SD3_CLK	0x10059
 | |
| 			MX6QDL_PAD_SD3_DAT0__SD3_DATA0	0x17059
 | |
| 			MX6QDL_PAD_SD3_DAT1__SD3_DATA1	0x17059
 | |
| 			MX6QDL_PAD_SD3_DAT2__SD3_DATA2	0x17059
 | |
| 			MX6QDL_PAD_SD3_DAT3__SD3_DATA3	0x17059
 | |
| 			MX6QDL_PAD_SD3_DAT4__SD3_DATA4	0x17059
 | |
| 			MX6QDL_PAD_SD3_DAT5__SD3_DATA5	0x17059
 | |
| 			MX6QDL_PAD_SD3_DAT6__SD3_DATA6	0x17059
 | |
| 			MX6QDL_PAD_SD3_DAT7__SD3_DATA7	0x17059
 | |
| 			/* eMMC reset */
 | |
| 			MX6QDL_PAD_SD3_RST__SD3_RESET	0x17059
 | |
| 		>;
 | |
| 	};
 | |
| };
 |