0001 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
0002 /*
0003 * Copyright (c) 2020 Protonic Holland
0004 * Copyright (c) 2020 Oleksij Rempel <kernel@pengutronix.de>, Pengutronix
0005 */
0006
0007 /dts-v1/;
0008
0009 #include <dt-bindings/gpio/gpio.h>
0010 #include <dt-bindings/leds/common.h>
0011 #include "imx6ull.dtsi"
0012
0013 / {
0014 model = "JOZ Access Point";
0015 compatible = "joz,jozacp", "fsl,imx6ull";
0016
0017 chosen {
0018 stdout-path = &uart1;
0019 };
0020
0021 /* On board name LED_RGB1 */
0022 led-controller-1 {
0023 compatible = "pwm-leds";
0024
0025 led-0 {
0026 color = <LED_COLOR_ID_RED>;
0027 function = LED_FUNCTION_INDICATOR;
0028 function-enumerator = <0>;
0029 pwms = <&pwm1 0 10000000 0>;
0030 max-brightness = <255>;
0031 };
0032
0033 led-1 {
0034 color = <LED_COLOR_ID_GREEN>;
0035 function = LED_FUNCTION_INDICATOR;
0036 function-enumerator = <1>;
0037 pwms = <&pwm3 0 10000000 0>;
0038 max-brightness = <255>;
0039 };
0040
0041 led-2 {
0042 color = <LED_COLOR_ID_BLUE>;
0043 function = LED_FUNCTION_INDICATOR;
0044 function-enumerator = <2>;
0045 pwms = <&pwm5 0 10000000 0>;
0046 max-brightness = <255>;
0047 linux,default-trigger = "heartbeat";
0048 };
0049 };
0050
0051 /* On board name LED_RGB2 */
0052 led-controller-2 {
0053 compatible = "pwm-leds";
0054
0055 led-3 {
0056 color = <LED_COLOR_ID_RED>;
0057 function = LED_FUNCTION_INDICATOR;
0058 function-enumerator = <3>;
0059 pwms = <&pwm2 0 10000000 0>;
0060 max-brightness = <255>;
0061 };
0062
0063 led-4 {
0064 color = <LED_COLOR_ID_GREEN>;
0065 function = LED_FUNCTION_INDICATOR;
0066 function-enumerator = <4>;
0067 pwms = <&pwm4 0 10000000 0>;
0068 max-brightness = <255>;
0069 };
0070
0071 led-5 {
0072 color = <LED_COLOR_ID_BLUE>;
0073 function = LED_FUNCTION_INDICATOR;
0074 function-enumerator = <5>;
0075 pwms = <&pwm6 0 10000000 0>;
0076 max-brightness = <255>;
0077 };
0078 };
0079
0080 reg_3v3: regulator-3v3 {
0081 compatible = "regulator-fixed";
0082 regulator-name = "3v3";
0083 regulator-min-microvolt = <3300000>;
0084 regulator-max-microvolt = <3300000>;
0085 vin-supply = <®_5v0>;
0086 };
0087
0088 reg_5v0: regulator-5v0 {
0089 compatible = "regulator-fixed";
0090 regulator-name = "5v0";
0091 regulator-min-microvolt = <5000000>;
0092 regulator-max-microvolt = <5000000>;
0093 };
0094
0095 reg_vbus: regulator-vbus {
0096 compatible = "regulator-fixed";
0097 pinctrl-names = "default";
0098 pinctrl-0 = <&pinctrl_vbus>;
0099 regulator-name = "vbus";
0100 regulator-min-microvolt = <5000000>;
0101 regulator-max-microvolt = <5000000>;
0102 vin-supply = <®_5v0>;
0103 gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>;
0104 enable-active-high;
0105 };
0106
0107 usdhc2_wifi_pwrseq: usdhc2-wifi-pwrseq {
0108 compatible = "mmc-pwrseq-simple";
0109 pinctrl-names = "default";
0110 pinctrl-0 = <&pinctrl_wifi_npd>;
0111 reset-gpios = <&gpio4 25 GPIO_ACTIVE_LOW>;
0112 };
0113 };
0114
0115 &can1 {
0116 pinctrl-names = "default";
0117 pinctrl-0 = <&pinctrl_can1>;
0118 status = "okay";
0119 };
0120
0121 &cpu0 {
0122 clock-frequency = <792000000>;
0123 };
0124
0125 &fec1 {
0126 pinctrl-names = "default";
0127 pinctrl-0 = <&pinctrl_enet1>;
0128 phy-mode = "rmii";
0129 phy-handle = <ðphy0>;
0130 status = "okay";
0131
0132 mdio {
0133 #address-cells = <1>;
0134 #size-cells = <0>;
0135
0136 ethphy0: ethernet-phy@0 {
0137 reg = <0>;
0138 clocks = <&clks IMX6UL_CLK_ENET_REF>;
0139 clock-names = "rmii-ref";
0140 interrupts-extended = <&gpio1 29 IRQ_TYPE_LEVEL_LOW>;
0141 reset-gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
0142 reset-assert-us = <10000>;
0143 reset-deassert-us = <300>;
0144 };
0145 };
0146 };
0147
0148 &i2c1 {
0149 pinctrl-names = "default";
0150 pinctrl-0 = <&pinctrl_i2c1>;
0151 clock-frequency = <100000>;
0152 status = "okay";
0153 };
0154
0155 &i2c2 {
0156 pinctrl-names = "default";
0157 pinctrl-0 = <&pinctrl_i2c2>;
0158 clock-frequency = <100000>;
0159 status = "okay";
0160
0161 rtc@51 {
0162 compatible = "nxp,pcf8563";
0163 reg = <0x51>;
0164 };
0165 };
0166
0167 &pwm1 {
0168 pinctrl-names = "default";
0169 pinctrl-0 = <&pinctrl_pwm1>;
0170 status = "okay";
0171 };
0172
0173 &pwm2 {
0174 pinctrl-names = "default";
0175 pinctrl-0 = <&pinctrl_pwm2>;
0176 status = "okay";
0177 };
0178
0179 &pwm3 {
0180 pinctrl-names = "default";
0181 pinctrl-0 = <&pinctrl_pwm3>;
0182 status = "okay";
0183 };
0184
0185 &pwm4 {
0186 pinctrl-names = "default";
0187 pinctrl-0 = <&pinctrl_pwm4>;
0188 status = "okay";
0189 };
0190
0191 &pwm5 {
0192 pinctrl-names = "default";
0193 pinctrl-0 = <&pinctrl_pwm5>;
0194 status = "okay";
0195 };
0196
0197 &pwm6 {
0198 pinctrl-names = "default";
0199 pinctrl-0 = <&pinctrl_pwm6>;
0200 status = "okay";
0201 };
0202
0203 &snvs_rtc {
0204 status = "disabled";
0205 };
0206
0207 &uart1 {
0208 pinctrl-names = "default";
0209 pinctrl-0 = <&pinctrl_uart1>;
0210 status = "okay";
0211 };
0212
0213 &uart4 {
0214 pinctrl-names = "default";
0215 pinctrl-0 = <&pinctrl_uart4>;
0216 dtr-gpios = <&gpio3 4 GPIO_ACTIVE_LOW>;
0217 uart-has-rtscts;
0218 status = "okay";
0219 };
0220
0221 &usbotg1 {
0222 pinctrl-names = "default";
0223 pinctrl-0 = <&pinctrl_usbotg1>;
0224 vbus-supply = <®_vbus>;
0225 dr_mode = "host";
0226 over-current-active-low;
0227 status = "okay";
0228 };
0229
0230 &usdhc1 {
0231 pinctrl-names = "default";
0232 pinctrl-0 = <&pinctrl_usdhc1>;
0233 vmmc-supply = <®_3v3>;
0234 bus-width = <8>;
0235 no-1-8-v;
0236 non-removable;
0237 cap-mmc-hw-reset;
0238 no-sd;
0239 no-sdio;
0240 status = "okay";
0241 };
0242
0243 &usdhc2 {
0244 pinctrl-names = "default";
0245 pinctrl-0 = <&pinctrl_usdhc2>;
0246 mmc-pwrseq = <&usdhc2_wifi_pwrseq>;
0247 bus-width = <4>;
0248 no-1-8-v;
0249 no-mmc;
0250 no-sd;
0251 non-removable;
0252 #address-cells = <1>;
0253 #size-cells = <0>;
0254 status = "okay";
0255
0256 wifi@1 {
0257 compatible = "brcm,bcm4329-fmac";
0258 reg = <1>;
0259 };
0260 };
0261
0262 &iomuxc {
0263 pinctrl-names = "default";
0264 pinctrl-0 = <&pinctrl_hog>;
0265
0266 pinctrl_can1: can1grp {
0267 fsl,pins = <
0268 MX6UL_PAD_UART3_CTS_B__FLEXCAN1_TX 0x1b0b0
0269 MX6UL_PAD_UART3_RTS_B__FLEXCAN1_RX 0x1b0b0
0270 >;
0271 };
0272
0273 pinctrl_enet1: enet1grp {
0274 fsl,pins = <
0275 MX6UL_PAD_GPIO1_IO07__ENET1_MDC 0x1b0b0
0276 MX6UL_PAD_GPIO1_IO06__ENET1_MDIO 0x1b0b0
0277 MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN 0x1b0b0
0278 MX6UL_PAD_ENET1_RX_ER__ENET1_RX_ER 0x1b0b0
0279 MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00 0x1b0b0
0280 MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01 0x1b0b0
0281 MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN 0x1b0b0
0282 MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00 0x1b0b0
0283 MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01 0x1b0b0
0284 MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 0x4001b031
0285
0286 MX6UL_PAD_UART4_TX_DATA__GPIO1_IO28 0x038b0
0287 MX6UL_PAD_UART4_RX_DATA__GPIO1_IO29 0x170b0
0288 >;
0289 };
0290
0291 pinctrl_hog: hoggrp {
0292 fsl,pins = <
0293 /* HW Revision */
0294 MX6UL_PAD_ENET2_RX_DATA0__GPIO2_IO08 0x1b0b0
0295 MX6UL_PAD_ENET2_RX_DATA1__GPIO2_IO09 0x1b0b0
0296 MX6UL_PAD_ENET2_RX_EN__GPIO2_IO10 0x1b0b0
0297
0298 /* HW ID */
0299 MX6UL_PAD_ENET2_TX_DATA0__GPIO2_IO11 0x1b0b0
0300 MX6UL_PAD_ENET2_TX_DATA1__GPIO2_IO12 0x1b0b0
0301 MX6UL_PAD_ENET2_TX_EN__GPIO2_IO13 0x1b0b0
0302 MX6UL_PAD_ENET2_TX_CLK__GPIO2_IO14 0x1b0b0
0303 MX6UL_PAD_ENET2_RX_ER__GPIO2_IO15 0x1b0b0
0304
0305 /* Digital inputs */
0306 MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0x11000
0307 MX6UL_PAD_GPIO1_IO04__GPIO1_IO04 0x11000
0308 MX6UL_PAD_GPIO1_IO05__GPIO1_IO05 0x11000
0309 MX6UL_PAD_GPIO1_IO08__GPIO1_IO08 0x11000
0310 MX6UL_PAD_GPIO1_IO09__GPIO1_IO09 0x11000
0311
0312 /* Isolated outputs */
0313 MX6UL_PAD_UART2_TX_DATA__GPIO1_IO20 0x01020
0314 MX6UL_PAD_UART2_RX_DATA__GPIO1_IO21 0x01020
0315 MX6UL_PAD_UART2_RTS_B__GPIO1_IO23 0x01020
0316 MX6UL_PAD_UART3_TX_DATA__GPIO1_IO24 0x01020
0317 MX6UL_PAD_UART3_RX_DATA__GPIO1_IO25 0x01020
0318 >;
0319 };
0320
0321 pinctrl_i2c1: i2c1grp {
0322 fsl,pins = <
0323 MX6UL_PAD_CSI_MCLK__I2C1_SDA 0x4001f8b1
0324 MX6UL_PAD_CSI_PIXCLK__I2C1_SCL 0x4001f8b1
0325 >;
0326 };
0327
0328 pinctrl_i2c2: i2c2grp {
0329 fsl,pins = <
0330 MX6UL_PAD_UART5_RX_DATA__I2C2_SDA 0x4001f8b1
0331 MX6UL_PAD_UART5_TX_DATA__I2C2_SCL 0x4001f8b1
0332 >;
0333 };
0334
0335 pinctrl_pwm1: pwm1grp {
0336 fsl,pins = <
0337 MX6UL_PAD_LCD_DATA00__PWM1_OUT 0x01010
0338 >;
0339 };
0340
0341 pinctrl_pwm2: pwm2grp {
0342 fsl,pins = <
0343 MX6UL_PAD_LCD_DATA01__PWM2_OUT 0x01010
0344 >;
0345 };
0346
0347 pinctrl_pwm3: pwm3grp {
0348 fsl,pins = <
0349 MX6UL_PAD_LCD_DATA02__PWM3_OUT 0x01010
0350 >;
0351 };
0352
0353 pinctrl_pwm4: pwm4grp {
0354 fsl,pins = <
0355 MX6UL_PAD_LCD_DATA03__PWM4_OUT 0x01010
0356 >;
0357 };
0358
0359 pinctrl_pwm5: pwm5grp {
0360 fsl,pins = <
0361 MX6UL_PAD_LCD_DATA18__PWM5_OUT 0x01010
0362 >;
0363 };
0364
0365 pinctrl_pwm6: pwm6grp {
0366 fsl,pins = <
0367 MX6UL_PAD_LCD_DATA19__PWM6_OUT 0x01010
0368 >;
0369 };
0370
0371 pinctrl_uart1: uart1grp {
0372 fsl,pins = <
0373 MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX 0x1b0b1
0374 MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX 0x1b0b1
0375 >;
0376 };
0377
0378 pinctrl_uart4: uart4grp {
0379 fsl,pins = <
0380 MX6UL_PAD_LCD_CLK__UART4_DCE_TX 0x1b0b0
0381 MX6UL_PAD_LCD_ENABLE__UART4_DCE_RX 0x1b0b0
0382 MX6UL_PAD_LCD_HSYNC__UART4_DCE_CTS 0x1b0b0
0383 MX6UL_PAD_LCD_VSYNC__UART4_DCE_RTS 0x1b0b0
0384 MX6UL_PAD_LCD_RESET__GPIO3_IO04 0x1b0b0
0385 >;
0386 };
0387
0388 pinctrl_usbotg1: usbotg1grp {
0389 fsl,pins = <
0390 MX6UL_PAD_GPIO1_IO01__USB_OTG1_OC 0x1b0b0
0391 >;
0392 };
0393
0394 pinctrl_usdhc1: usdhc1grp {
0395 fsl,pins = <
0396 MX6UL_PAD_NAND_WP_B__USDHC1_RESET_B 0x17099
0397 MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x1f099
0398 MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x10099
0399 MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x17099
0400 MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x17099
0401 MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x17099
0402 MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x17099
0403 MX6UL_PAD_NAND_READY_B__USDHC1_DATA4 0x17099
0404 MX6UL_PAD_NAND_CE0_B__USDHC1_DATA5 0x17099
0405 MX6UL_PAD_NAND_CE1_B__USDHC1_DATA6 0x17099
0406 MX6UL_PAD_NAND_CLE__USDHC1_DATA7 0x17099
0407 >;
0408 };
0409
0410 pinctrl_usdhc2: usdhc2grp {
0411 fsl,pins = <
0412 MX6UL_PAD_CSI_VSYNC__USDHC2_CLK 0x100b9
0413 MX6UL_PAD_CSI_HSYNC__USDHC2_CMD 0x170b9
0414 MX6UL_PAD_CSI_DATA00__USDHC2_DATA0 0x170b9
0415 MX6UL_PAD_CSI_DATA01__USDHC2_DATA1 0x170b9
0416 MX6UL_PAD_CSI_DATA02__USDHC2_DATA2 0x170b9
0417 MX6UL_PAD_CSI_DATA03__USDHC2_DATA3 0x170b9
0418 >;
0419 };
0420
0421 pinctrl_vbus: vbus0grp {
0422 fsl,pins = <
0423 MX6UL_PAD_GPIO1_IO02__GPIO1_IO02 0x030b0
0424 >;
0425 };
0426
0427 pinctrl_wifi_npd: wifigrp {
0428 fsl,pins = <
0429 /* WL_REG_ON */
0430 MX6UL_PAD_CSI_DATA04__GPIO4_IO25 0x03020
0431 >;
0432 };
0433 };
0434
0435 &iomuxc_snvs {
0436 pinctrl-names = "default";
0437 pinctrl-0 = <&pinctrl_snvs_hog>;
0438
0439 pinctrl_snvs_hog: snvs-hog-grp {
0440 fsl,pins = <
0441 /* Digital outputs */
0442 MX6ULL_PAD_SNVS_TAMPER2__GPIO5_IO02 0x00020
0443 MX6ULL_PAD_SNVS_TAMPER3__GPIO5_IO03 0x00020
0444 MX6ULL_PAD_SNVS_TAMPER4__GPIO5_IO04 0x00020
0445 MX6ULL_PAD_SNVS_TAMPER5__GPIO5_IO05 0x00020
0446 MX6ULL_PAD_SNVS_TAMPER6__GPIO5_IO06 0x00020
0447
0448 /* Digital outputs fault feedback */
0449 MX6ULL_PAD_SNVS_TAMPER0__GPIO5_IO00 0x17000
0450 MX6ULL_PAD_SNVS_TAMPER1__GPIO5_IO01 0x17000
0451 MX6ULL_PAD_SNVS_TAMPER7__GPIO5_IO07 0x17000
0452 MX6ULL_PAD_SNVS_TAMPER8__GPIO5_IO08 0x17000
0453 MX6ULL_PAD_SNVS_TAMPER9__GPIO5_IO09 0x17000
0454 >;
0455 };
0456 };