Linux Audio

Check our new training course

Loading...
v6.2
  1// SPDX-License-Identifier: GPL-2.0-or-later
  2/*
  3
  4 * Copyright (C) 2012 Marek Vasut <marex@denx.de>
 
 
 
 
 
 
 
  5 */
  6
  7/dts-v1/;
  8#include "imx28-m28.dtsi"
  9
 10/ {
 11	model = "Aries/DENX M28EVK";
 12	compatible = "aries,m28evk", "denx,m28evk", "fsl,imx28";
 
 
 
 
 13
 14	apb@80000000 {
 15		apbh@80000000 {
 16			ssp0: spi@80010000 {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 17				compatible = "fsl,imx28-mmc";
 18				pinctrl-names = "default";
 19				pinctrl-0 = <&mmc0_8bit_pins_a
 20					     &mmc0_cd_cfg
 21					     &mmc0_sck_cfg>;
 22				bus-width = <8>;
 23				wp-gpios = <&gpio3 10 0>;
 24				vmmc-supply = <&reg_vddio_sd0>;
 25				status = "okay";
 26			};
 27
 28			ssp2: spi@80014000 {
 29				#address-cells = <1>;
 30				#size-cells = <0>;
 31				compatible = "fsl,imx28-spi";
 32				pinctrl-names = "default";
 33				pinctrl-0 = <&spi2_pins_a>;
 34				status = "okay";
 35
 36				flash: flash@0 {
 37					#address-cells = <1>;
 38					#size-cells = <1>;
 39					compatible = "m25p80", "jedec,spi-nor";
 40					spi-max-frequency = <40000000>;
 41					reg = <0>;
 42				};
 43			};
 44
 45			pinctrl@80018000 {
 46				pinctrl-names = "default";
 47				pinctrl-0 = <&hog_pins_a>;
 48
 49				hog_pins_a: hog@0 {
 50					reg = <0>;
 51					fsl,pinmux-ids = <
 52						MX28_PAD_PWM3__GPIO_3_28
 53						MX28_PAD_AUART2_CTS__GPIO_3_10
 54						MX28_PAD_AUART2_RTS__GPIO_3_11
 55						MX28_PAD_AUART3_RX__GPIO_3_12
 56						MX28_PAD_AUART3_TX__GPIO_3_13
 57					>;
 58					fsl,drive-strength = <MXS_DRIVE_4mA>;
 59					fsl,voltage = <MXS_VOLTAGE_HIGH>;
 60					fsl,pull-up = <MXS_PULL_DISABLE>;
 61				};
 62
 63				lcdif_pins_m28: lcdif-m28@0 {
 64					reg = <0>;
 65					fsl,pinmux-ids = <
 66						MX28_PAD_LCD_DOTCLK__LCD_DOTCLK
 67						MX28_PAD_LCD_ENABLE__LCD_ENABLE
 68					>;
 69					fsl,drive-strength = <MXS_DRIVE_4mA>;
 70					fsl,voltage = <MXS_VOLTAGE_HIGH>;
 71					fsl,pull-up = <MXS_PULL_DISABLE>;
 72				};
 73			};
 74
 75			lcdif@80030000 {
 76				pinctrl-names = "default";
 77				pinctrl-0 = <&lcdif_24bit_pins_a
 78					     &lcdif_pins_m28>;
 79				display = <&display0>;
 80				status = "okay";
 81
 82				display0: display0 {
 83					bits-per-pixel = <16>;
 84					bus-width = <18>;
 85
 86					display-timings {
 87						native-mode = <&timing0>;
 88						timing0: timing0 {
 89							clock-frequency = <33260000>;
 90							hactive = <800>;
 91							vactive = <480>;
 92							hback-porch = <0>;
 93							hfront-porch = <256>;
 94							vback-porch = <0>;
 95							vfront-porch = <45>;
 96							hsync-len = <1>;
 97							vsync-len = <1>;
 98							hsync-active = <0>;
 99							vsync-active = <0>;
100							de-active = <1>;
101							pixelclk-active = <1>;
102						};
103					};
104				};
105			};
106
107			can0: can@80032000 {
108				pinctrl-names = "default";
109				pinctrl-0 = <&can0_pins_a>;
110				status = "okay";
111			};
112
113			can1: can@80034000 {
114				pinctrl-names = "default";
115				pinctrl-0 = <&can1_pins_a>;
116				status = "okay";
117			};
118		};
119
120		apbx@80040000 {
121			saif0: saif@80042000 {
122				pinctrl-names = "default";
123				pinctrl-0 = <&saif0_pins_a>;
124				status = "okay";
125			};
126
127			saif1: saif@80046000 {
128				pinctrl-names = "default";
129				pinctrl-0 = <&saif1_pins_a>;
130				fsl,saif-master = <&saif0>;
131				status = "okay";
132			};
133
134			i2c0: i2c@80058000 {
135				sgtl5000: codec@a {
 
 
 
 
136					compatible = "fsl,sgtl5000";
137					reg = <0x0a>;
138					#sound-dai-cells = <0>;
139					VDDA-supply = <&reg_3p3v>;
140					VDDIO-supply = <&reg_3p3v>;
141					clocks = <&saif0>;
142				};
143
144				eeprom: eeprom@51 {
145					compatible = "atmel,24c128";
146					reg = <0x51>;
147					pagesize = <32>;
148				};
 
 
 
 
 
149			};
150
151			lradc@80050000 {
152				status = "okay";
153				fsl,lradc-touchscreen-wires = <4>;
154			};
155
156			duart: serial@80074000 {
157				pinctrl-names = "default";
158				pinctrl-0 = <&duart_pins_a>;
159				status = "okay";
160			};
161
162			usbphy0: usbphy@8007c000 {
163				status = "okay";
164			};
165
166			usbphy1: usbphy@8007e000 {
167				status = "okay";
168			};
169
170			auart0: serial@8006a000 {
171				pinctrl-names = "default";
172				pinctrl-0 = <&auart0_pins_a>;
173				status = "okay";
174			};
175
176			auart1: serial@8006c000 {
177				pinctrl-names = "default";
178				pinctrl-0 = <&auart1_pins_a>;
179				status = "okay";
180			};
181
182			auart2: serial@8006e000 {
183				pinctrl-names = "default";
184				pinctrl-0 = <&auart2_2pins_b>;
185				status = "okay";
186			};
187
188			pwm: pwm@80064000 {
189				pinctrl-names = "default";
190				pinctrl-0 = <&pwm4_pins_a>;
191				status = "okay";
192			};
193		};
194	};
195
196	ahb@80080000 {
197		usb0: usb@80080000 {
198			vbus-supply = <&reg_usb0_vbus>;
199			pinctrl-names = "default";
200			pinctrl-0 = <&usb0_pins_a>;
201			status = "okay";
202		};
203
204		usb1: usb@80090000 {
205			vbus-supply = <&reg_usb1_vbus>;
206			pinctrl-names = "default";
207			pinctrl-0 = <&usb1_pins_a>;
208			status = "okay";
209		};
210
211		mac0: ethernet@800f0000 {
212			phy-mode = "rmii";
213			pinctrl-names = "default";
214			pinctrl-0 = <&mac0_pins_a>;
215			clocks = <&clks 57>, <&clks 57>;
216			clock-names = "ipg", "ahb";
217			status = "okay";
218		};
219
220		mac1: ethernet@800f4000 {
221			phy-mode = "rmii";
222			pinctrl-names = "default";
223			pinctrl-0 = <&mac1_pins_a>;
224			status = "okay";
225		};
226	};
227
228	backlight {
229		compatible = "pwm-backlight";
230		pwms = <&pwm 4 5000000>;
231		brightness-levels = <0 4 8 16 32 64 128 255>;
232		default-brightness-level = <6>;
233	};
234
235	regulators {
 
 
 
 
 
 
 
 
 
 
 
 
 
236		reg_vddio_sd0: regulator@1 {
237			compatible = "regulator-fixed";
238			reg = <1>;
239			regulator-name = "vddio-sd0";
240			regulator-min-microvolt = <3300000>;
241			regulator-max-microvolt = <3300000>;
242			gpio = <&gpio3 28 0>;
243		};
244
245		reg_usb0_vbus: regulator@2 {
246			compatible = "regulator-fixed";
247			reg = <2>;
248			regulator-name = "usb0_vbus";
249			regulator-min-microvolt = <5000000>;
250			regulator-max-microvolt = <5000000>;
251			gpio = <&gpio3 12 0>;
252		};
253
254		reg_usb1_vbus: regulator@3 {
255			compatible = "regulator-fixed";
256			reg = <3>;
257			regulator-name = "usb1_vbus";
258			regulator-min-microvolt = <5000000>;
259			regulator-max-microvolt = <5000000>;
260			gpio = <&gpio3 13 0>;
261		};
262	};
263
264	sound {
265		compatible = "denx,m28evk-sgtl5000",
266			     "fsl,mxs-audio-sgtl5000";
267		model = "m28evk-sgtl5000";
268		saif-controllers = <&saif0 &saif1>;
269		audio-codec = <&sgtl5000>;
270	};
271};
v3.15
 
  1/*
 
  2 * Copyright (C) 2012 Marek Vasut <marex@denx.de>
  3 *
  4 * The code contained herein is licensed under the GNU General Public
  5 * License. You may obtain a copy of the GNU General Public License
  6 * Version 2 or later at the following locations:
  7 *
  8 * http://www.opensource.org/licenses/gpl-license.html
  9 * http://www.gnu.org/copyleft/gpl.html
 10 */
 11
 12/dts-v1/;
 13#include "imx28.dtsi"
 14
 15/ {
 16	model = "DENX M28EVK";
 17	compatible = "denx,m28evk", "fsl,imx28";
 18
 19	memory {
 20		reg = <0x40000000 0x08000000>;
 21	};
 22
 23	apb@80000000 {
 24		apbh@80000000 {
 25			gpmi-nand@8000c000 {
 26				#address-cells = <1>;
 27				#size-cells = <1>;
 28				pinctrl-names = "default";
 29				pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
 30				status = "okay";
 31
 32				partition@0 {
 33					label = "bootloader";
 34					reg = <0x00000000 0x00300000>;
 35					read-only;
 36				};
 37
 38				partition@1 {
 39					label = "environment";
 40					reg = <0x00300000 0x00080000>;
 41				};
 42
 43				partition@2 {
 44					label = "redundant-environment";
 45					reg = <0x00380000 0x00080000>;
 46				};
 47
 48				partition@3 {
 49					label = "kernel";
 50					reg = <0x00400000 0x00400000>;
 51				};
 52
 53				partition@4 {
 54					label = "filesystem";
 55					reg = <0x00800000 0x0f800000>;
 56				};
 57			};
 58
 59			ssp0: ssp@80010000 {
 60				compatible = "fsl,imx28-mmc";
 61				pinctrl-names = "default";
 62				pinctrl-0 = <&mmc0_8bit_pins_a
 63					     &mmc0_cd_cfg
 64					     &mmc0_sck_cfg>;
 65				bus-width = <8>;
 66				wp-gpios = <&gpio3 10 0>;
 67				vmmc-supply = <&reg_vddio_sd0>;
 68				status = "okay";
 69			};
 70
 71			ssp2: ssp@80014000 {
 72				#address-cells = <1>;
 73				#size-cells = <0>;
 74				compatible = "fsl,imx28-spi";
 75				pinctrl-names = "default";
 76				pinctrl-0 = <&spi2_pins_a>;
 77				status = "okay";
 78
 79				flash: m25p80@0 {
 80					#address-cells = <1>;
 81					#size-cells = <1>;
 82					compatible = "m25p80";
 83					spi-max-frequency = <40000000>;
 84					reg = <0>;
 85				};
 86			};
 87
 88			pinctrl@80018000 {
 89				pinctrl-names = "default";
 90				pinctrl-0 = <&hog_pins_a>;
 91
 92				hog_pins_a: hog@0 {
 93					reg = <0>;
 94					fsl,pinmux-ids = <
 95						MX28_PAD_PWM3__GPIO_3_28
 96						MX28_PAD_AUART2_CTS__GPIO_3_10
 97						MX28_PAD_AUART2_RTS__GPIO_3_11
 98						MX28_PAD_AUART3_RX__GPIO_3_12
 99						MX28_PAD_AUART3_TX__GPIO_3_13
100					>;
101					fsl,drive-strength = <MXS_DRIVE_4mA>;
102					fsl,voltage = <MXS_VOLTAGE_HIGH>;
103					fsl,pull-up = <MXS_PULL_DISABLE>;
104				};
105
106				lcdif_pins_m28: lcdif-m28@0 {
107					reg = <0>;
108					fsl,pinmux-ids = <
109						MX28_PAD_LCD_DOTCLK__LCD_DOTCLK
110						MX28_PAD_LCD_ENABLE__LCD_ENABLE
111					>;
112					fsl,drive-strength = <MXS_DRIVE_4mA>;
113					fsl,voltage = <MXS_VOLTAGE_HIGH>;
114					fsl,pull-up = <MXS_PULL_DISABLE>;
115				};
116			};
117
118			lcdif@80030000 {
119				pinctrl-names = "default";
120				pinctrl-0 = <&lcdif_24bit_pins_a
121					     &lcdif_pins_m28>;
122				display = <&display>;
123				status = "okay";
124
125				display: display {
126					bits-per-pixel = <16>;
127					bus-width = <18>;
128
129					display-timings {
130						native-mode = <&timing0>;
131						timing0: timing0 {
132							clock-frequency = <33260000>;
133							hactive = <800>;
134							vactive = <480>;
135							hback-porch = <0>;
136							hfront-porch = <256>;
137							vback-porch = <0>;
138							vfront-porch = <45>;
139							hsync-len = <1>;
140							vsync-len = <1>;
141							hsync-active = <0>;
142							vsync-active = <0>;
143							de-active = <1>;
144							pixelclk-active = <1>;
145						};
146					};
147				};
148			};
149
150			can0: can@80032000 {
151				pinctrl-names = "default";
152				pinctrl-0 = <&can0_pins_a>;
153				status = "okay";
154			};
155
156			can1: can@80034000 {
157				pinctrl-names = "default";
158				pinctrl-0 = <&can1_pins_a>;
159				status = "okay";
160			};
161		};
162
163		apbx@80040000 {
164			saif0: saif@80042000 {
165				pinctrl-names = "default";
166				pinctrl-0 = <&saif0_pins_a>;
167				status = "okay";
168			};
169
170			saif1: saif@80046000 {
171				pinctrl-names = "default";
172				pinctrl-0 = <&saif1_pins_a>;
173				fsl,saif-master = <&saif0>;
174				status = "okay";
175			};
176
177			i2c0: i2c@80058000 {
178				pinctrl-names = "default";
179				pinctrl-0 = <&i2c0_pins_a>;
180				status = "okay";
181
182				sgtl5000: codec@0a {
183					compatible = "fsl,sgtl5000";
184					reg = <0x0a>;
 
185					VDDA-supply = <&reg_3p3v>;
186					VDDIO-supply = <&reg_3p3v>;
187					clocks = <&saif0>;
188				};
189
190				eeprom: eeprom@51 {
191					compatible = "atmel,24c128";
192					reg = <0x51>;
193					pagesize = <32>;
194				};
195
196				rtc: rtc@68 {
197					compatible = "stm,m41t62";
198					reg = <0x68>;
199				};
200			};
201
202			lradc@80050000 {
203				status = "okay";
204				fsl,lradc-touchscreen-wires = <4>;
205			};
206
207			duart: serial@80074000 {
208				pinctrl-names = "default";
209				pinctrl-0 = <&duart_pins_a>;
210				status = "okay";
211			};
212
213			usbphy0: usbphy@8007c000 {
214				status = "okay";
215			};
216
217			usbphy1: usbphy@8007e000 {
218				status = "okay";
219			};
220
221			auart0: serial@8006a000 {
222				pinctrl-names = "default";
223				pinctrl-0 = <&auart0_pins_a>;
224				status = "okay";
225			};
226
227			auart1: serial@8006c000 {
228				pinctrl-names = "default";
229				pinctrl-0 = <&auart1_pins_a>;
230				status = "okay";
231			};
232
233			auart2: serial@8006e000 {
234				pinctrl-names = "default";
235				pinctrl-0 = <&auart2_2pins_b>;
236				status = "okay";
237			};
238
239			pwm: pwm@80064000 {
240				pinctrl-names = "default";
241				pinctrl-0 = <&pwm4_pins_a>;
242				status = "okay";
243			};
244		};
245	};
246
247	ahb@80080000 {
248		usb0: usb@80080000 {
249			vbus-supply = <&reg_usb0_vbus>;
250			pinctrl-names = "default";
251			pinctrl-0 = <&usb0_pins_a>;
252			status = "okay";
253		};
254
255		usb1: usb@80090000 {
256			vbus-supply = <&reg_usb1_vbus>;
257			pinctrl-names = "default";
258			pinctrl-0 = <&usb1_pins_a>;
259			status = "okay";
260		};
261
262		mac0: ethernet@800f0000 {
263			phy-mode = "rmii";
264			pinctrl-names = "default";
265			pinctrl-0 = <&mac0_pins_a>;
266			clocks = <&clks 57>, <&clks 57>;
267			clock-names = "ipg", "ahb";
268			status = "okay";
269		};
270
271		mac1: ethernet@800f4000 {
272			phy-mode = "rmii";
273			pinctrl-names = "default";
274			pinctrl-0 = <&mac1_pins_a>;
275			status = "okay";
276		};
277	};
278
279	backlight {
280		compatible = "pwm-backlight";
281		pwms = <&pwm 4 5000000>;
282		brightness-levels = <0 4 8 16 32 64 128 255>;
283		default-brightness-level = <6>;
284	};
285
286	regulators {
287		compatible = "simple-bus";
288		#address-cells = <1>;
289		#size-cells = <0>;
290
291		reg_3p3v: regulator@0 {
292			compatible = "regulator-fixed";
293			reg = <0>;
294			regulator-name = "3P3V";
295			regulator-min-microvolt = <3300000>;
296			regulator-max-microvolt = <3300000>;
297			regulator-always-on;
298		};
299
300		reg_vddio_sd0: regulator@1 {
301			compatible = "regulator-fixed";
302			reg = <1>;
303			regulator-name = "vddio-sd0";
304			regulator-min-microvolt = <3300000>;
305			regulator-max-microvolt = <3300000>;
306			gpio = <&gpio3 28 0>;
307		};
308
309		reg_usb0_vbus: regulator@2 {
310			compatible = "regulator-fixed";
311			reg = <2>;
312			regulator-name = "usb0_vbus";
313			regulator-min-microvolt = <5000000>;
314			regulator-max-microvolt = <5000000>;
315			gpio = <&gpio3 12 0>;
316		};
317
318		reg_usb1_vbus: regulator@3 {
319			compatible = "regulator-fixed";
320			reg = <3>;
321			regulator-name = "usb1_vbus";
322			regulator-min-microvolt = <5000000>;
323			regulator-max-microvolt = <5000000>;
324			gpio = <&gpio3 13 0>;
325		};
326	};
327
328	sound {
329		compatible = "denx,m28evk-sgtl5000",
330			     "fsl,mxs-audio-sgtl5000";
331		model = "m28evk-sgtl5000";
332		saif-controllers = <&saif0 &saif1>;
333		audio-codec = <&sgtl5000>;
334	};
335};