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