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};
v4.6
 
  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 = "DENX M28EVK";
 17	compatible = "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@0a {
141					compatible = "fsl,sgtl5000";
142					reg = <0x0a>;
 
143					VDDA-supply = <&reg_3p3v>;
144					VDDIO-supply = <&reg_3p3v>;
145					clocks = <&saif0>;
146				};
147
148				eeprom: eeprom@51 {
149					compatible = "atmel,24c128";
150					reg = <0x51>;
151					pagesize = <32>;
152				};
153			};
154
155			lradc@80050000 {
156				status = "okay";
157				fsl,lradc-touchscreen-wires = <4>;
158			};
159
160			duart: serial@80074000 {
161				pinctrl-names = "default";
162				pinctrl-0 = <&duart_pins_a>;
163				status = "okay";
164			};
165
166			usbphy0: usbphy@8007c000 {
167				status = "okay";
168			};
169
170			usbphy1: usbphy@8007e000 {
171				status = "okay";
172			};
173
174			auart0: serial@8006a000 {
175				pinctrl-names = "default";
176				pinctrl-0 = <&auart0_pins_a>;
177				status = "okay";
178			};
179
180			auart1: serial@8006c000 {
181				pinctrl-names = "default";
182				pinctrl-0 = <&auart1_pins_a>;
183				status = "okay";
184			};
185
186			auart2: serial@8006e000 {
187				pinctrl-names = "default";
188				pinctrl-0 = <&auart2_2pins_b>;
189				status = "okay";
190			};
191
192			pwm: pwm@80064000 {
193				pinctrl-names = "default";
194				pinctrl-0 = <&pwm4_pins_a>;
195				status = "okay";
196			};
197		};
198	};
199
200	ahb@80080000 {
201		usb0: usb@80080000 {
202			vbus-supply = <&reg_usb0_vbus>;
203			pinctrl-names = "default";
204			pinctrl-0 = <&usb0_pins_a>;
205			status = "okay";
206		};
207
208		usb1: usb@80090000 {
209			vbus-supply = <&reg_usb1_vbus>;
210			pinctrl-names = "default";
211			pinctrl-0 = <&usb1_pins_a>;
212			status = "okay";
213		};
214
215		mac0: ethernet@800f0000 {
216			phy-mode = "rmii";
217			pinctrl-names = "default";
218			pinctrl-0 = <&mac0_pins_a>;
219			clocks = <&clks 57>, <&clks 57>;
220			clock-names = "ipg", "ahb";
221			status = "okay";
222		};
223
224		mac1: ethernet@800f4000 {
225			phy-mode = "rmii";
226			pinctrl-names = "default";
227			pinctrl-0 = <&mac1_pins_a>;
228			status = "okay";
229		};
230	};
231
232	backlight {
233		compatible = "pwm-backlight";
234		pwms = <&pwm 4 5000000>;
235		brightness-levels = <0 4 8 16 32 64 128 255>;
236		default-brightness-level = <6>;
237	};
238
239	regulators {
240		reg_vddio_sd0: regulator@1 {
241			compatible = "regulator-fixed";
242			reg = <1>;
243			regulator-name = "vddio-sd0";
244			regulator-min-microvolt = <3300000>;
245			regulator-max-microvolt = <3300000>;
246			gpio = <&gpio3 28 0>;
247		};
248
249		reg_usb0_vbus: regulator@2 {
250			compatible = "regulator-fixed";
251			reg = <2>;
252			regulator-name = "usb0_vbus";
253			regulator-min-microvolt = <5000000>;
254			regulator-max-microvolt = <5000000>;
255			gpio = <&gpio3 12 0>;
256		};
257
258		reg_usb1_vbus: regulator@3 {
259			compatible = "regulator-fixed";
260			reg = <3>;
261			regulator-name = "usb1_vbus";
262			regulator-min-microvolt = <5000000>;
263			regulator-max-microvolt = <5000000>;
264			gpio = <&gpio3 13 0>;
265		};
266	};
267
268	sound {
269		compatible = "denx,m28evk-sgtl5000",
270			     "fsl,mxs-audio-sgtl5000";
271		model = "m28evk-sgtl5000";
272		saif-controllers = <&saif0 &saif1>;
273		audio-codec = <&sgtl5000>;
274	};
275};