// SPDX-License-Identifier: GPL-2.0 // // Copyright (C) 2019 Logic PD, Inc. #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/input/input.h> / { chosen { stdout-path = &uart1; }; memory@10000000 { device_type = "memory"; reg = <0x10000000 0x80000000>; }; reg_wl18xx_vmmc: regulator-wl18xx { compatible = "regulator-fixed"; regulator-name = "vwl1837"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; gpio = <&gpio7 0 GPIO_ACTIVE_HIGH>; startup-delay-us = <70000>; enable-active-high; }; }; &clks { assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>, <&clks IMX6QDL_CLK_LDB_DI1_SEL>; assigned-clock-parents = <&clks IMX6QDL_CLK_PLL3_USB_OTG>, <&clks IMX6QDL_CLK_PLL3_USB_OTG>; }; &gpmi { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gpmi_nand>; nand-on-flash-bbt; status = "okay"; }; &i2c3 { clock-frequency = <100000>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c3>; status = "okay"; pfuze100: pmic@8 { compatible = "fsl,pfuze100"; reg = <0x08>; regulators { sw1a_reg: sw1ab { regulator-min-microvolt = <725000>; regulator-max-microvolt = <1450000>; regulator-name = "vddcore"; regulator-boot-on; regulator-always-on; regulator-ramp-delay = <6250>; }; sw1c_reg: sw1c { regulator-min-microvolt = <725000>; regulator-max-microvolt = <1450000>; regulator-name = "vddsoc"; regulator-boot-on; regulator-always-on; regulator-ramp-delay = <6250>; }; sw2_reg: sw2 { regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-name = "gen_3v3"; regulator-boot-on; }; sw3a_reg: sw3a { regulator-min-microvolt = <1350000>; regulator-max-microvolt = <1350000>; regulator-name = "sw3a_vddr"; regulator-boot-on; regulator-always-on; }; sw3b_reg: sw3b { regulator-min-microvolt = <1350000>; regulator-max-microvolt = <1350000>; regulator-name = "sw3b_vddr"; regulator-boot-on; regulator-always-on; }; sw4_reg: sw4 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-name = "gen_rgmii"; }; swbst_reg: swbst { regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5150000>; regulator-name = "gen_5v0"; }; snvs_reg: vsnvs { regulator-min-microvolt = <1000000>; regulator-max-microvolt = <3000000>; regulator-name = "gen_vsns"; regulator-boot-on; regulator-always-on; }; vref_reg: vrefddr { regulator-boot-on; regulator-always-on; }; vgen1_reg: vgen1 { regulator-min-microvolt = <1500000>; regulator-max-microvolt = <1500000>; regulator-name = "gen_1v5"; }; vgen2_reg: vgen2 { regulator-name = "vgen2"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <1550000>; }; vgen3_reg: vgen3 { regulator-name = "gen_vadj_0"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; }; vgen4_reg: vgen4 { regulator-name = "gen_1v8"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; }; vgen5_reg: vgen5 { regulator-name = "gen_vadj_1"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; vgen6_reg: vgen6 { regulator-name = "gen_2v5"; regulator-min-microvolt = <2500000>; regulator-max-microvolt = <2500000>; regulator-always-on; }; coin_reg: coin { regulator-min-microvolt = <2500000>; regulator-max-microvolt = <3000000>; regulator-always-on; }; }; }; temperature-sensor@49 { compatible = "ti,tmp102"; reg = <0x49>; interrupt-parent = <&gpio6>; interrupts = <15 IRQ_TYPE_LEVEL_LOW>; #thermal-sensor-cells = <1>; }; temperature-sensor@4a { compatible = "ti,tmp102"; reg = <0x4a>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_tempsense>; interrupt-parent = <&gpio6>; interrupts = <15 IRQ_TYPE_LEVEL_LOW>; #thermal-sensor-cells = <1>; }; eeprom@51 { compatible = "atmel,24c64"; pagesize = <32>; read-only; /* Manufacturing EEPROM programmed at factory */ reg = <0x51>; }; eeprom@52 { compatible = "atmel,24c64"; pagesize = <32>; reg = <0x52>; }; }; /* Reroute power feeding the CPU to come from the external PMIC */ ®_arm { vin-supply = <&sw1a_reg>; }; ®_soc { vin-supply = <&sw1c_reg>; }; &snvs_poweroff { status = "okay"; }; &iomuxc { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_hog>; pinctrl_gpmi_nand: gpmi-nandgrp { fsl,pins = < MX6QDL_PAD_NANDF_CLE__NAND_CLE 0x0b0b1 MX6QDL_PAD_NANDF_ALE__NAND_ALE 0x0b0b1 MX6QDL_PAD_NANDF_WP_B__NAND_WP_B 0x0b0b1 MX6QDL_PAD_NANDF_RB0__NAND_READY_B 0x0b000 MX6QDL_PAD_NANDF_CS0__NAND_CE0_B 0x0b0b1 MX6QDL_PAD_SD4_CMD__NAND_RE_B 0x0b0b1 MX6QDL_PAD_SD4_CLK__NAND_WE_B 0x0b0b1 MX6QDL_PAD_NANDF_D0__NAND_DATA00 0x0b0b1 MX6QDL_PAD_NANDF_D1__NAND_DATA01 0x0b0b1 MX6QDL_PAD_NANDF_D2__NAND_DATA02 0x0b0b1 MX6QDL_PAD_NANDF_D3__NAND_DATA03 0x0b0b1 MX6QDL_PAD_NANDF_D4__NAND_DATA04 0x0b0b1 MX6QDL_PAD_NANDF_D5__NAND_DATA05 0x0b0b1 MX6QDL_PAD_NANDF_D6__NAND_DATA06 0x0b0b1 MX6QDL_PAD_NANDF_D7__NAND_DATA07 0x0b0b1 >; }; pinctrl_hog: hoggrp { fsl,pins = < /* Enable ARM Debugger */ MX6QDL_PAD_CSI0_MCLK__ARM_TRACE_CTL 0x1b0b0 MX6QDL_PAD_CSI0_PIXCLK__ARM_EVENTO 0x1b0b0 MX6QDL_PAD_CSI0_VSYNC__ARM_TRACE00 0x1b0b0 MX6QDL_PAD_CSI0_DATA_EN__ARM_TRACE_CLK 0x1b0b0 MX6QDL_PAD_CSI0_DAT4__ARM_TRACE01 0x1b0b0 MX6QDL_PAD_CSI0_DAT5__ARM_TRACE02 0x1b0b0 MX6QDL_PAD_CSI0_DAT6__ARM_TRACE03 0x1b0b0 MX6QDL_PAD_CSI0_DAT7__ARM_TRACE04 0x1b0b0 MX6QDL_PAD_CSI0_DAT8__ARM_TRACE05 0x1b0b0 MX6QDL_PAD_CSI0_DAT9__ARM_TRACE06 0x1b0b0 MX6QDL_PAD_CSI0_DAT10__ARM_TRACE07 0x1b0b0 MX6QDL_PAD_CSI0_DAT11__ARM_TRACE08 0x1b0b0 MX6QDL_PAD_CSI0_DAT12__ARM_TRACE09 0x1b0b0 MX6QDL_PAD_CSI0_DAT13__ARM_TRACE10 0x1b0b0 MX6QDL_PAD_CSI0_DAT14__ARM_TRACE11 0x1b0b0 MX6QDL_PAD_CSI0_DAT15__ARM_TRACE12 0x1b0b0 MX6QDL_PAD_CSI0_DAT16__ARM_TRACE13 0x1b0b0 MX6QDL_PAD_CSI0_DAT17__ARM_TRACE14 0x1b0b0 MX6QDL_PAD_CSI0_DAT18__ARM_TRACE15 0x1b0b0 MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0 >; }; pinctrl_i2c3: i2c3grp { fsl,pins = < MX6QDL_PAD_EIM_D17__I2C3_SCL 0x4001b8b1 MX6QDL_PAD_EIM_D18__I2C3_SDA 0x4001b8b1 >; }; pinctrl_tempsense: tempsensegrp { fsl,pins = < MX6QDL_PAD_NANDF_CS2__GPIO6_IO15 0x1b0b0 >; }; pinctrl_uart1: uart1grp { fsl,pins = < MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA 0x1b0b1 MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1 >; }; pinctrl_uart2: uart2grp { fsl,pins = < MX6QDL_PAD_SD3_RST__GPIO7_IO08 0x13059 /* BT_EN */ MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA 0x1b0b1 MX6QDL_PAD_SD4_DAT5__UART2_RTS_B 0x1b0b1 MX6QDL_PAD_SD4_DAT6__UART2_CTS_B 0x1b0b1 MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA 0x1b0b1 >; }; pinctrl_usdhc1: usdhc1grp { fsl,pins = < MX6QDL_PAD_SD1_CMD__SD1_CMD 0x170B9 MX6QDL_PAD_SD1_CLK__SD1_CLK 0x100B9 MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x170B9 MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x170B9 MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x170B9 MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x170B9 >; }; pinctrl_usdhc3: usdhc3grp { fsl,pins = < MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17049 MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10049 MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17049 MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17049 MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17049 MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17049 MX6QDL_PAD_SD3_DAT4__GPIO7_IO01 0x130b0 /* WL_IRQ */ MX6QDL_PAD_SD3_DAT5__GPIO7_IO00 0x17059 /* WLAN_EN */ >; }; }; &snvs_poweroff { status = "okay"; }; &uart1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart1>; status = "okay"; }; &uart2 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart2>; uart-has-rtscts; status = "okay"; bluetooth { compatible = "ti,wl1837-st"; enable-gpios = <&gpio7 8 GPIO_ACTIVE_HIGH>; }; }; &usdhc1 { pinctrl-names = "default", "state_100mhz", "state_200mhz"; pinctrl-0 = <&pinctrl_usdhc1>; non-removable; keep-power-in-suspend; wakeup-source; vmmc-supply = <&sw2_reg>; status = "okay"; }; &usdhc3 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usdhc3>; non-removable; cap-power-off-card; keep-power-in-suspend; wakeup-source; vmmc-supply = <®_wl18xx_vmmc>; #address-cells = <1>; #size-cells = <0>; status = "okay"; wlcore: wlcore@2 { compatible = "ti,wl1837"; reg = <2>; interrupt-parent = <&gpio7>; interrupts = <1 IRQ_TYPE_LEVEL_HIGH>; tcxo-clock-frequency = <26000000>; }; };