Linux Audio

Check our new training course

Loading...
v5.14.15
  1// SPDX-License-Identifier: GPL-2.0-or-later
  2/*
  3 * Copyright (C) 2013 Marek Vasut <marex@denx.de>
 
 
 
 
 
 
 
  4 */
  5
  6/dts-v1/;
  7#include "imx28.dtsi"
  8
  9/ {
 10	model = "MSR M28CU3";
 11	compatible = "msr,m28cu3", "fsl,imx28";
 12
 13	memory@40000000 {
 14		device_type = "memory";
 15		reg = <0x40000000 0x08000000>;
 16	};
 17
 18	apb@80000000 {
 19		apbh@80000000 {
 20			nand-controller@8000c000 {
 21				#address-cells = <1>;
 22				#size-cells = <1>;
 23				pinctrl-names = "default";
 24				pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
 25				status = "okay";
 26
 27				partition@0 {
 28					label = "gpmi-nfc-0-boot";
 29					reg = <0x00000000 0x01400000>;
 30					read-only;
 31				};
 32
 33				partition@1 {
 34					label = "gpmi-nfc-general-use";
 35					reg = <0x01400000 0x0ec00000>;
 36				};
 37			};
 38
 39			ssp0: spi@80010000 {
 40				compatible = "fsl,imx28-mmc";
 41				pinctrl-names = "default";
 42				pinctrl-0 = <&mmc0_4bit_pins_a
 43					     &mmc0_cd_cfg
 44					     &mmc0_sck_cfg>;
 45				bus-width = <4>;
 46				vmmc-supply = <&reg_vddio_sd0>;
 47				status = "okay";
 48			};
 49
 50			ssp2: spi@80014000 {
 51				compatible = "fsl,imx28-mmc";
 52				pinctrl-names = "default";
 53				pinctrl-0 = <&mmc2_4bit_pins_a
 54					     &mmc2_cd_cfg
 55					     &mmc2_sck_cfg_a>;
 56				bus-width = <4>;
 57				vmmc-supply = <&reg_vddio_sd1>;
 58				status = "okay";
 59			};
 60
 61			pinctrl@80018000 {
 62				pinctrl-names = "default";
 63				pinctrl-0 = <&hog_pins_a>;
 64
 65				hog_pins_a: hog@0 {
 66					reg = <0>;
 67					fsl,pinmux-ids = <
 68						MX28_PAD_SSP2_SS0__GPIO_2_19
 69						MX28_PAD_PWM4__GPIO_3_29
 70						MX28_PAD_AUART2_RX__GPIO_3_8
 71						MX28_PAD_ENET0_RX_CLK__GPIO_4_13
 72					>;
 73					fsl,drive-strength = <MXS_DRIVE_4mA>;
 74					fsl,voltage = <MXS_VOLTAGE_HIGH>;
 75					fsl,pull-up = <MXS_PULL_DISABLE>;
 76				};
 77
 78				lcdif_pins_m28: lcdif-m28@0 {
 79					reg = <0>;
 80					fsl,pinmux-ids = <
 81						MX28_PAD_LCD_VSYNC__LCD_VSYNC
 82						MX28_PAD_LCD_HSYNC__LCD_HSYNC
 83						MX28_PAD_LCD_DOTCLK__LCD_DOTCLK
 84						MX28_PAD_LCD_RESET__LCD_RESET
 85						MX28_PAD_LCD_CS__LCD_ENABLE
 86						MX28_PAD_AUART1_TX__GPIO_3_5
 87					>;
 88					fsl,drive-strength = <MXS_DRIVE_4mA>;
 89					fsl,voltage = <MXS_VOLTAGE_HIGH>;
 90					fsl,pull-up = <MXS_PULL_DISABLE>;
 91				};
 92
 93				led_pins_gpio: leds-m28@0 {
 94					reg = <0>;
 95					fsl,pinmux-ids = <
 96						MX28_PAD_SSP3_MISO__GPIO_2_26
 97						MX28_PAD_SSP3_SCK__GPIO_2_24
 98					>;
 99					fsl,drive-strength = <MXS_DRIVE_4mA>;
100					fsl,voltage = <MXS_VOLTAGE_HIGH>;
101					fsl,pull-up = <MXS_PULL_DISABLE>;
102				};
103			};
104
105			ocotp@8002c000 {
106				status = "okay";
107			};
108
109			lcdif@80030000 {
110				pinctrl-names = "default";
111				pinctrl-0 = <&lcdif_24bit_pins_a
112					     &lcdif_pins_m28>;
113				display = <&display0>;
114				status = "okay";
115
116				display0: display0 {
117					bits-per-pixel = <32>;
118					bus-width = <24>;
119
120					display-timings {
121						native-mode = <&timing0>;
122						timing0: timing0 {
123							clock-frequency = <6410256>;
124							hactive = <320>;
125							vactive = <240>;
126							hback-porch = <38>;
127							hfront-porch = <20>;
128							vback-porch = <15>;
129							vfront-porch = <5>;
130							hsync-len = <30>;
131							vsync-len = <3>;
132							hsync-active = <0>;
133							vsync-active = <0>;
134							de-active = <1>;
135							pixelclk-active = <1>;
136						};
137					};
138				};
139			};
140		};
141
142		apbx@80040000 {
143			duart: serial@80074000 {
144				pinctrl-names = "default";
145				pinctrl-0 = <&duart_pins_b>;
146				status = "okay";
147			};
148
149			usbphy1: usbphy@8007e000 {
150				status = "okay";
151			};
152
153			auart0: serial@8006a000 {
154				pinctrl-names = "default";
155				pinctrl-0 = <&auart0_2pins_a>;
156				status = "okay";
157			};
158
159			auart3: serial@80070000 {
160				pinctrl-names = "default";
161				pinctrl-0 = <&auart3_2pins_b>;
162				status = "okay";
163			};
164
165			pwm: pwm@80064000 {
166				pinctrl-names = "default";
167				pinctrl-0 = <&pwm3_pins_a>;
168				status = "okay";
169			};
170		};
171	};
172
173	ahb@80080000 {
174		usb1: usb@80090000 {
175			vbus-supply = <&reg_usb1_vbus>;
176			pinctrl-names = "default";
177			pinctrl-0 = <&usb1_pins_a>;
178			disable-over-current;
179			status = "okay";
180		};
181
182		mac0: ethernet@800f0000 {
183			phy-mode = "rmii";
184			pinctrl-names = "default";
185			pinctrl-0 = <&mac0_pins_a>;
186			phy-reset-gpios = <&gpio4 13 GPIO_ACTIVE_LOW>;
187			phy-reset-duration = <100>;
188			status = "okay";
189		};
190
191		mac1: ethernet@800f4000 {
192			phy-mode = "rmii";
193			pinctrl-names = "default";
194			pinctrl-0 = <&mac1_pins_a>;
195			status = "okay";
196		};
197	};
198
199	backlight {
200		compatible = "pwm-backlight";
201		pwms = <&pwm 3 5000000>;
202		brightness-levels = <0 4 8 16 32 64 128 255>;
203		default-brightness-level = <6>;
204	};
205
206	leds {
207		compatible = "gpio-leds";
208		pinctrl-names = "default";
209		pinctrl-0 = <&led_pins_gpio>;
210
211		user1 {
212			label = "sd0-led";
213			gpios = <&gpio2 26 0>;
214			linux,default-trigger = "mmc0";
215		};
216
217		user2 {
218			label = "sd1-led";
219			gpios = <&gpio2 24 0>;
220			linux,default-trigger = "mmc2";
221		};
222	};
223
224	regulators {
225		compatible = "simple-bus";
226		#address-cells = <1>;
227		#size-cells = <0>;
228
229		reg_3p3v: regulator@0 {
230			compatible = "regulator-fixed";
231			reg = <0>;
232			regulator-name = "3P3V";
233			regulator-min-microvolt = <3300000>;
234			regulator-max-microvolt = <3300000>;
235			regulator-always-on;
236		};
237
238		reg_vddio_sd0: regulator@1 {
239			compatible = "regulator-fixed";
240			reg = <1>;
241			regulator-name = "vddio-sd0";
242			regulator-min-microvolt = <3300000>;
243			regulator-max-microvolt = <3300000>;
244			gpio = <&gpio3 29 0>;
245		};
246
247		reg_vddio_sd1: regulator@2 {
248			compatible = "regulator-fixed";
249			reg = <2>;
250			regulator-name = "vddio-sd1";
251			regulator-min-microvolt = <3300000>;
252			regulator-max-microvolt = <3300000>;
253			gpio = <&gpio2 19 0>;
254		};
255
256		reg_usb1_vbus: regulator@3 {
257			compatible = "regulator-fixed";
258			reg = <3>;
259			regulator-name = "usb1_vbus";
260			regulator-min-microvolt = <5000000>;
261			regulator-max-microvolt = <5000000>;
262			gpio = <&gpio3 8 0>;
263			enable-active-high;
264		};
265	};
266};
v4.17
 
  1/*
  2 * Copyright (C) 2013 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 = "MSR M28CU3";
 17	compatible = "msr,m28cu3", "fsl,imx28";
 18
 19	memory@40000000 {
 
 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 = "gpmi-nfc-0-boot";
 34					reg = <0x00000000 0x01400000>;
 35					read-only;
 36				};
 37
 38				partition@1 {
 39					label = "gpmi-nfc-general-use";
 40					reg = <0x01400000 0x0ec00000>;
 41				};
 42			};
 43
 44			ssp0: ssp@80010000 {
 45				compatible = "fsl,imx28-mmc";
 46				pinctrl-names = "default";
 47				pinctrl-0 = <&mmc0_4bit_pins_a
 48					     &mmc0_cd_cfg
 49					     &mmc0_sck_cfg>;
 50				bus-width = <4>;
 51				vmmc-supply = <&reg_vddio_sd0>;
 52				status = "okay";
 53			};
 54
 55			ssp2: ssp@80014000 {
 56				compatible = "fsl,imx28-mmc";
 57				pinctrl-names = "default";
 58				pinctrl-0 = <&mmc2_4bit_pins_a
 59					     &mmc2_cd_cfg
 60					     &mmc2_sck_cfg_a>;
 61				bus-width = <4>;
 62				vmmc-supply = <&reg_vddio_sd1>;
 63				status = "okay";
 64			};
 65
 66			pinctrl@80018000 {
 67				pinctrl-names = "default";
 68				pinctrl-0 = <&hog_pins_a>;
 69
 70				hog_pins_a: hog@0 {
 71					reg = <0>;
 72					fsl,pinmux-ids = <
 73						MX28_PAD_SSP2_SS0__GPIO_2_19
 74						MX28_PAD_PWM4__GPIO_3_29
 75						MX28_PAD_AUART2_RX__GPIO_3_8
 76						MX28_PAD_ENET0_RX_CLK__GPIO_4_13
 77					>;
 78					fsl,drive-strength = <MXS_DRIVE_4mA>;
 79					fsl,voltage = <MXS_VOLTAGE_HIGH>;
 80					fsl,pull-up = <MXS_PULL_DISABLE>;
 81				};
 82
 83				lcdif_pins_m28: lcdif-m28@0 {
 84					reg = <0>;
 85					fsl,pinmux-ids = <
 86						MX28_PAD_LCD_VSYNC__LCD_VSYNC
 87						MX28_PAD_LCD_HSYNC__LCD_HSYNC
 88						MX28_PAD_LCD_DOTCLK__LCD_DOTCLK
 89						MX28_PAD_LCD_RESET__LCD_RESET
 90						MX28_PAD_LCD_CS__LCD_ENABLE
 91						MX28_PAD_AUART1_TX__GPIO_3_5
 92					>;
 93					fsl,drive-strength = <MXS_DRIVE_4mA>;
 94					fsl,voltage = <MXS_VOLTAGE_HIGH>;
 95					fsl,pull-up = <MXS_PULL_DISABLE>;
 96				};
 97
 98				led_pins_gpio: leds-m28@0 {
 99					reg = <0>;
100					fsl,pinmux-ids = <
101						MX28_PAD_SSP3_MISO__GPIO_2_26
102						MX28_PAD_SSP3_SCK__GPIO_2_24
103					>;
104					fsl,drive-strength = <MXS_DRIVE_4mA>;
105					fsl,voltage = <MXS_VOLTAGE_HIGH>;
106					fsl,pull-up = <MXS_PULL_DISABLE>;
107				};
108			};
109
110			ocotp@8002c000 {
111				status = "okay";
112			};
113
114			lcdif@80030000 {
115				pinctrl-names = "default";
116				pinctrl-0 = <&lcdif_24bit_pins_a
117					     &lcdif_pins_m28>;
118				display = <&display0>;
119				status = "okay";
120
121				display0: display0 {
122					bits-per-pixel = <32>;
123					bus-width = <24>;
124
125					display-timings {
126						native-mode = <&timing0>;
127						timing0: timing0 {
128							clock-frequency = <6410256>;
129							hactive = <320>;
130							vactive = <240>;
131							hback-porch = <38>;
132							hfront-porch = <20>;
133							vback-porch = <15>;
134							vfront-porch = <5>;
135							hsync-len = <30>;
136							vsync-len = <3>;
137							hsync-active = <0>;
138							vsync-active = <0>;
139							de-active = <1>;
140							pixelclk-active = <1>;
141						};
142					};
143				};
144			};
145		};
146
147		apbx@80040000 {
148			duart: serial@80074000 {
149				pinctrl-names = "default";
150				pinctrl-0 = <&duart_pins_b>;
151				status = "okay";
152			};
153
154			usbphy1: usbphy@8007e000 {
155				status = "okay";
156			};
157
158			auart0: serial@8006a000 {
159				pinctrl-names = "default";
160				pinctrl-0 = <&auart0_2pins_a>;
161				status = "okay";
162			};
163
164			auart3: serial@80070000 {
165				pinctrl-names = "default";
166				pinctrl-0 = <&auart3_2pins_b>;
167				status = "okay";
168			};
169
170			pwm: pwm@80064000 {
171				pinctrl-names = "default";
172				pinctrl-0 = <&pwm3_pins_a>;
173				status = "okay";
174			};
175		};
176	};
177
178	ahb@80080000 {
179		usb1: usb@80090000 {
180			vbus-supply = <&reg_usb1_vbus>;
181			pinctrl-names = "default";
182			pinctrl-0 = <&usb1_pins_a>;
183			disable-over-current;
184			status = "okay";
185		};
186
187		mac0: ethernet@800f0000 {
188			phy-mode = "rmii";
189			pinctrl-names = "default";
190			pinctrl-0 = <&mac0_pins_a>;
191			phy-reset-gpios = <&gpio4 13 GPIO_ACTIVE_LOW>;
192			phy-reset-duration = <100>;
193			status = "okay";
194		};
195
196		mac1: ethernet@800f4000 {
197			phy-mode = "rmii";
198			pinctrl-names = "default";
199			pinctrl-0 = <&mac1_pins_a>;
200			status = "okay";
201		};
202	};
203
204	backlight {
205		compatible = "pwm-backlight";
206		pwms = <&pwm 3 5000000>;
207		brightness-levels = <0 4 8 16 32 64 128 255>;
208		default-brightness-level = <6>;
209	};
210
211	leds {
212		compatible = "gpio-leds";
213		pinctrl-names = "default";
214		pinctrl-0 = <&led_pins_gpio>;
215
216		user1 {
217			label = "sd0-led";
218			gpios = <&gpio2 26 0>;
219			linux,default-trigger = "mmc0";
220		};
221
222		user2 {
223			label = "sd1-led";
224			gpios = <&gpio2 24 0>;
225			linux,default-trigger = "mmc2";
226		};
227	};
228
229	regulators {
230		compatible = "simple-bus";
231		#address-cells = <1>;
232		#size-cells = <0>;
233
234		reg_3p3v: regulator@0 {
235			compatible = "regulator-fixed";
236			reg = <0>;
237			regulator-name = "3P3V";
238			regulator-min-microvolt = <3300000>;
239			regulator-max-microvolt = <3300000>;
240			regulator-always-on;
241		};
242
243		reg_vddio_sd0: regulator@1 {
244			compatible = "regulator-fixed";
245			reg = <1>;
246			regulator-name = "vddio-sd0";
247			regulator-min-microvolt = <3300000>;
248			regulator-max-microvolt = <3300000>;
249			gpio = <&gpio3 29 0>;
250		};
251
252		reg_vddio_sd1: regulator@2 {
253			compatible = "regulator-fixed";
254			reg = <2>;
255			regulator-name = "vddio-sd1";
256			regulator-min-microvolt = <3300000>;
257			regulator-max-microvolt = <3300000>;
258			gpio = <&gpio2 19 0>;
259		};
260
261		reg_usb1_vbus: regulator@3 {
262			compatible = "regulator-fixed";
263			reg = <3>;
264			regulator-name = "usb1_vbus";
265			regulator-min-microvolt = <5000000>;
266			regulator-max-microvolt = <5000000>;
267			gpio = <&gpio3 8 0>;
268			enable-active-high;
269		};
270	};
271};