xref: /linux/scripts/dtc/include-prefixes/arm/nxp/imx/imx6ull-dhcom-som-cfg-sdcard.dtsi (revision 79790b6818e96c58fe2bffee1b418c16e64e7b80)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
2724ba675SRob Herring/*
3724ba675SRob Herring * Copyright (C) 2023 DH electronics GmbH
4724ba675SRob Herring */
5724ba675SRob Herring
6724ba675SRob Herring/*
7724ba675SRob Herring * Special SoM configuration: SD card
8724ba675SRob Herring *
9724ba675SRob Herring * Enabled:  Micro SD card on module or
10724ba675SRob Herring *           external SD card via DHCOM depends on hardware variant
11724ba675SRob Herring *           GPIO H and GPIO I will be available
12724ba675SRob Herring *           DHCOM UART2 will be available
13724ba675SRob Herring * Disabled: WiFi and BT
14724ba675SRob Herring */
15724ba675SRob Herring
16724ba675SRob Herring/*
17*e7f32d8fSChristoph Niedermaier * To use usdhc1 as SD card, the WiFi node must be deleted. The associated
18*e7f32d8fSChristoph Niedermaier * pwrseq node is also deleted in order to ensure that GPIO H is released.
19724ba675SRob Herring * BT is also not available, so remove BT from the UART node.
20724ba675SRob Herring */
21724ba675SRob Herring/delete-node/ &brcmf;
22*e7f32d8fSChristoph Niedermaier/delete-node/ &usdhc1_pwrseq;
23724ba675SRob Herring/delete-node/ &bluetooth;
24724ba675SRob Herring
25724ba675SRob Herring/ {
26724ba675SRob Herring	aliases {
27724ba675SRob Herring		mmc1 = &usdhc1;
28724ba675SRob Herring		serial0 = &uart1;
29724ba675SRob Herring		serial1 = &uart2;
30724ba675SRob Herring		serial2 = &uart3;
31724ba675SRob Herring		serial3 = &uart4;
32724ba675SRob Herring		serial4 = &uart5;
33724ba675SRob Herring		serial5 = &uart6;
34724ba675SRob Herring	};
35724ba675SRob Herring
36724ba675SRob Herring	reg_sd1_vmmc: regulator-sd1-vmmc {
37724ba675SRob Herring		compatible = "regulator-fixed";
38724ba675SRob Herring		regulator-max-microvolt = <3300000>;
39724ba675SRob Herring		regulator-min-microvolt = <3300000>;
40724ba675SRob Herring		regulator-name = "VSD_3V3";
41724ba675SRob Herring	};
42724ba675SRob Herring};
43724ba675SRob Herring
44724ba675SRob Herring/* Micro SD card on module or external SD card via DHCOM */
45724ba675SRob Herring&usdhc1 {
46724ba675SRob Herring	/delete-property/ #address-cells;
47724ba675SRob Herring	/delete-property/ #size-cells;
48724ba675SRob Herring	/delete-property/ keep-power-in-suspend;
49724ba675SRob Herring	/delete-property/ mmc-pwrseq;
50724ba675SRob Herring	/delete-property/ non-removable;
51724ba675SRob Herring	/delete-property/ wakeup-source;
52724ba675SRob Herring	cd-gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
53724ba675SRob Herring	no-1-8-v;
54724ba675SRob Herring	pinctrl-0 = <&pinctrl_usdhc1>;
55724ba675SRob Herring	pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
56724ba675SRob Herring	pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
57724ba675SRob Herring	pinctrl-names = "default", "state_100mhz", "state_200mhz";
58724ba675SRob Herring	vmmc-supply = <&reg_sd1_vmmc>;
59724ba675SRob Herring	status = "okay";
60724ba675SRob Herring};
61724ba675SRob Herring
62724ba675SRob Herring&iomuxc {
63724ba675SRob Herring	pinctrl_usdhc1: usdhc1-grp {
64724ba675SRob Herring		fsl,pins = <
65724ba675SRob Herring			MX6UL_PAD_SD1_CMD__USDHC1_CMD		0x17059
66724ba675SRob Herring			MX6UL_PAD_SD1_CLK__USDHC1_CLK		0x10059
67724ba675SRob Herring			MX6UL_PAD_SD1_DATA0__USDHC1_DATA0	0x17059
68724ba675SRob Herring			MX6UL_PAD_SD1_DATA1__USDHC1_DATA1	0x17059
69724ba675SRob Herring			MX6UL_PAD_SD1_DATA2__USDHC1_DATA2	0x17059
70724ba675SRob Herring			MX6UL_PAD_SD1_DATA3__USDHC1_DATA3	0x17059
71724ba675SRob Herring			MX6UL_PAD_UART1_RTS_B__GPIO1_IO19	0x120b0 /* SD1 CD */
72724ba675SRob Herring		>;
73724ba675SRob Herring	};
74724ba675SRob Herring
75724ba675SRob Herring	pinctrl_usdhc1_100mhz: usdhc1-100mhz-grp {
76724ba675SRob Herring		fsl,pins = <
77724ba675SRob Herring			MX6UL_PAD_SD1_CMD__USDHC1_CMD		0x170b9
78724ba675SRob Herring			MX6UL_PAD_SD1_CLK__USDHC1_CLK		0x100b9
79724ba675SRob Herring			MX6UL_PAD_SD1_DATA0__USDHC1_DATA0	0x170b9
80724ba675SRob Herring			MX6UL_PAD_SD1_DATA1__USDHC1_DATA1	0x170b9
81724ba675SRob Herring			MX6UL_PAD_SD1_DATA2__USDHC1_DATA2	0x170b9
82724ba675SRob Herring			MX6UL_PAD_SD1_DATA3__USDHC1_DATA3	0x170b9
83724ba675SRob Herring			MX6UL_PAD_UART1_RTS_B__GPIO1_IO19	0x120b0 /* SD1 CD */
84724ba675SRob Herring
85724ba675SRob Herring		>;
86724ba675SRob Herring	};
87724ba675SRob Herring
88724ba675SRob Herring	pinctrl_usdhc1_200mhz: usdhc1-200mhz-grp {
89724ba675SRob Herring		fsl,pins = <
90724ba675SRob Herring			MX6UL_PAD_SD1_CMD__USDHC1_CMD		0x170f9
91724ba675SRob Herring			MX6UL_PAD_SD1_CLK__USDHC1_CLK		0x100f9
92724ba675SRob Herring			MX6UL_PAD_SD1_DATA0__USDHC1_DATA0	0x170f9
93724ba675SRob Herring			MX6UL_PAD_SD1_DATA1__USDHC1_DATA1	0x170f9
94724ba675SRob Herring			MX6UL_PAD_SD1_DATA2__USDHC1_DATA2	0x170f9
95724ba675SRob Herring			MX6UL_PAD_SD1_DATA3__USDHC1_DATA3	0x170f9
96724ba675SRob Herring			MX6UL_PAD_UART1_RTS_B__GPIO1_IO19	0x120b0 /* SD1 CD */
97724ba675SRob Herring		>;
98724ba675SRob Herring	};
99724ba675SRob Herring};
100