| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 
 | // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Copyright (C) 2023 DH electronics GmbH
 * Copyright (C) 2023 Marantec electronics GmbH
 *
 * DHCOM iMX6ULL variant:
 * DHCR-iMX6ULL-C080-R051-SPI-WBT-I-01LG
 * DHCOR PCB number: 578-200 or newer
 * maveo box PCB number: 525-200 or newer
 */
/dts-v1/;
#include "imx6ull-dhcor-som.dtsi"
/ {
	model = "DH electronics i.MX6ULL DHCOR on maveo box";
	compatible = "marantec,imx6ull-dhcor-maveo-box", "dh,imx6ull-dhcor-som",
		     "fsl,imx6ull";
	aliases {
		mmc2 = &usdhc2;
		spi0 = &ecspi4;
		spi3 = &ecspi1;
	};
	chosen {
		stdout-path = "serial0:115200n8";
	};
	reg_usb_otg1_vbus: regulator-usb-otg1-vbus {
		compatible = "regulator-fixed";
		regulator-max-microvolt = <5000000>;
		regulator-min-microvolt = <5000000>;
		regulator-name = "usb-otg1-vbus";
	};
	reg_usb_otg2_vbus: regulator-usb-otg2-vbus {
		compatible = "regulator-fixed";
		regulator-max-microvolt = <5000000>;
		regulator-min-microvolt = <5000000>;
		regulator-name = "usb-otg2-vbus";
	};
	/* WiFi pin WL_REG_ON is connected to GPIO 5.9 */
	usdhc1_pwrseq: usdhc1-pwrseq {
		compatible = "mmc-pwrseq-simple";
		reset-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
	};
};
/* BT pin BT_REG_ON is connected to GPIO 1.18 */
&bluetooth {
	shutdown-gpios = <&gpio1 18 GPIO_ACTIVE_HIGH>;
};
/* X10 connector */
&ecspi4 {
	cs-gpios = <&gpio2 15 GPIO_ACTIVE_LOW>;
	pinctrl-0 = <&pinctrl_ecspi4>;
	pinctrl-names = "default";
	status = "okay";
	spidev@0 {
		compatible = "dh,dhcom-board";
		reg = <0>;
		spi-cpha;
		spi-cpol;
		spi-max-frequency = <54000000>;
	};
};
&gpio1 {
	gpio-line-names =
		"", "", "", "",
		"", "BUTTON-USER", "", "",
		"BUTTON-RESET", "", "", "",
		"", "", "", "",
		"", "", "BT-REG-ON", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "";
};
&gpio2 {
	gpio-line-names =
		"PSOC-GPIO-1", "", "", "X10-12",
		"X10-10", "PSOC-GPIO-2", "PSOC-GPIO-3", "",
		"X10-11", "X10-9", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "";
};
&gpio3 {
	gpio-line-names =
		"DHCOR-HW0", "DHCOR-HW1", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "";
};
&gpio4 {
	gpio-line-names =
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "MAVEO-BOX-HW0", "LED-G", "MAVEO-BOX-VAR1",
		"MAVEO-BOX-VAR0", "MAVEO-BOX-HW1", "MAVEO-BOX-HW2", "LED-B",
		"LED-R", "", "", "",
		"", "", "", "";
};
&gpio5 {
	gpio-line-names =
		"PSOC-SWD-IO", "PSOC-SWD-CLK", "PSOC-RESET", "ZIGBEE-PROG",
		"ZIGBEE-RESET", "", "PSOC-PWR-FAIL-OUT", "NFC-ENABLE",
		"NFC-IRQ", "WL-REG-ON", "DHCOR-BOOT-M0", "DHCOR-BOOT-M1",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "";
};
&i2c2 {
	clock-frequency = <100000>;
	pinctrl-0 = <&pinctrl_i2c2>;
	pinctrl-1 = <&pinctrl_i2c2_gpio>;
	pinctrl-names = "default", "gpio";
	scl-gpios = <&gpio1 30 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
	sda-gpios = <&gpio1 31 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
	status = "okay";
};
/* Console UART */
&uart1 {
	pinctrl-0 = <&pinctrl_uart1>;
	pinctrl-names = "default";
	status = "okay";
};
/* BT on LGA */
&uart2 {
	pinctrl-0 = <&pinctrl_uart2 &pinctrl_bt_gpio>;
};
/* Zigbee UART */
&uart3 {
	pinctrl-0 = <&pinctrl_uart3 &pinctrl_snvs_zigbee_gpio>;
	pinctrl-names = "default";
	status = "okay";
};
&usbotg1 {
	adp-disable;
	disable-over-current; /* Overcurrent pin isn't connected */
	dr_mode = "otg";
	hnp-disable;
	pinctrl-0 = <&pinctrl_usbotg1>;
	pinctrl-names = "default";
	srp-disable;
	vbus-supply = <®_usb_otg1_vbus>;
	status = "okay";
};
&usbotg2 {
	disable-over-current; /* Overcurrent pin isn't connected */
	dr_mode = "host";
	pinctrl-0 = <&pinctrl_usbotg2>;
	pinctrl-names = "default";
	tpl-support;
	vbus-supply = <®_usb_otg2_vbus>;
	status = "okay";
};
&usbphy1 {
	fsl,tx-d-cal = <106>;
};
&usbphy2 {
	fsl,tx-d-cal = <106>;
};
/* WiFi on LGA */
&usdhc1 {
	mmc-pwrseq = <&usdhc1_pwrseq>;
	pinctrl-0 = <&pinctrl_usdhc1_wifi &pinctrl_snvs_wifi_gpio>;
};
/* eMMC */
&usdhc2 {
	bus-width = <8>;
	no-1-8-v;
	non-removable;
	pinctrl-0 = <&pinctrl_usdhc2>;
	pinctrl-names = "default";
	vmmc-supply = <&vcc_3v3>;
	vqmmc-supply = <&vcc_3v3>;
	status = "okay";
};
&iomuxc {
	pinctrl-0 = <&pinctrl_hog_maveo_box>;
	pinctrl-names = "default";
	pinctrl_hog_maveo_box: hog-maveo-box-grp {
		fsl,pins = <
			MX6UL_PAD_GPIO1_IO05__GPIO1_IO05	0x120b0    /* BUTTON_USER */
			MX6UL_PAD_GPIO1_IO08__GPIO1_IO08	0x120b0    /* BUTTON_RESET */
			MX6UL_PAD_CSI_PIXCLK__GPIO4_IO18	0x400120b0 /* LED_G */
			MX6UL_PAD_CSI_DATA02__GPIO4_IO23	0x400120b0 /* LED_B */
			MX6UL_PAD_CSI_DATA03__GPIO4_IO24	0x400120b0 /* LED_R */
			MX6UL_PAD_ENET2_RX_DATA1__GPIO2_IO09	0x400120b0 /* X10_9 */
			MX6UL_PAD_ENET1_TX_DATA1__GPIO2_IO04	0x400120b0 /* X10_10 */
			MX6UL_PAD_ENET2_RX_DATA0__GPIO2_IO08	0x400120b0 /* X10_11 */
			MX6UL_PAD_ENET1_TX_DATA0__GPIO2_IO03	0x400120b0 /* X10_12 */
			MX6UL_PAD_ENET1_RX_DATA0__GPIO2_IO00	0x400120b0 /* PSOC_GPIO_1 */
			MX6UL_PAD_ENET1_TX_EN__GPIO2_IO05	0x400120b0 /* PSOC_GPIO_2 */
			MX6UL_PAD_ENET1_TX_CLK__GPIO2_IO06	0x400120b0 /* PSOC_GPIO_3 */
			MX6UL_PAD_CSI_MCLK__GPIO4_IO17		0x120b0    /* MAVEO_BOX_HW0 */
			MX6UL_PAD_CSI_DATA00__GPIO4_IO21	0x120b0    /* MAVEO_BOX_HW1 */
			MX6UL_PAD_CSI_DATA01__GPIO4_IO22	0x120b0    /* MAVEO_BOX_HW2 */
			MX6UL_PAD_CSI_HSYNC__GPIO4_IO20		0x120b0    /* MAVEO_BOX_VAR0 */
			MX6UL_PAD_CSI_VSYNC__GPIO4_IO19		0x120b0    /* MAVEO_BOX_VAR1 */
			MX6UL_PAD_LCD_CLK__GPIO3_IO00		0x120b0    /* DHCOR_HW0 */
			MX6UL_PAD_LCD_ENABLE__GPIO3_IO01	0x120b0    /* DHCOR_HW1 */
			MX6UL_PAD_LCD_DATA00__GPIO3_IO05	0x120b0
			MX6UL_PAD_LCD_DATA01__GPIO3_IO06	0x120b0
			MX6UL_PAD_LCD_DATA02__GPIO3_IO07	0x120b0
			MX6UL_PAD_LCD_DATA03__GPIO3_IO08	0x120b0
			MX6UL_PAD_LCD_DATA04__GPIO3_IO09	0x120b0
			MX6UL_PAD_LCD_DATA05__GPIO3_IO10	0x120b0
			MX6UL_PAD_LCD_DATA06__GPIO3_IO11	0x120b0
			MX6UL_PAD_LCD_DATA07__GPIO3_IO12	0x120b0
			MX6UL_PAD_LCD_DATA08__GPIO3_IO13	0x120b0
			MX6UL_PAD_LCD_DATA09__GPIO3_IO14	0x120b0
			MX6UL_PAD_LCD_DATA10__GPIO3_IO15	0x120b0
			MX6UL_PAD_LCD_DATA11__GPIO3_IO16	0x120b0
			MX6UL_PAD_LCD_DATA12__GPIO3_IO17	0x120b0
			MX6UL_PAD_LCD_DATA13__GPIO3_IO18	0x120b0
			MX6UL_PAD_LCD_DATA14__GPIO3_IO19	0x120b0
			MX6UL_PAD_LCD_DATA15__GPIO3_IO20	0x120b0
			MX6UL_PAD_LCD_DATA16__GPIO3_IO21	0x120b0
			MX6UL_PAD_LCD_DATA17__GPIO3_IO22	0x120b0
			MX6UL_PAD_LCD_DATA18__GPIO3_IO23	0x120b0
		>;
	};
	pinctrl_bt_gpio: bt-gpio-grp {
		fsl,pins = <
			MX6UL_PAD_UART1_CTS_B__GPIO1_IO18	0x400120b0 /* BT_REG_ON */
		>;
	};
	pinctrl_ecspi4: ecspi4-grp {
		fsl,pins = <
			MX6UL_PAD_ENET2_TX_CLK__ECSPI4_MISO	0x100b1
			MX6UL_PAD_ENET2_TX_EN__ECSPI4_MOSI	0x100b1
			MX6UL_PAD_ENET2_TX_DATA1__ECSPI4_SCLK	0x100b1
			MX6UL_PAD_ENET2_RX_ER__GPIO2_IO15	0x1b0b0 /* SS0 */
		>;
	};
	pinctrl_i2c2: i2c2-grp {
		fsl,pins = <
			MX6UL_PAD_UART5_TX_DATA__I2C2_SCL	0x4001b8b0
			MX6UL_PAD_UART5_RX_DATA__I2C2_SDA	0x4001b8b0
		>;
	};
	pinctrl_i2c2_gpio: i2c2-gpio-grp {
		fsl,pins = <
			MX6UL_PAD_UART5_TX_DATA__GPIO1_IO30	0x4001b8b0
			MX6UL_PAD_UART5_RX_DATA__GPIO1_IO31	0x4001b8b0
		>;
	};
	pinctrl_uart1: uart1-grp {
		fsl,pins = <
			MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX	0x1b0b1
			MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX	0x1b0b1
		>;
	};
	pinctrl_uart3: uart3-grp {
		fsl,pins = <
			MX6UL_PAD_NAND_READY_B__UART3_DCE_TX	0x1b0b1
			MX6UL_PAD_NAND_CE0_B__UART3_DCE_RX	0x1b0b1
		>;
	};
	pinctrl_usbotg1: usbotg1-grp {
		fsl,pins = <
			MX6UL_PAD_GPIO1_IO00__ANATOP_OTG1_ID	0x17059
			MX6UL_PAD_GPIO1_IO04__GPIO1_IO04	0x120b0 /* USB_OTG1_PWR */
		>;
	};
	pinctrl_usbotg2: usbotg2-grp {
		fsl,pins = <
			MX6UL_PAD_GPIO1_IO02__GPIO1_IO02	0x120b0 /* USB_OTG2_PWR */
		>;
	};
	pinctrl_usdhc2: usdhc2-grp {
		fsl,pins = <
			MX6UL_PAD_NAND_RE_B__USDHC2_CLK		0x10069
			MX6UL_PAD_NAND_WE_B__USDHC2_CMD		0x17059
			MX6UL_PAD_NAND_DATA00__USDHC2_DATA0	0x17059
			MX6UL_PAD_NAND_DATA01__USDHC2_DATA1	0x17059
			MX6UL_PAD_NAND_DATA02__USDHC2_DATA2	0x17059
			MX6UL_PAD_NAND_DATA03__USDHC2_DATA3	0x17059
			MX6UL_PAD_NAND_DATA04__USDHC2_DATA4	0x17059
			MX6UL_PAD_NAND_DATA05__USDHC2_DATA5	0x17059
			MX6UL_PAD_NAND_DATA06__USDHC2_DATA6	0x17059
			MX6UL_PAD_NAND_DATA07__USDHC2_DATA7	0x17059
			MX6UL_PAD_NAND_ALE__USDHC2_RESET_B	0x17059 /* SD2 Reset */
		>;
	};
};
&iomuxc_snvs {
	pinctrl-0 = <&pinctrl_snvs_hog_maveo_box>;
	pinctrl-names = "default";
	pinctrl_snvs_hog_maveo_box: snvs-hog-maveo-box-grp {
		fsl,pins = <
			MX6ULL_PAD_SNVS_TAMPER0__GPIO5_IO00	0x400120b0 /* PSOC_SWD_IO */
			MX6ULL_PAD_SNVS_TAMPER1__GPIO5_IO01	0x400120b0 /* PSOC_SWD_CLK */
			MX6ULL_PAD_SNVS_TAMPER2__GPIO5_IO02	0x400120b0 /* PSOC_RESET */
			MX6ULL_PAD_SNVS_TAMPER6__GPIO5_IO06	0x400120b0 /* PSOC_PWR_FAIL_OUT */
			MX6ULL_PAD_SNVS_TAMPER7__GPIO5_IO07	0x400120b0 /* NFC_ENABLE */
			MX6ULL_PAD_SNVS_TAMPER8__GPIO5_IO08	0x400120b0 /* NFC_IRQ */
			MX6ULL_PAD_BOOT_MODE0__GPIO5_IO10	0x120b0    /* DHCOR_BOOT_M0 */
			MX6ULL_PAD_BOOT_MODE1__GPIO5_IO11	0x120b0    /* DHCOR_BOOT_M1 */
		>;
	};
	pinctrl_snvs_wifi_gpio: snvs-wifi-gpio-grp {
		fsl,pins = <
			MX6ULL_PAD_SNVS_TAMPER9__GPIO5_IO09	0x400120b0 /* WL_REG_ON */
		>;
	};
	pinctrl_snvs_zigbee_gpio: snvs-zigbee-gpio-grp {
		fsl,pins = <
			MX6ULL_PAD_SNVS_TAMPER3__GPIO5_IO03	0x400120b0 /* ZIGBEE_PROG */
			MX6ULL_PAD_SNVS_TAMPER4__GPIO5_IO04	0x400120b0 /* ZIGBEE_RESET */
		>;
	};
};
 |