Linux Audio

Check our new training course

Loading...
v4.17
  1// SPDX-License-Identifier: GPL-2.0
  2#include "tegra186.dtsi"
  3
  4#include <dt-bindings/mfd/max77620.h>
  5
  6/ {
  7	model = "NVIDIA Tegra186 P3310 Processor Module";
  8	compatible = "nvidia,p3310", "nvidia,tegra186";
  9
 10	aliases {
 11		sdhci0 = "/sdhci@3460000";
 12		sdhci1 = "/sdhci@3400000";
 13		serial0 = &uarta;
 14		i2c0 = "/bpmp/i2c";
 15		i2c1 = "/i2c@3160000";
 16		i2c2 = "/i2c@c240000";
 17		i2c3 = "/i2c@3180000";
 18		i2c4 = "/i2c@3190000";
 19		i2c5 = "/i2c@31c0000";
 20		i2c6 = "/i2c@c250000";
 21		i2c7 = "/i2c@31e0000";
 22	};
 23
 24	chosen {
 25		bootargs = "earlycon console=ttyS0,115200n8";
 26		stdout-path = "serial0:115200n8";
 27	};
 28
 29	memory {
 30		device_type = "memory";
 31		reg = <0x0 0x80000000 0x2 0x00000000>;
 32	};
 33
 34	ethernet@2490000 {
 35		status = "okay";
 36
 37		phy-reset-gpios = <&gpio TEGRA_MAIN_GPIO(M, 4) GPIO_ACTIVE_LOW>;
 
 38		phy-handle = <&phy>;
 39		phy-mode = "rgmii";
 40
 41		mdio {
 42			#address-cells = <1>;
 43			#size-cells = <0>;
 44
 45			phy: phy@0 {
 46				compatible = "ethernet-phy-ieee802.3-c22";
 47				reg = <0x0>;
 48				interrupt-parent = <&gpio>;
 49				interrupts = <TEGRA_MAIN_GPIO(M, 5) IRQ_TYPE_LEVEL_LOW>;
 
 50			};
 51		};
 52	};
 53
 54	memory-controller@2c00000 {
 55		status = "okay";
 56	};
 57
 58	serial@3100000 {
 59		status = "okay";
 60	};
 61
 62	i2c@3160000 {
 63		status = "okay";
 64
 65		power-monitor@40 {
 66			compatible = "ti,ina3221";
 67			reg = <0x40>;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 68		};
 69
 70		power-monitor@41 {
 71			compatible = "ti,ina3221";
 72			reg = <0x41>;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 73		};
 74	};
 75
 76	i2c@3180000 {
 77		status = "okay";
 78	};
 79
 80	ddc: i2c@3190000 {
 81		status = "okay";
 82	};
 83
 84	i2c@31c0000 {
 85		status = "okay";
 86	};
 87
 88	i2c@31e0000 {
 89		status = "okay";
 90	};
 91
 92	/* SDMMC1 (SD/MMC) */
 93	sdhci@3400000 {
 94		cd-gpios = <&gpio TEGRA_MAIN_GPIO(P, 5) GPIO_ACTIVE_LOW>;
 95		wp-gpios = <&gpio TEGRA_MAIN_GPIO(P, 4) GPIO_ACTIVE_HIGH>;
 96
 97		vqmmc-supply = <&vddio_sdmmc1>;
 98	};
 99
100	/* SDMMC3 (SDIO) */
101	sdhci@3440000 {
102		status = "okay";
103	};
104
105	/* SDMMC4 (eMMC) */
106	sdhci@3460000 {
107		status = "okay";
108		bus-width = <8>;
109		non-removable;
110
111		vqmmc-supply = <&vdd_1v8_ap>;
112		vmmc-supply = <&vdd_3v3_sys>;
113	};
114
115	hsp@3c00000 {
116		status = "okay";
117	};
118
119	i2c@c240000 {
120		status = "okay";
121	};
122
123	i2c@c250000 {
124		status = "okay";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
125	};
126
127	pmc@c360000 {
128		nvidia,invert-interrupt;
129	};
130
131	cpus {
132		cpu@0 {
133			enable-method = "psci";
134		};
135
136		cpu@1 {
137			enable-method = "psci";
138		};
139
140		cpu@2 {
141			enable-method = "psci";
142		};
143
144		cpu@3 {
145			enable-method = "psci";
146		};
147
148		cpu@4 {
149			enable-method = "psci";
150		};
151
152		cpu@5 {
153			enable-method = "psci";
154		};
155	};
156
157	bpmp {
158		i2c {
159			status = "okay";
160
161			pmic: pmic@3c {
162				compatible = "maxim,max77620";
163				reg = <0x3c>;
164
165				interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>;
166				#interrupt-cells = <2>;
167				interrupt-controller;
168
169				#gpio-cells = <2>;
170				gpio-controller;
171
172				pinctrl-names = "default";
173				pinctrl-0 = <&max77620_default>;
174
175				max77620_default: pinmux {
176					gpio0 {
177						pins = "gpio0";
178						function = "gpio";
179					};
180
181					gpio1 {
182						pins = "gpio1";
183						function = "fps-out";
184						maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
185					};
186
187					gpio2 {
188						pins = "gpio2";
189						function = "fps-out";
190						maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
191					};
192
193					gpio3 {
194						pins = "gpio3";
195						function = "fps-out";
196						maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
197					};
198
199					gpio4 {
200						pins = "gpio4";
201						function = "32k-out1";
202						drive-push-pull = <1>;
203					};
204
205					gpio5 {
206						pins = "gpio5";
207						function = "gpio";
208						drive-push-pull = <0>;
209					};
210
211					gpio6 {
212						pins = "gpio6";
213						function = "gpio";
214						drive-push-pull = <1>;
215					};
216
217					gpio7 {
218						pins = "gpio7";
219						function = "gpio";
220						drive-push-pull = <0>;
221					};
222				};
223
224				fps {
225					fps0 {
226						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
227						maxim,shutdown-fps-time-period-us = <640>;
228					};
229
230					fps1 {
231						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>;
232						maxim,shutdown-fps-time-period-us = <640>;
233					};
234
235					fps2 {
236						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
237						maxim,shutdown-fps-time-period-us = <640>;
238					};
239				};
240
241				regulators {
242					in-sd0-supply = <&vdd_5v0_sys>;
243					in-sd1-supply = <&vdd_5v0_sys>;
244					in-sd2-supply = <&vdd_5v0_sys>;
245					in-sd3-supply = <&vdd_5v0_sys>;
246
247					in-ldo0-1-supply = <&vdd_5v0_sys>;
248					in-ldo2-supply = <&vdd_5v0_sys>;
249					in-ldo3-5-supply = <&vdd_5v0_sys>;
250					in-ldo4-6-supply = <&vdd_1v8>;
251					in-ldo7-8-supply = <&avdd_dsi_csi>;
252
253					sd0 {
254						regulator-name = "VDD_DDR_1V1_PMIC";
255						regulator-min-microvolt = <1100000>;
256						regulator-max-microvolt = <1100000>;
257						regulator-always-on;
258						regulator-boot-on;
259					};
260
261					avdd_dsi_csi: sd1 {
262						regulator-name = "AVDD_DSI_CSI_1V2";
263						regulator-min-microvolt = <1200000>;
264						regulator-max-microvolt = <1200000>;
265						/* XXX */
266						regulator-always-on;
267						regulator-boot-on;
268					};
269
270					vdd_1v8: sd2 {
271						regulator-name = "VDD_1V8";
272						regulator-min-microvolt = <1800000>;
273						regulator-max-microvolt = <1800000>;
274						/* XXX */
275						regulator-always-on;
276						regulator-boot-on;
277					};
278
279					vdd_3v3_sys: sd3 {
280						regulator-name = "VDD_3V3_SYS";
281						regulator-min-microvolt = <3300000>;
282						regulator-max-microvolt = <3300000>;
283						/* XXX */
284						regulator-always-on;
285						regulator-boot-on;
286					};
287
288					ldo0 {
289						regulator-name = "VDD_1V8_AP_PLL";
290						regulator-min-microvolt = <1800000>;
291						regulator-max-microvolt = <1800000>;
292						/* XXX */
293						regulator-always-on;
294						regulator-boot-on;
295					};
296
297					ldo2 {
298						regulator-name = "VDDIO_3V3_AOHV";
299						regulator-min-microvolt = <3300000>;
300						regulator-max-microvolt = <3300000>;
301						/* XXX */
302						regulator-always-on;
303						regulator-boot-on;
304					};
305
306					vddio_sdmmc1: ldo3 {
307						regulator-name = "VDDIO_SDMMC1_AP";
308						regulator-min-microvolt = <1800000>;
309						regulator-max-microvolt = <3300000>;
310					};
311
312					ldo4 {
313						regulator-name = "VDD_RTC";
314						regulator-min-microvolt = <1000000>;
315						regulator-max-microvolt = <1000000>;
316					};
317
318					vddio_sdmmc3: ldo5 {
319						regulator-name = "VDDIO_SDMMC3_AP";
320						regulator-min-microvolt = <2800000>;
321						regulator-max-microvolt = <2800000>;
322					};
323
324					vdd_hdmi_1v05: ldo7 {
325						regulator-name = "VDD_HDMI_1V05";
326						regulator-min-microvolt = <1050000>;
327						regulator-max-microvolt = <1050000>;
328						/* XXX */
329						regulator-always-on;
330						regulator-boot-on;
331					};
332
333					vdd_pex: ldo8 {
334						regulator-name = "VDD_PEX_1V05";
335						regulator-min-microvolt = <1050000>;
336						regulator-max-microvolt = <1050000>;
337						/* XXX */
338						regulator-always-on;
339						regulator-boot-on;
340					};
341				};
342			};
343		};
344	};
345
346	psci {
347		compatible = "arm,psci-1.0";
348		status = "okay";
349		method = "smc";
350	};
351
352	regulators {
353		compatible = "simple-bus";
354		#address-cells = <1>;
355		#size-cells = <0>;
356
357		vdd_5v0_sys: regulator@0 {
358			compatible = "regulator-fixed";
359			reg = <0>;
360
 
 
 
 
 
 
 
 
 
 
 
361			regulator-name = "VDD_5V0_SYS";
362			regulator-min-microvolt = <5000000>;
363			regulator-max-microvolt = <5000000>;
364			regulator-always-on;
365			regulator-boot-on;
366		};
367
368		vdd_1v8_ap: regulator@1 {
369			compatible = "regulator-fixed";
370			reg = <1>;
371
372			regulator-name = "VDD_1V8_AP";
373			regulator-min-microvolt = <1800000>;
374			regulator-max-microvolt = <1800000>;
375
376			/* XXX */
377			regulator-always-on;
378			regulator-boot-on;
379
380			gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
381			enable-active-high;
382
383			vin-supply = <&vdd_1v8>;
384		};
385	};
386};
v5.4
  1// SPDX-License-Identifier: GPL-2.0
  2#include "tegra186.dtsi"
  3
  4#include <dt-bindings/mfd/max77620.h>
  5
  6/ {
  7	model = "NVIDIA Jetson TX2";
  8	compatible = "nvidia,p3310", "nvidia,tegra186";
  9
 10	aliases {
 11		sdhci0 = "/sdhci@3460000";
 12		sdhci1 = "/sdhci@3400000";
 13		serial0 = &uarta;
 14		i2c0 = "/bpmp/i2c";
 15		i2c1 = "/i2c@3160000";
 16		i2c2 = "/i2c@c240000";
 17		i2c3 = "/i2c@3180000";
 18		i2c4 = "/i2c@3190000";
 19		i2c5 = "/i2c@31c0000";
 20		i2c6 = "/i2c@c250000";
 21		i2c7 = "/i2c@31e0000";
 22	};
 23
 24	chosen {
 25		bootargs = "earlycon console=ttyS0,115200n8";
 26		stdout-path = "serial0:115200n8";
 27	};
 28
 29	memory {
 30		device_type = "memory";
 31		reg = <0x0 0x80000000 0x2 0x00000000>;
 32	};
 33
 34	ethernet@2490000 {
 35		status = "okay";
 36
 37		phy-reset-gpios = <&gpio TEGRA186_MAIN_GPIO(M, 4)
 38					 GPIO_ACTIVE_LOW>;
 39		phy-handle = <&phy>;
 40		phy-mode = "rgmii";
 41
 42		mdio {
 43			#address-cells = <1>;
 44			#size-cells = <0>;
 45
 46			phy: phy@0 {
 47				compatible = "ethernet-phy-ieee802.3-c22";
 48				reg = <0x0>;
 49				interrupt-parent = <&gpio>;
 50				interrupts = <TEGRA186_MAIN_GPIO(M, 5)
 51					      IRQ_TYPE_LEVEL_LOW>;
 52			};
 53		};
 54	};
 55
 56	memory-controller@2c00000 {
 57		status = "okay";
 58	};
 59
 60	serial@3100000 {
 61		status = "okay";
 62	};
 63
 64	i2c@3160000 {
 65		status = "okay";
 66
 67		power-monitor@40 {
 68			compatible = "ti,ina3221";
 69			reg = <0x40>;
 70			#address-cells = <1>;
 71			#size-cells = <0>;
 72
 73			channel@0 {
 74				reg = <0x0>;
 75				label = "VDD_SYS_GPU";
 76				shunt-resistor-micro-ohms = <10000>;
 77			};
 78
 79			channel@1 {
 80				reg = <0x1>;
 81				label = "VDD_SYS_SOC";
 82				shunt-resistor-micro-ohms = <10000>;
 83			};
 84
 85			channel@2 {
 86				reg = <0x2>;
 87				label = "VDD_3V8_WIFI";
 88				shunt-resistor-micro-ohms = <10000>;
 89			};
 90		};
 91
 92		power-monitor@41 {
 93			compatible = "ti,ina3221";
 94			reg = <0x41>;
 95			#address-cells = <1>;
 96			#size-cells = <0>;
 97
 98			channel@0 {
 99				reg = <0x0>;
100				label = "VDD_IN";
101				shunt-resistor-micro-ohms = <5000>;
102			};
103
104			channel@1 {
105				reg = <0x1>;
106				label = "VDD_SYS_CPU";
107				shunt-resistor-micro-ohms = <10000>;
108			};
109
110			channel@2 {
111				reg = <0x2>;
112				label = "VDD_5V0_DDR";
113				shunt-resistor-micro-ohms = <10000>;
114			};
115		};
116	};
117
118	i2c@3180000 {
119		status = "okay";
120	};
121
122	ddc: i2c@3190000 {
123		status = "okay";
124	};
125
126	i2c@31c0000 {
127		status = "okay";
128	};
129
130	i2c@31e0000 {
131		status = "okay";
132	};
133
134	/* SDMMC1 (SD/MMC) */
135	sdhci@3400000 {
136		cd-gpios = <&gpio TEGRA186_MAIN_GPIO(P, 5) GPIO_ACTIVE_LOW>;
137		wp-gpios = <&gpio TEGRA186_MAIN_GPIO(P, 4) GPIO_ACTIVE_HIGH>;
138
139		vqmmc-supply = <&vddio_sdmmc1>;
140	};
141
142	/* SDMMC3 (SDIO) */
143	sdhci@3440000 {
144		status = "okay";
145	};
146
147	/* SDMMC4 (eMMC) */
148	sdhci@3460000 {
149		status = "okay";
150		bus-width = <8>;
151		non-removable;
152
153		vqmmc-supply = <&vdd_1v8_ap>;
154		vmmc-supply = <&vdd_3v3_sys>;
155	};
156
157	hsp@3c00000 {
158		status = "okay";
159	};
160
161	i2c@c240000 {
162		status = "okay";
163	};
164
165	i2c@c250000 {
166		status = "okay";
167
168		/* module ID EEPROM */
169		eeprom@50 {
170			compatible = "atmel,24c02";
171			reg = <0x50>;
172
173			address-bits = <8>;
174			page-size = <8>;
175			size = <256>;
176			read-only;
177		};
178	};
179
180	rtc@c2a0000 {
181		status = "okay";
182	};
183
184	pmc@c360000 {
185		nvidia,invert-interrupt;
186	};
187
188	cpus {
189		cpu@0 {
190			enable-method = "psci";
191		};
192
193		cpu@1 {
194			enable-method = "psci";
195		};
196
197		cpu@2 {
198			enable-method = "psci";
199		};
200
201		cpu@3 {
202			enable-method = "psci";
203		};
204
205		cpu@4 {
206			enable-method = "psci";
207		};
208
209		cpu@5 {
210			enable-method = "psci";
211		};
212	};
213
214	bpmp {
215		i2c {
216			status = "okay";
217
218			pmic: pmic@3c {
219				compatible = "maxim,max77620";
220				reg = <0x3c>;
221
222				interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>;
223				#interrupt-cells = <2>;
224				interrupt-controller;
225
226				#gpio-cells = <2>;
227				gpio-controller;
228
229				pinctrl-names = "default";
230				pinctrl-0 = <&max77620_default>;
231
232				max77620_default: pinmux {
233					gpio0 {
234						pins = "gpio0";
235						function = "gpio";
236					};
237
238					gpio1 {
239						pins = "gpio1";
240						function = "fps-out";
241						maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
242					};
243
244					gpio2 {
245						pins = "gpio2";
246						function = "fps-out";
247						maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
248					};
249
250					gpio3 {
251						pins = "gpio3";
252						function = "fps-out";
253						maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
254					};
255
256					gpio4 {
257						pins = "gpio4";
258						function = "32k-out1";
259						drive-push-pull = <1>;
260					};
261
262					gpio5 {
263						pins = "gpio5";
264						function = "gpio";
265						drive-push-pull = <0>;
266					};
267
268					gpio6 {
269						pins = "gpio6";
270						function = "gpio";
271						drive-push-pull = <1>;
272					};
273
274					gpio7 {
275						pins = "gpio7";
276						function = "gpio";
277						drive-push-pull = <0>;
278					};
279				};
280
281				fps {
282					fps0 {
283						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
284						maxim,shutdown-fps-time-period-us = <640>;
285					};
286
287					fps1 {
288						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>;
289						maxim,shutdown-fps-time-period-us = <640>;
290					};
291
292					fps2 {
293						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
294						maxim,shutdown-fps-time-period-us = <640>;
295					};
296				};
297
298				regulators {
299					in-sd0-supply = <&vdd_5v0_sys>;
300					in-sd1-supply = <&vdd_5v0_sys>;
301					in-sd2-supply = <&vdd_5v0_sys>;
302					in-sd3-supply = <&vdd_5v0_sys>;
303
304					in-ldo0-1-supply = <&vdd_5v0_sys>;
305					in-ldo2-supply = <&vdd_5v0_sys>;
306					in-ldo3-5-supply = <&vdd_5v0_sys>;
307					in-ldo4-6-supply = <&vdd_1v8>;
308					in-ldo7-8-supply = <&avdd_dsi_csi>;
309
310					sd0 {
311						regulator-name = "VDD_DDR_1V1_PMIC";
312						regulator-min-microvolt = <1100000>;
313						regulator-max-microvolt = <1100000>;
314						regulator-always-on;
315						regulator-boot-on;
316					};
317
318					avdd_dsi_csi: sd1 {
319						regulator-name = "AVDD_DSI_CSI_1V2";
320						regulator-min-microvolt = <1200000>;
321						regulator-max-microvolt = <1200000>;
 
 
 
322					};
323
324					vdd_1v8: sd2 {
325						regulator-name = "VDD_1V8";
326						regulator-min-microvolt = <1800000>;
327						regulator-max-microvolt = <1800000>;
 
 
 
328					};
329
330					vdd_3v3_sys: sd3 {
331						regulator-name = "VDD_3V3_SYS";
332						regulator-min-microvolt = <3300000>;
333						regulator-max-microvolt = <3300000>;
 
 
 
334					};
335
336					vdd_1v8_pll: ldo0 {
337						regulator-name = "VDD_1V8_AP_PLL";
338						regulator-min-microvolt = <1800000>;
339						regulator-max-microvolt = <1800000>;
 
 
 
340					};
341
342					ldo2 {
343						regulator-name = "VDDIO_3V3_AOHV";
344						regulator-min-microvolt = <3300000>;
345						regulator-max-microvolt = <3300000>;
 
346						regulator-always-on;
347						regulator-boot-on;
348					};
349
350					vddio_sdmmc1: ldo3 {
351						regulator-name = "VDDIO_SDMMC1_AP";
352						regulator-min-microvolt = <1800000>;
353						regulator-max-microvolt = <3300000>;
354					};
355
356					ldo4 {
357						regulator-name = "VDD_RTC";
358						regulator-min-microvolt = <1000000>;
359						regulator-max-microvolt = <1000000>;
360					};
361
362					vddio_sdmmc3: ldo5 {
363						regulator-name = "VDDIO_SDMMC3_AP";
364						regulator-min-microvolt = <2800000>;
365						regulator-max-microvolt = <2800000>;
366					};
367
368					vdd_hdmi_1v05: ldo7 {
369						regulator-name = "VDD_HDMI_1V05";
370						regulator-min-microvolt = <1050000>;
371						regulator-max-microvolt = <1050000>;
 
 
 
372					};
373
374					vdd_pex: ldo8 {
375						regulator-name = "VDD_PEX_1V05";
376						regulator-min-microvolt = <1050000>;
377						regulator-max-microvolt = <1050000>;
 
 
 
378					};
379				};
380			};
381		};
382	};
383
384	psci {
385		compatible = "arm,psci-1.0";
386		status = "okay";
387		method = "smc";
388	};
389
390	regulators {
391		compatible = "simple-bus";
392		#address-cells = <1>;
393		#size-cells = <0>;
394
395		gnd: regulator@0 {
396			compatible = "regulator-fixed";
397			reg = <0>;
398
399			regulator-name = "GND";
400			regulator-min-microvolt = <0>;
401			regulator-max-microvolt = <0>;
402			regulator-always-on;
403			regulator-boot-on;
404		};
405
406		vdd_5v0_sys: regulator@1 {
407			compatible = "regulator-fixed";
408			reg = <1>;
409
410			regulator-name = "VDD_5V0_SYS";
411			regulator-min-microvolt = <5000000>;
412			regulator-max-microvolt = <5000000>;
413			regulator-always-on;
414			regulator-boot-on;
415		};
416
417		vdd_1v8_ap: regulator@2 {
418			compatible = "regulator-fixed";
419			reg = <2>;
420
421			regulator-name = "VDD_1V8_AP";
422			regulator-min-microvolt = <1800000>;
423			regulator-max-microvolt = <1800000>;
 
 
 
 
424
425			gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
426			enable-active-high;
427
428			vin-supply = <&vdd_1v8>;
429		};
430	};
431};