Linux Audio

Check our new training course

Yocto distribution development and maintenance

Need a Yocto distribution for your embedded project?
Loading...
v5.14.15
  1// SPDX-License-Identifier: GPL-2.0
  2/*
  3 * Device Tree for the ST Microelectronics Nomadik NHK8815 board
 
  4 */
  5
  6/dts-v1/;
  7#include <dt-bindings/interrupt-controller/irq.h>
  8#include <dt-bindings/gpio/gpio.h>
  9#include "ste-nomadik-stn8815.dtsi"
 10
 11/ {
 12	model = "Nomadik STN8815NHK";
 13	compatible = "st,nomadik-nhk-15";
 14
 15	chosen {
 16		bootargs = "root=/dev/ram0 console=ttyAMA1,115200n8 earlyprintk";
 17	};
 18
 19	aliases {
 20		serial0 = &uart0;
 21		serial1 = &uart1;
 22		stmpe-i2c0 = &stmpe0;
 23		stmpe-i2c1 = &stmpe1;
 24	};
 25
 26	pinctrl {
 27		uart0 {
 28			uart0_nhk_mode: uart0_mux {
 29				u0_default_mux {
 30					function = "u0";
 31					groups = "u0txrx_a_1", "u0ctsrts_a_1";
 32				};
 33			};
 34		};
 35
 36		stmpe2401_1 {
 37			stmpe2401_1_nhk_mode: stmpe2401_1_nhk {
 38				nhk_cfg1 {
 39					pins = "GPIO76_B20"; // IRQ line
 40					ste,input = <0>;
 41				};
 42				nhk_cfg2 {
 43					pins = "GPIO77_B8"; // reset line
 44					ste,output = <1>;
 45				};
 46			};
 47		};
 48		stmpe2401_2 {
 49			stmpe2401_2_nhk_mode: stmpe2401_2_nhk {
 50				nhk_cfg1 {
 51					pins = "GPIO78_A8"; // IRQ line
 52					ste,input = <0>;
 53				};
 54				nhk_cfg2 {
 55					pins = "GPIO79_C9"; // reset line
 56					ste,output = <1>;
 57				};
 58			};
 59		};
 60		lis3lv02dl {
 61			lis3lv02dl_nhk_mode: lis3lv02dl_nhk {
 62				nhk_cfg1 {
 63					pins = "GPIO82_C10"; // IRQ line
 64					ste,input = <0>;
 65				};
 66			};
 67		};
 68	};
 
 69	src@101e0000 {
 70		/* These chrystal outputs are not used on this board */
 71		disable-sxtalo;
 72		disable-mxtalo;
 73	};
 74
 75	/* This is where the interrupt is routed on the NHK-15 debug board */
 76	external-bus@34000000 {
 77		compatible = "simple-bus";
 78		reg = <0x34000000 0x1000000>;
 79		#address-cells = <1>;
 80		#size-cells = <1>;
 81		ranges = <0 0x34000000 0x1000000>;
 82		ethernet@300 {
 83			compatible = "smsc,lan91c111";
 84			reg = <0x300 0x0fd00>;
 85			reg-io-width = <2>;
 86			reset-gpios = <&stmpe_gpio44 10 GPIO_ACTIVE_HIGH>;
 87			interrupt-parent = <&stmpe_gpio44>;
 88			interrupts = <11 IRQ_TYPE_EDGE_RISING>;
 89		};
 90	};
 91
 92	i2c0 {
 93		lis3lv02dl@1d {
 94			/* Accelerometer */
 95			compatible = "st,lis3lv02dl-accel";
 96			interrupt-parent = <&gpio2>;
 97			interrupts = <18 IRQ_TYPE_EDGE_RISING>; // GPIO 82
 98			pinctrl-0 = <&lis3lv02dl_nhk_mode>;
 99			pinctrl-names = "default";
100			reg = <0x1d>;
101		};
102		stmpe0: stmpe2401@43 {
103			compatible = "st,stmpe2401";
104			reg = <0x43>;
105			reset-gpios = <&gpio2 13 GPIO_ACTIVE_LOW>; // GPIO77
106			interrupts = <12 IRQ_TYPE_EDGE_FALLING>; // GPIO76
107			interrupt-parent = <&gpio2>;
108			interrupt-controller;
109			wakeup-source;
110			pinctrl-names = "default";
111			pinctrl-0 = <&stmpe2401_1_nhk_mode>;
112			stmpe_gpio43: stmpe_gpio {
113				compatible = "st,stmpe-gpio";
114				gpio-controller;
115				#gpio-cells = <2>;
116				interrupt-controller;
117				#interrupt-cells = <2>;
118				/* Some pins in alternate functions */
119				st,norequest-mask = <0xf0f002>;
120			};
121			stmpe_keypad {
122				compatible = "st,stmpe-keypad";
123				debounce-interval = <64>;
124				st,scan-count = <8>;
125				st,no-autorepeat;
126				keypad,num-rows = <8>;
127				keypad,num-columns = <8>;
128				linux,keymap = <0x00020072 // Vol down
129						0x00030073 // Vol up
130						0x0100009e // Back
131						0x010100e3 // TV out
132						0x01020098 // Lock
133						0x0103013b // Start
134						0x020000a3 // Next
135						0x020100a4 // Play
136						0x020200a5 // Prev
137						0x02030160 // OK
138						0x03000069 // Left
139						0x0301006a // Right
140						0x03020067 // Up
141						0x0303006c>; // Down
142			};
143			stmpe0_pwm: stmpe_pwm {
144				compatible = "st,stmpe-pwm";
145				#pwm-cells = <2>;
146			};
147		};
148		stmpe1: stmpe2401@44 {
149			compatible = "st,stmpe2401";
150			reg = <0x44>;
151			reset-gpios = <&gpio2 15 GPIO_ACTIVE_LOW>; // GPIO79
152			interrupts = <14 IRQ_TYPE_EDGE_FALLING>; // GPIO78
153			interrupt-parent = <&gpio2>;
154			interrupt-controller;
155			wakeup-source;
156			pinctrl-names = "default";
157			pinctrl-0 = <&stmpe2401_2_nhk_mode>;
158			stmpe_gpio44: stmpe_gpio {
159				compatible = "st,stmpe-gpio";
160				gpio-controller;
161				#gpio-cells = <2>;
162				interrupt-controller;
163				#interrupt-cells = <2>;
164				/*
165				 * This will turn off SATA so that MMC/SD
166				 * can thrive
167				 */
168				mmcsd-gpio {
169					gpio-hog;
170					gpios = <2 0x0>;
171					output-low;
172					line-name = "SATA EN";
173				};
174			};
175		};
176	};
177
178	amba {
179		clcd@10120000 {
180			status = "okay";
181			pinctrl-names = "default";
182			pinctrl-0 = <&clcd_24bit_mux>;
183			port {
184				nomadik_clcd: endpoint {
185					remote-endpoint = <&nomadik_clcd_panel>;
186					arm,pl11x,tft-r0g0b0-pads = <16 8 0>;
187				};
188			};
189
190		};
191
192		/* Activate RX/TX and CTS/RTS on UART 0 */
193		uart0: uart@101fd000 {
194			pinctrl-names = "default";
195			pinctrl-0 = <&uart0_nhk_mode>;
196			status = "okay";
197		};
198		mmcsd: mmc@101f6000 {
199			cd-gpios = <&stmpe_gpio44 7 GPIO_ACTIVE_LOW>;
200			wp-gpios = <&stmpe_gpio44 18 GPIO_ACTIVE_HIGH>;
201		};
202	};
203
204	spi {
205		compatible = "spi-gpio";
206		#address-cells = <1>;
207		#size-cells = <0>;
208
209		/*
210		 * As we're dealing with 3wire SPI, we only define SCK
211		 * and MOSI (in the spec MOSI is called "SDA").
212		 */
213		gpio-sck = <&gpio0 5 GPIO_ACTIVE_HIGH>;
214		gpio-mosi = <&gpio0 4 GPIO_ACTIVE_HIGH>;
215		cs-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
216		num-chipselects = <1>;
217
218		/*
219		 * WVGA connector 21
220		 * WVGA (800x480): 4.3" TPG110 TDO43MTEA2 24-bit RGB
221		 * with TPO touch screen.
222		  */
223		panel: display@0 {
224			/*
225			 * The TPO display driver is connected to a
226			 * 5.7" OSD OSD057VA01CT TFT display.
227			 */
228			compatible = "tpo,tpg110";
229			reg = <0>;
230			spi-3wire;
231			/* 320 ns min period ~= 3 MHz */
232			spi-max-frequency = <3000000>;
233			/* Width and height from the OSD data sheet */
234			width-mm = <116>;
235			height-mm = <87>;
236			grestb-gpios = <&stmpe_gpio44 5 GPIO_ACTIVE_LOW>;
237			backlight = <&bl>;
238
239			port {
240				nomadik_clcd_panel: endpoint {
241					remote-endpoint = <&nomadik_clcd>;
242				};
243			};
244		};
245	};
246
247	bl: backlight {
248		compatible = "pwm-backlight";
249		pwms = <&stmpe0_pwm 0 500000>;
250		pwm-names = "backlight";
251		brightness-levels = <
252			0  1  2  3  4  5  6  7  8  9
253			10 11 12 13 14 15 16 17 18 19
254			20 21 22 23 24 25 26 27 28 29
255			30 31 32 33 34 35 36 37 38 39
256			40 41 42 43 44 45 46 47 48 49
257			50 51 52 53 54 55 56 57 58 59
258			60 61 62 63 64 65 66 67 68 69
259			70 71 72 73 74 75 76 77 78 79
260			80 81 82 83 84 85 86 87 88 89
261			90 91 92 93 94 95 96 97 98 99
262			100
263		>;
264		default-brightness-level = <100>;
265	};
266};
v4.6
 
  1/*
  2 * Device Tree for the ST-Ericsson Nomadik S8815 board
  3 * Produced by Calao Systems
  4 */
  5
  6/dts-v1/;
  7#include <dt-bindings/interrupt-controller/irq.h>
  8#include <dt-bindings/gpio/gpio.h>
  9#include "ste-nomadik-stn8815.dtsi"
 10
 11/ {
 12	model = "Nomadik STN8815NHK";
 13	compatible = "st,nomadik-nhk-15";
 14
 15	chosen {
 16		bootargs = "root=/dev/ram0 console=ttyAMA1,115200n8 earlyprintk";
 17	};
 18
 19	aliases {
 20		serial0 = &uart0;
 21		serial1 = &uart1;
 22		stmpe-i2c0 = &stmpe0;
 23		stmpe-i2c1 = &stmpe1;
 24	};
 25
 26	pinctrl {
 27		uart0 {
 28			uart0_nhk_mode: uart0_mux {
 29				u0_default_mux {
 30					function = "u0";
 31					groups = "u0txrx_a_1", "u0ctsrts_a_1";
 32				};
 33			};
 34		};
 35
 36		stmpe2401_1 {
 37			stmpe2401_1_nhk_mode: stmpe2401_1_nhk {
 38				nhk_cfg1 {
 39					pins = "GPIO76_B20"; // IRQ line
 40					ste,input = <0>;
 41				};
 42				nhk_cfg2 {
 43					pins = "GPIO77_B8"; // reset line
 44					ste,output = <1>;
 45				};
 46			};
 47		};
 48		stmpe2401_2 {
 49			stmpe2401_2_nhk_mode: stmpe2401_2_nhk {
 50				nhk_cfg1 {
 51					pins = "GPIO78_A8"; // IRQ line
 52					ste,input = <0>;
 53				};
 54				nhk_cfg2 {
 55					pins = "GPIO79_C9"; // reset line
 56					ste,output = <1>;
 57				};
 58			};
 59		};
 
 
 
 
 
 
 
 
 60	};
 61
 62	src@101e0000 {
 63		/* These chrystal outputs are not used on this board */
 64		disable-sxtalo;
 65		disable-mxtalo;
 66	};
 67
 68	/* This is where the interrupt is routed on the NHK-15 debug board */
 69	external-bus@34000000 {
 70		compatible = "simple-bus";
 71		reg = <0x34000000 0x1000000>;
 72		#address-cells = <1>;
 73		#size-cells = <1>;
 74		ranges = <0 0x34000000 0x1000000>;
 75		ethernet@300 {
 76			compatible = "smsc,lan91c111";
 77			reg = <0x300 0x0fd00>;
 78			reg-io-width = <2>;
 79			reset-gpios = <&stmpe_gpio44 10 GPIO_ACTIVE_HIGH>;
 80			interrupt-parent = <&stmpe_gpio44>;
 81			interrupts = <11 IRQ_TYPE_EDGE_RISING>;
 82		};
 83	};
 84
 85	i2c0 {
 86		lis3lv02dl@1d {
 87			/* Accelerometer */
 88			compatible = "st,lis3lv02dl-accel";
 
 
 
 
 89			reg = <0x1d>;
 90		};
 91		stmpe0: stmpe2401@43 {
 92			compatible = "st,stmpe2401";
 93			reg = <0x43>;
 94			reset-gpios = <&gpio2 13 GPIO_ACTIVE_LOW>; // GPIO77
 95			interrupts = <12 IRQ_TYPE_EDGE_FALLING>; // GPIO76
 96			interrupt-parent = <&gpio2>;
 97			interrupt-controller;
 98			wakeup-source;
 99			pinctrl-names = "default";
100			pinctrl-0 = <&stmpe2401_1_nhk_mode>;
101			stmpe_gpio43: stmpe_gpio {
102				compatible = "st,stmpe-gpio";
103				gpio-controller;
104				#gpio-cells = <2>;
105				interrupt-controller;
106				#interrupt-cells = <2>;
107				/* Some pins in alternate functions */
108				st,norequest-mask = <0xf0f002>;
109			};
110			stmpe_keypad {
111				compatible = "st,stmpe-keypad";
112				debounce-interval = <64>;
113				st,scan-count = <8>;
114				st,no-autorepeat;
115				keypad,num-rows = <8>;
116				keypad,num-columns = <8>;
117				linux,keymap = <0x00020072 // Vol down
118						0x00030073 // Vol up
119						0x0100009e // Back
120						0x010100e3 // TV out
121						0x01020098 // Lock
122						0x0103013b // Start
123						0x020000a3 // Next
124						0x020100a4 // Play
125						0x020200a5 // Prev
126						0x02030160 // OK
127						0x03000069 // Left
128						0x0301006a // Right
129						0x03020067 // Up
130						0x0303006c>; // Down
131			};
 
 
 
 
132		};
133		stmpe1: stmpe2401@44 {
134			compatible = "st,stmpe2401";
135			reg = <0x44>;
136			reset-gpios = <&gpio2 15 GPIO_ACTIVE_LOW>; // GPIO79
137			interrupts = <14 IRQ_TYPE_EDGE_FALLING>; // GPIO78
138			interrupt-parent = <&gpio2>;
139			interrupt-controller;
140			wakeup-source;
141			pinctrl-names = "default";
142			pinctrl-0 = <&stmpe2401_2_nhk_mode>;
143			stmpe_gpio44: stmpe_gpio {
144				compatible = "st,stmpe-gpio";
145				gpio-controller;
146				#gpio-cells = <2>;
147				interrupt-controller;
148				#interrupt-cells = <2>;
149				/*
150				 * This will turn off SATA so that MMC/SD
151				 * can thrive
152				 */
153				mmcsd-gpio {
154					gpio-hog;
155					gpios = <2 0x0>;
156					output-low;
157					line-name = "SATA EN";
158				};
159			};
160		};
161	};
162
163	amba {
 
 
 
 
 
 
 
 
 
 
 
 
 
164		/* Activate RX/TX and CTS/RTS on UART 0 */
165		uart0: uart@101fd000 {
166			pinctrl-names = "default";
167			pinctrl-0 = <&uart0_nhk_mode>;
168			status = "okay";
169		};
170		mmcsd: sdi@101f6000 {
171			cd-gpios = <&stmpe_gpio44 7 GPIO_ACTIVE_LOW>;
172			wp-gpios = <&stmpe_gpio44 18 GPIO_ACTIVE_HIGH>;
173		};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
174	};
175};