Linux Audio

Check our new training course

Loading...
v4.17
  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-m28.dtsi"
 14
 15/ {
 16	model = "Aries/DENX M28EVK";
 17	compatible = "aries,m28evk", "denx,m28evk", "fsl,imx28";
 
 
 
 
 18
 19	apb@80000000 {
 20		apbh@80000000 {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 21			ssp0: ssp@80010000 {
 22				compatible = "fsl,imx28-mmc";
 23				pinctrl-names = "default";
 24				pinctrl-0 = <&mmc0_8bit_pins_a
 25					     &mmc0_cd_cfg
 26					     &mmc0_sck_cfg>;
 27				bus-width = <8>;
 28				wp-gpios = <&gpio3 10 0>;
 29				vmmc-supply = <&reg_vddio_sd0>;
 30				status = "okay";
 31			};
 32
 33			ssp2: ssp@80014000 {
 34				#address-cells = <1>;
 35				#size-cells = <0>;
 36				compatible = "fsl,imx28-spi";
 37				pinctrl-names = "default";
 38				pinctrl-0 = <&spi2_pins_a>;
 39				status = "okay";
 40
 41				flash: m25p80@0 {
 42					#address-cells = <1>;
 43					#size-cells = <1>;
 44					compatible = "m25p80", "jedec,spi-nor";
 45					spi-max-frequency = <40000000>;
 46					reg = <0>;
 47				};
 48			};
 49
 50			pinctrl@80018000 {
 51				pinctrl-names = "default";
 52				pinctrl-0 = <&hog_pins_a>;
 53
 54				hog_pins_a: hog@0 {
 55					reg = <0>;
 56					fsl,pinmux-ids = <
 57						MX28_PAD_PWM3__GPIO_3_28
 58						MX28_PAD_AUART2_CTS__GPIO_3_10
 59						MX28_PAD_AUART2_RTS__GPIO_3_11
 60						MX28_PAD_AUART3_RX__GPIO_3_12
 61						MX28_PAD_AUART3_TX__GPIO_3_13
 62					>;
 63					fsl,drive-strength = <MXS_DRIVE_4mA>;
 64					fsl,voltage = <MXS_VOLTAGE_HIGH>;
 65					fsl,pull-up = <MXS_PULL_DISABLE>;
 66				};
 67
 68				lcdif_pins_m28: lcdif-m28@0 {
 69					reg = <0>;
 70					fsl,pinmux-ids = <
 71						MX28_PAD_LCD_DOTCLK__LCD_DOTCLK
 72						MX28_PAD_LCD_ENABLE__LCD_ENABLE
 73					>;
 74					fsl,drive-strength = <MXS_DRIVE_4mA>;
 75					fsl,voltage = <MXS_VOLTAGE_HIGH>;
 76					fsl,pull-up = <MXS_PULL_DISABLE>;
 77				};
 78			};
 79
 80			lcdif@80030000 {
 81				pinctrl-names = "default";
 82				pinctrl-0 = <&lcdif_24bit_pins_a
 83					     &lcdif_pins_m28>;
 84				display = <&display0>;
 85				status = "okay";
 86
 87				display0: display0 {
 88					bits-per-pixel = <16>;
 89					bus-width = <18>;
 90
 91					display-timings {
 92						native-mode = <&timing0>;
 93						timing0: timing0 {
 94							clock-frequency = <33260000>;
 95							hactive = <800>;
 96							vactive = <480>;
 97							hback-porch = <0>;
 98							hfront-porch = <256>;
 99							vback-porch = <0>;
100							vfront-porch = <45>;
101							hsync-len = <1>;
102							vsync-len = <1>;
103							hsync-active = <0>;
104							vsync-active = <0>;
105							de-active = <1>;
106							pixelclk-active = <1>;
107						};
108					};
109				};
110			};
111
112			can0: can@80032000 {
113				pinctrl-names = "default";
114				pinctrl-0 = <&can0_pins_a>;
115				status = "okay";
116			};
117
118			can1: can@80034000 {
119				pinctrl-names = "default";
120				pinctrl-0 = <&can1_pins_a>;
121				status = "okay";
122			};
123		};
124
125		apbx@80040000 {
126			saif0: saif@80042000 {
127				pinctrl-names = "default";
128				pinctrl-0 = <&saif0_pins_a>;
129				status = "okay";
130			};
131
132			saif1: saif@80046000 {
133				pinctrl-names = "default";
134				pinctrl-0 = <&saif1_pins_a>;
135				fsl,saif-master = <&saif0>;
136				status = "okay";
137			};
138
139			i2c0: i2c@80058000 {
140				sgtl5000: codec@a {
 
 
 
 
141					compatible = "fsl,sgtl5000";
142					reg = <0x0a>;
143					#sound-dai-cells = <0>;
144					VDDA-supply = <&reg_3p3v>;
145					VDDIO-supply = <&reg_3p3v>;
146					clocks = <&saif0>;
147				};
148
149				eeprom: eeprom@51 {
150					compatible = "atmel,24c128";
151					reg = <0x51>;
152					pagesize = <32>;
153				};
 
 
 
 
 
154			};
155
156			lradc@80050000 {
157				status = "okay";
158				fsl,lradc-touchscreen-wires = <4>;
159			};
160
161			duart: serial@80074000 {
162				pinctrl-names = "default";
163				pinctrl-0 = <&duart_pins_a>;
164				status = "okay";
165			};
166
167			usbphy0: usbphy@8007c000 {
168				status = "okay";
169			};
170
171			usbphy1: usbphy@8007e000 {
172				status = "okay";
173			};
174
175			auart0: serial@8006a000 {
176				pinctrl-names = "default";
177				pinctrl-0 = <&auart0_pins_a>;
178				status = "okay";
179			};
180
181			auart1: serial@8006c000 {
182				pinctrl-names = "default";
183				pinctrl-0 = <&auart1_pins_a>;
184				status = "okay";
185			};
186
187			auart2: serial@8006e000 {
188				pinctrl-names = "default";
189				pinctrl-0 = <&auart2_2pins_b>;
190				status = "okay";
191			};
192
193			pwm: pwm@80064000 {
194				pinctrl-names = "default";
195				pinctrl-0 = <&pwm4_pins_a>;
196				status = "okay";
197			};
198		};
199	};
200
201	ahb@80080000 {
202		usb0: usb@80080000 {
203			vbus-supply = <&reg_usb0_vbus>;
204			pinctrl-names = "default";
205			pinctrl-0 = <&usb0_pins_a>;
206			status = "okay";
207		};
208
209		usb1: usb@80090000 {
210			vbus-supply = <&reg_usb1_vbus>;
211			pinctrl-names = "default";
212			pinctrl-0 = <&usb1_pins_a>;
213			status = "okay";
214		};
215
216		mac0: ethernet@800f0000 {
217			phy-mode = "rmii";
218			pinctrl-names = "default";
219			pinctrl-0 = <&mac0_pins_a>;
220			clocks = <&clks 57>, <&clks 57>;
221			clock-names = "ipg", "ahb";
222			status = "okay";
223		};
224
225		mac1: ethernet@800f4000 {
226			phy-mode = "rmii";
227			pinctrl-names = "default";
228			pinctrl-0 = <&mac1_pins_a>;
229			status = "okay";
230		};
231	};
232
233	backlight {
234		compatible = "pwm-backlight";
235		pwms = <&pwm 4 5000000>;
236		brightness-levels = <0 4 8 16 32 64 128 255>;
237		default-brightness-level = <6>;
238	};
239
240	regulators {
 
 
 
 
 
 
 
 
 
 
 
 
 
241		reg_vddio_sd0: regulator@1 {
242			compatible = "regulator-fixed";
243			reg = <1>;
244			regulator-name = "vddio-sd0";
245			regulator-min-microvolt = <3300000>;
246			regulator-max-microvolt = <3300000>;
247			gpio = <&gpio3 28 0>;
248		};
249
250		reg_usb0_vbus: regulator@2 {
251			compatible = "regulator-fixed";
252			reg = <2>;
253			regulator-name = "usb0_vbus";
254			regulator-min-microvolt = <5000000>;
255			regulator-max-microvolt = <5000000>;
256			gpio = <&gpio3 12 0>;
257		};
258
259		reg_usb1_vbus: regulator@3 {
260			compatible = "regulator-fixed";
261			reg = <3>;
262			regulator-name = "usb1_vbus";
263			regulator-min-microvolt = <5000000>;
264			regulator-max-microvolt = <5000000>;
265			gpio = <&gpio3 13 0>;
266		};
267	};
268
269	sound {
270		compatible = "denx,m28evk-sgtl5000",
271			     "fsl,mxs-audio-sgtl5000";
272		model = "m28evk-sgtl5000";
273		saif-controllers = <&saif0 &saif1>;
274		audio-codec = <&sgtl5000>;
275	};
276};
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};