1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Copyright (C) 2023 DH electronics GmbH 4*724ba675SRob Herring */ 5*724ba675SRob Herring 6*724ba675SRob Herring/* 7*724ba675SRob Herring * Special SoM configuration: SD card 8*724ba675SRob Herring * 9*724ba675SRob Herring * Enabled: Micro SD card on module or 10*724ba675SRob Herring * external SD card via DHCOM depends on hardware variant 11*724ba675SRob Herring * GPIO H and GPIO I will be available 12*724ba675SRob Herring * DHCOM UART2 will be available 13*724ba675SRob Herring * Disabled: WiFi and BT 14*724ba675SRob Herring */ 15*724ba675SRob Herring 16*724ba675SRob Herring/* 17*724ba675SRob Herring * To use usdhc1 as SD card, the WiFi node must be deleted. 18*724ba675SRob Herring * BT is also not available, so remove BT from the UART node. 19*724ba675SRob Herring */ 20*724ba675SRob Herring/delete-node/ &brcmf; 21*724ba675SRob Herring/delete-node/ &bluetooth; 22*724ba675SRob Herring 23*724ba675SRob Herring/ { 24*724ba675SRob Herring aliases { 25*724ba675SRob Herring mmc1 = &usdhc1; 26*724ba675SRob Herring serial0 = &uart1; 27*724ba675SRob Herring serial1 = &uart2; 28*724ba675SRob Herring serial2 = &uart3; 29*724ba675SRob Herring serial3 = &uart4; 30*724ba675SRob Herring serial4 = &uart5; 31*724ba675SRob Herring serial5 = &uart6; 32*724ba675SRob Herring }; 33*724ba675SRob Herring 34*724ba675SRob Herring reg_sd1_vmmc: regulator-sd1-vmmc { 35*724ba675SRob Herring compatible = "regulator-fixed"; 36*724ba675SRob Herring regulator-max-microvolt = <3300000>; 37*724ba675SRob Herring regulator-min-microvolt = <3300000>; 38*724ba675SRob Herring regulator-name = "VSD_3V3"; 39*724ba675SRob Herring }; 40*724ba675SRob Herring}; 41*724ba675SRob Herring 42*724ba675SRob Herring/* Micro SD card on module or external SD card via DHCOM */ 43*724ba675SRob Herring&usdhc1 { 44*724ba675SRob Herring /delete-property/ #address-cells; 45*724ba675SRob Herring /delete-property/ #size-cells; 46*724ba675SRob Herring /delete-property/ keep-power-in-suspend; 47*724ba675SRob Herring /delete-property/ mmc-pwrseq; 48*724ba675SRob Herring /delete-property/ non-removable; 49*724ba675SRob Herring /delete-property/ wakeup-source; 50*724ba675SRob Herring cd-gpios = <&gpio1 19 GPIO_ACTIVE_LOW>; 51*724ba675SRob Herring no-1-8-v; 52*724ba675SRob Herring pinctrl-0 = <&pinctrl_usdhc1>; 53*724ba675SRob Herring pinctrl-1 = <&pinctrl_usdhc1_100mhz>; 54*724ba675SRob Herring pinctrl-2 = <&pinctrl_usdhc1_200mhz>; 55*724ba675SRob Herring pinctrl-names = "default", "state_100mhz", "state_200mhz"; 56*724ba675SRob Herring vmmc-supply = <®_sd1_vmmc>; 57*724ba675SRob Herring status = "okay"; 58*724ba675SRob Herring}; 59*724ba675SRob Herring 60*724ba675SRob Herring&iomuxc { 61*724ba675SRob Herring pinctrl_usdhc1: usdhc1-grp { 62*724ba675SRob Herring fsl,pins = < 63*724ba675SRob Herring MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x17059 64*724ba675SRob Herring MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x10059 65*724ba675SRob Herring MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x17059 66*724ba675SRob Herring MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x17059 67*724ba675SRob Herring MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x17059 68*724ba675SRob Herring MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x17059 69*724ba675SRob Herring MX6UL_PAD_UART1_RTS_B__GPIO1_IO19 0x120b0 /* SD1 CD */ 70*724ba675SRob Herring >; 71*724ba675SRob Herring }; 72*724ba675SRob Herring 73*724ba675SRob Herring pinctrl_usdhc1_100mhz: usdhc1-100mhz-grp { 74*724ba675SRob Herring fsl,pins = < 75*724ba675SRob Herring MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x170b9 76*724ba675SRob Herring MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x100b9 77*724ba675SRob Herring MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x170b9 78*724ba675SRob Herring MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x170b9 79*724ba675SRob Herring MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x170b9 80*724ba675SRob Herring MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x170b9 81*724ba675SRob Herring MX6UL_PAD_UART1_RTS_B__GPIO1_IO19 0x120b0 /* SD1 CD */ 82*724ba675SRob Herring 83*724ba675SRob Herring >; 84*724ba675SRob Herring }; 85*724ba675SRob Herring 86*724ba675SRob Herring pinctrl_usdhc1_200mhz: usdhc1-200mhz-grp { 87*724ba675SRob Herring fsl,pins = < 88*724ba675SRob Herring MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x170f9 89*724ba675SRob Herring MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x100f9 90*724ba675SRob Herring MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x170f9 91*724ba675SRob Herring MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x170f9 92*724ba675SRob Herring MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x170f9 93*724ba675SRob Herring MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x170f9 94*724ba675SRob Herring MX6UL_PAD_UART1_RTS_B__GPIO1_IO19 0x120b0 /* SD1 CD */ 95*724ba675SRob Herring >; 96*724ba675SRob Herring }; 97*724ba675SRob Herring}; 98