blob: 344ea935c7dac7553d7c4f9280bd8f06dad3a94b [file] [log] [blame]
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +02001// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Copyright 2013 Sascha Hauer, Pengutronix
4 * Copyright 2013-2017 Markus Niebel <Markus.Niebel@tq-group.com>
5 */
Michael Krummsdorf67510d02020-04-09 15:21:37 +02006
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +02007#include <dt-bindings/gpio/gpio.h>
8#include <dt-bindings/interrupt-controller/irq.h>
Michael Krummsdorf67510d02020-04-09 15:21:37 +02009
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +020010/ {
11 reg_3p3v: regulator-3p3v {
12 compatible = "regulator-fixed";
13 regulator-name = "supply-3p3v";
14 regulator-min-microvolt = <3300000>;
15 regulator-max-microvolt = <3300000>;
16 regulator-always-on;
Michael Krummsdorf67510d02020-04-09 15:21:37 +020017 };
18};
19
20&ecspi1 {
21 pinctrl-names = "default";
22 pinctrl-0 = <&pinctrl_ecspi1>;
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +020023 cs-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>;
Michael Krummsdorf67510d02020-04-09 15:21:37 +020024 status = "okay";
25
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +020026 m25p80: flash@0 {
27 compatible = "jedec,spi-nor";
Michael Krummsdorf67510d02020-04-09 15:21:37 +020028 spi-max-frequency = <50000000>;
29 reg = <0>;
30 #address-cells = <1>;
31 #size-cells = <1>;
32 m25p,fast-read;
33 };
34};
35
36&iomuxc {
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +020037 pinctrl_ecspi1: ecspi1grp {
38 fsl,pins = <
39 /* HYS, SPEED = MED, 100k up, DSE = 011, SRE_FAST */
40 MX6QDL_PAD_EIM_D17__ECSPI1_MISO 0x1b099
41 MX6QDL_PAD_EIM_D18__ECSPI1_MOSI 0xb099
42 MX6QDL_PAD_EIM_D16__ECSPI1_SCLK 0xb099
43 /* eCSPI1 SS1 */
44 MX6QDL_PAD_EIM_D19__GPIO3_IO19 0xb099
45 >;
46 };
Michael Krummsdorf67510d02020-04-09 15:21:37 +020047
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +020048 pinctrl_i2c1: i2c1grp {
49 fsl,pins = <
50 MX6QDL_PAD_CSI0_DAT8__I2C1_SDA 0x4001b899
51 MX6QDL_PAD_CSI0_DAT9__I2C1_SCL 0x4001b899
52 >;
53 };
Michael Krummsdorf67510d02020-04-09 15:21:37 +020054
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +020055 pinctrl_i2c1_recovery: i2c1recoverygrp {
56 fsl,pins = <
57 MX6QDL_PAD_CSI0_DAT8__GPIO5_IO26 0x4001b899
58 MX6QDL_PAD_CSI0_DAT9__GPIO5_IO27 0x4001b899
59 >;
60 };
Michael Krummsdorf67510d02020-04-09 15:21:37 +020061
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +020062 pinctrl_i2c3: i2c3grp {
63 fsl,pins = <
64 MX6QDL_PAD_GPIO_5__I2C3_SCL 0x4001b899
65 MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b899
66 >;
67 };
Michael Krummsdorf67510d02020-04-09 15:21:37 +020068
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +020069 pinctrl_i2c3_recovery: i2c3recoverygrp {
70 fsl,pins = <
71 MX6QDL_PAD_GPIO_5__GPIO1_IO05 0x4001b899
72 MX6QDL_PAD_GPIO_6__GPIO1_IO06 0x4001b899
73 >;
74 };
75
76 pinctrl_pmic: pmicgrp {
77 fsl,pins = <
78 MX6QDL_PAD_NANDF_RB0__GPIO6_IO10 0x1b099 /* PMIC irq */
79 >;
80 };
81
82 pinctrl_usdhc3: usdhc3grp {
83 fsl,pins = <
84 MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
85 MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
86 MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
87 MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
88 MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
89 MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
90 MX6QDL_PAD_SD3_DAT4__SD3_DATA4 0x17059
91 MX6QDL_PAD_SD3_DAT5__SD3_DATA5 0x17059
92 MX6QDL_PAD_SD3_DAT6__SD3_DATA6 0x17059
93 MX6QDL_PAD_SD3_DAT7__SD3_DATA7 0x17059
94 >;
Michael Krummsdorf67510d02020-04-09 15:21:37 +020095 };
96};
97
98&pmic {
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +020099 pinctrl-names = "default";
100 pinctrl-0 = <&pinctrl_pmic>;
101 interrupt-parent = <&gpio6>;
102 interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
Michael Krummsdorf67510d02020-04-09 15:21:37 +0200103
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +0200104 regulators {
105 reg_vddcore: sw1ab {
106 regulator-min-microvolt = <300000>;
107 regulator-max-microvolt = <1875000>;
108 regulator-always-on;
109 };
Michael Krummsdorf67510d02020-04-09 15:21:37 +0200110
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +0200111 reg_vddsoc: sw1c {
112 regulator-min-microvolt = <300000>;
113 regulator-max-microvolt = <1875000>;
114 regulator-always-on;
115 };
Michael Krummsdorf67510d02020-04-09 15:21:37 +0200116
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +0200117 reg_gen_3v3: sw2 {
118 regulator-min-microvolt = <800000>;
119 regulator-max-microvolt = <3300000>;
120 regulator-always-on;
121 };
Michael Krummsdorf67510d02020-04-09 15:21:37 +0200122
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +0200123 reg_ddr_1v5a: sw3a {
124 regulator-min-microvolt = <400000>;
125 regulator-max-microvolt = <1975000>;
126 regulator-always-on;
127 };
Michael Krummsdorf67510d02020-04-09 15:21:37 +0200128
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +0200129 reg_ddr_1v5b: sw3b {
130 regulator-min-microvolt = <400000>;
131 regulator-max-microvolt = <1975000>;
132 regulator-always-on;
133 };
Michael Krummsdorf67510d02020-04-09 15:21:37 +0200134
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +0200135 sw4_reg: sw4 {
136 regulator-min-microvolt = <800000>;
137 regulator-max-microvolt = <3300000>;
138 regulator-always-on;
139 };
Michael Krummsdorf67510d02020-04-09 15:21:37 +0200140
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +0200141 reg_5v_600mA: swbst {
142 regulator-min-microvolt = <5000000>;
143 regulator-max-microvolt = <5150000>;
144 regulator-always-on;
145 };
Michael Krummsdorf67510d02020-04-09 15:21:37 +0200146
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +0200147 reg_snvs_3v: vsnvs {
148 regulator-min-microvolt = <1500000>;
149 regulator-max-microvolt = <3000000>;
150 regulator-always-on;
151 };
Michael Krummsdorf67510d02020-04-09 15:21:37 +0200152
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +0200153 reg_vrefddr: vrefddr {
154 regulator-boot-on;
155 regulator-always-on;
156 };
Michael Krummsdorf67510d02020-04-09 15:21:37 +0200157
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +0200158 reg_vgen1_1v5: vgen1 {
159 regulator-min-microvolt = <800000>;
160 regulator-max-microvolt = <1550000>;
161 /* not used */
162 };
Michael Krummsdorf67510d02020-04-09 15:21:37 +0200163
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +0200164 reg_vgen2_1v2_eth: vgen2 {
165 regulator-min-microvolt = <800000>;
166 regulator-max-microvolt = <1550000>;
167 regulator-always-on;
168 };
Michael Krummsdorf67510d02020-04-09 15:21:37 +0200169
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +0200170 reg_vgen3_2v8: vgen3 {
171 regulator-min-microvolt = <1800000>;
172 regulator-max-microvolt = <3300000>;
173 regulator-always-on;
174 };
Michael Krummsdorf67510d02020-04-09 15:21:37 +0200175
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +0200176 reg_vgen4_1v8: vgen4 {
177 regulator-min-microvolt = <1800000>;
178 regulator-max-microvolt = <3300000>;
179 regulator-always-on;
180 };
Michael Krummsdorf67510d02020-04-09 15:21:37 +0200181
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +0200182 reg_vgen5_1v8_eth: vgen5 {
183 regulator-min-microvolt = <1800000>;
184 regulator-max-microvolt = <3300000>;
185 regulator-always-on;
186 };
Michael Krummsdorf67510d02020-04-09 15:21:37 +0200187
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +0200188 reg_vgen6_3v3: vgen6 {
189 regulator-min-microvolt = <1800000>;
190 regulator-max-microvolt = <3300000>;
191 regulator-always-on;
Michael Krummsdorf67510d02020-04-09 15:21:37 +0200192 };
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +0200193 };
Michael Krummsdorf67510d02020-04-09 15:21:37 +0200194};
195
196/* eMMC */
197&usdhc3 {
198 pinctrl-names = "default";
199 pinctrl-0 = <&pinctrl_usdhc3>;
200 vmmc-supply = <&reg_3p3v>;
201 non-removable;
202 disable-wp;
Marcel Ziswiler5d4bcee2022-07-21 15:27:26 +0200203 no-sd;
204 no-sdio;
Michael Krummsdorf67510d02020-04-09 15:21:37 +0200205 bus-width = <8>;
206 #address-cells = <1>;
207 #size-cells = <0>;
208 status = "okay";
209
210 mmccard: mmccard@0 {
211 reg = <0>;
212 compatible = "mmc-card";
213 broken-hpi;
214 };
215};