~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm/boot/dts/st/ste-hrefv60plus.dtsi

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: GPL-2.0-or-later
  2 /*
  3  * Copyright 2012 ST-Ericsson AB
  4  */
  5 
  6 #include "ste-href.dtsi"
  7 
  8 / {
  9         model = "ST-Ericsson HREF (v60+) platform with Device Tree";
 10         compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500";
 11 
 12         thermal-zones {
 13                 chassis-thermal {
 14                         /* Poll every 20 seconds */
 15                         polling-delay = <20000>;
 16                         /* Poll every 2nd second when cooling */
 17                         polling-delay-passive = <2000>;
 18 
 19                         thermal-sensors = <&therm1>, <&therm2>;
 20 
 21                         /* Tripping points made from rough guess about operating conditions */
 22                         trips {
 23                                 chassis_alert: chassis-alert {
 24                                         /* At 50 degrees take down the CPU frequency */
 25                                         temperature = <50000>;
 26                                         hysteresis = <3000>;
 27                                         type = "active";
 28                                 };
 29                                 chassis_crit: chassis-crit {
 30                                         /* Just shut down at 70 degrees */
 31                                         temperature = <70000>;
 32                                         hysteresis = <2000>;
 33                                         type = "critical";
 34                                 };
 35                         };
 36 
 37                         /* Push down the operating frequency of the SoC when it gets hot */
 38                         cooling-maps {
 39                                 map0 {
 40                                         trip = <&chassis_alert>;
 41                                         cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
 42                                         contribution = <100>;
 43                                 };
 44                         };
 45                 };
 46         };
 47 
 48         /*
 49          * Thermistors on the board, formally to monitor battery temperatures
 50          * but what they measure is the board temperature.
 51          */
 52         therm1: thermistor@0 {
 53                 compatible = "murata,ncp18wb473";
 54                 io-channels = <&gpadc 0x06>; /* AUX1 */
 55                 pullup-uv = <1800000>;
 56                 pullup-ohm = <220000>;
 57                 pulldown-ohm = <0>;
 58                 #thermal-sensor-cells = <0>;
 59         };
 60 
 61         therm2: thermistor@1 {
 62                 compatible = "murata,ncp18wb473";
 63                 io-channels = <&gpadc 0x07>; /* AUX2 */
 64                 pullup-uv = <1800000>;
 65                 pullup-ohm = <220000>;
 66                 pulldown-ohm = <0>;
 67                 #thermal-sensor-cells = <0>;
 68         };
 69 
 70         soc {
 71                 /* Name the GPIO muxed rails on the HREF boards */
 72                 gpio@8012e000 {
 73                         /* GPIOs 0 - 31 */
 74                         gpio-line-names =
 75                                      /* GPIO0,1 used for UART0 BT RX/TX */
 76                                      "", "",
 77                                      "UART_WAKE",
 78                                      "BT_WAKE",
 79                                      "",
 80                                      "SDMMC_1V8_3V_SEL",
 81                                      "FLASH_LED_SYNC (FLASH_CTRL_0)",
 82                                      "XENON_READY (FLASH_CTRL_1)",
 83                                      "", "", "", "", "", "", "", "",
 84                                      "", "", "", "",
 85                                      "",
 86                                      "FLASH_LED_EN (FLASH_CTRL_3)",
 87                                      "", "",
 88                                      "", "", "", "", "",
 89                                      /* Used by UART2 (console) */
 90                                      "", "",
 91                                      "MAGNETOMETER_INT";
 92                 };
 93 
 94                 gpio@8012e080 {
 95                         /* GPIOs 32 - 63 */
 96                         gpio-line-names =
 97                                      "MAGNETOMETER_DRDY",
 98                                      "", "", "", "", "", "", "",
 99                                      "", "", "", "", "", "", "", "",
100                                      "", "", "", "", "", "", "", "",
101                                      "", "", "", "", "", "", "", "";
102                 };
103 
104                 gpio@8000e000 {
105                         /* GPIOs 64 - 95 */
106                         gpio-line-names = "XENON_EN2 (FLASH_CTRL_4)",
107                                      "DISP1_RST",
108                                      "DISP2_RST",
109                                      "TOUCH_INT2",
110                                      "LCD_VSI0_A",
111                                      "LCD_VSI1_A",
112                                      /* GPIO 70-77 used for ETM */
113                                      "", "", "", "", "", "", "", "",
114                                      /* GPIO 78-81 used for YCBCR */
115                                      "", "", "", "",
116                                      "ACCELEROMETER_INT1_RDY",
117                                      "ACCELEROMETER_INT2",
118                                      "TOUCH_INT",
119                                      "WLAN_ENA",
120                                      "", "", "", "", "",
121                                      "FORCE_SENSING_INT",
122                                      "FORCE_SENSING_RESET",
123                                      "", "",
124                                      "SDMMC_CD";
125                 };
126 
127                 gpio@8000e080 {
128                         /* GPIOs 96 - 127 */
129                         gpio-line-names = "",
130                                      "FORCE_SENSING_WU",
131                                      "", "", "", "", "", "",
132                                      "", "", "", "", "", "", "", "",
133                                      "", "", "", "", "", "", "", "",
134                                      "", "", "", "", "", "", "", "";
135                 };
136 
137                 gpio@8000e100 {
138                         /* GPIOs 128 - 159 */
139                         gpio-line-names = "", "", "", "", "", "", "", "",
140                                      "", "", "",
141                                      "DIPRO_INT", /* GPIO139 */
142                                      "XSHUTDOWN_SECONDARY_SENSOR",
143                                      "XSHUTDOWN_PRIMARY_SENSOR",
144                                      "NFC_RST (NFC_CTRL_",
145                                      "TOUCH_RST",
146                                      "NFC_IRQ (NFC_CTRL_1)",
147                                      "HAL_SW",
148                                      "TOUCH_RST2",
149                                      "", "",
150                                      "VAUDIO_HF_EN", /* GPIO149 */
151                                      "", "", "", "", "", "", "", "", "", "";
152                 };
153 
154                 gpio@8000e180 {
155                         /* GPIOs 160 - 191 */
156                         gpio-line-names = "", "", "", "", "", "", "", "",
157                                      "",
158                                      "SDMMC_EN",
159                                      "XENON_CHARGE (FLASH_CONTROL_5)",
160                                      "GBF_ENA_RESET",
161                                      "", "", "", "",
162                                      "", "", "", "", "", "", "", "",
163                                      "", "", "", "", "", "", "", "";
164                 };
165 
166                 gpio@8011e000 {
167                         /* GPIOs 192 - 223 */
168                         gpio-line-names = "HDTV_INTN",
169                                      "", "", "",
170                                      "HDTV_RSTN",
171                                      "", "", "",
172                                      "", /* GPIO200 */
173                                      "", "", "", "", "", "", "",
174                                      /* GPIO208-216 used for WGBF_MC1 */
175                                      "", "", "", "", "", "", "", "", "",
176                                      "SW_FRONT_PROXIMITY", /* GPIO217 */
177                                      "KPD_CTRL_INT", /* Keypad controller */
178                                      "", "", "", "", "";
179                 };
180 
181                 gpio@8011e080 {
182                         /* GPIOs 224 - 255 */
183                         gpio-line-names = "", "",
184                                      "HSIT_ACWAKE0",
185                                      "", "", "", "", "",
186                                      "", "", "", "", "", "", "", "",
187                                      "", "", "", "", "", "", "", "",
188                                      "", "", "", "", "", "", "", "";
189                 };
190 
191                 // External Micro SD slot
192                 mmc@80126000 {
193                         cd-gpios = <&gpio2 31 GPIO_ACTIVE_HIGH>; // 95
194                 };
195 
196                 pinctrl {
197                         /*
198                          * Set this up using hogs, as time goes by and as seems fit, these
199                          * can be moved over to being controlled by respective device.
200                          */
201                         pinctrl-names = "default";
202                         pinctrl-0 = <&ipgpio_hrefv60_mode>,
203                                   <&etm_hrefv60_mode>,
204                                   <&nahj_hrefv60_mode>,
205                                   <&nfc_hrefv60_mode>,
206                                   <&force_hrefv60_mode>,
207                                   <&dipro_hrefv60_mode>,
208                                   <&vaudio_hf_hrefv60_mode>,
209                                   <&gbf_hrefv60_mode>,
210                                   <&hdtv_hrefv60_mode>,
211                                   <&gpios_hrefv60_mode>;
212 
213                         sdi0 {
214                                 sdi0_default_mode: sdi0_default {
215                                         /* SD card detect GPIO pin, extend default state */
216                                         default_hrefv60_cfg1 {
217                                                 pins = "GPIO95_E8";
218                                                 ste,config = <&gpio_in_pu>;
219                                         };
220                                 };
221                         };
222                         ipgpio {
223                                 /*
224                                  * XENON Flashgun on image processor GPIO (controlled from image
225                                  * processor firmware), mux in these image processor GPIO lines 0
226                                  * (XENON_FLASH_ID), 1 (XENON_READY) and there is an assistant
227                                  * LED on IP GPIO 4 (XENON_EN2) on altfunction C, that need bias
228                                  * from GPIO21 so pull up 0, 1 and drive 4 and GPIO21 low as output.
229                                  */
230                                 ipgpio_hrefv60_mode: ipgpio_hrefv60 {
231                                         hrefv60_mux {
232                                                 function = "ipgpio";
233                                                 groups = "ipgpio0_c_1", "ipgpio1_c_1", "ipgpio4_c_1";
234                                         };
235                                         hrefv60_cfg1 {
236                                                 pins = "GPIO6_AF6", "GPIO7_AG5";
237                                                 ste,config = <&in_pu>;
238                                         };
239                                         hrefv60_cfg2 {
240                                                 pins = "GPIO21_AB3";
241                                                 ste,config = <&gpio_out_lo>;
242                                         };
243                                         hrefv60_cfg3 {
244                                                 pins = "GPIO64_F3";
245                                                 ste,config = <&out_lo>;
246                                         };
247                                 };
248                         };
249                         etm {
250                                 /*
251                                  * Drive D19-D23 for the ETM PTM trace interface low,
252                                  * (presumably pins are unconnected therefore grounded here,
253                                  * the "other alt C1" setting enables these pins)
254                                  */
255                                 etm_hrefv60_mode: etm_hrefv60 {
256                                         hrefv60_cfg1 {
257                                                 pins =
258                                                 "GPIO70_G5",
259                                                 "GPIO71_G4",
260                                                 "GPIO72_H4",
261                                                 "GPIO73_H3",
262                                                 "GPIO74_J3";
263                                                 ste,config = <&gpio_out_lo>;
264                                         };
265                                  };
266                         };
267                         nahj {
268                                 nahj_hrefv60_mode: nahj_hrefv60 {
269                                         /* NAHJ CTRL on GPIO76 to low, CTRL_INV on GPIO216 to high */
270                                         hrefv60_cfg1 {
271                                                 pins = "GPIO76_J2";
272                                                 ste,config = <&gpio_out_lo>;
273                                         };
274                                         hrefv60_cfg2 {
275                                                 pins = "GPIO216_AG12";
276                                                 ste,config = <&gpio_out_hi>;
277                                         };
278                                  };
279                         };
280                         nfc {
281                                 nfc_hrefv60_mode: nfc_hrefv60 {
282                                         /* NFC ENA and RESET to low, pulldown IRQ line */
283                                         hrefv60_cfg1 {
284                                                 pins =
285                                                 "GPIO77_H1", /* NFC_ENA */
286                                                 "GPIO142_C11"; /* NFC_RESET */
287                                                 ste,config = <&gpio_out_lo>;
288                                         };
289                                         hrefv60_cfg2 {
290                                                 pins = "GPIO144_B13"; /* NFC_IRQ */
291                                                 ste,config = <&gpio_in_pd>;
292                                         };
293                                  };
294                         };
295                         force {
296                                 force_hrefv60_mode: force_hrefv60 {
297                                         hrefv60_cfg1 {
298                                                 pins = "GPIO91_B6"; /* FORCE_SENSING_INT */
299                                                 ste,config = <&gpio_in_pu>;
300                                         };
301                                         hrefv60_cfg2 {
302                                                 pins =
303                                                 "GPIO92_D6", /* FORCE_SENSING_RST */
304                                                 "GPIO97_D9"; /* FORCE_SENSING_WU */
305                                                 ste,config = <&gpio_out_lo>;
306                                         };
307                                  };
308                         };
309                         dipro {
310                                 dipro_hrefv60_mode: dipro_hrefv60 {
311                                         hrefv60_cfg1 {
312                                                 pins = "GPIO139_C9"; /* DIPRO_INT */
313                                                 ste,config = <&gpio_in_pu>;
314                                         };
315                                  };
316                         };
317                         vaudio_hf {
318                                 vaudio_hf_hrefv60_mode: vaudio_hf_hrefv60 {
319                                         /* Audio Amplifier HF enable GPIO */
320                                         hrefv60_cfg1 {
321                                                 pins = "GPIO149_B14"; /* VAUDIO_HF_EN, enable MAX8968 */
322                                                 ste,config = <&gpio_out_hi>;
323                                         };
324                                  };
325                         };
326                         gbf {
327                                 gbf_hrefv60_mode: gbf_hrefv60 {
328                                         /*
329                                          * GBF (GPS, Bluetooth, FM-radio) interface,
330                                          * pull low to reset state
331                                          */
332                                         hrefv60_cfg1 {
333                                                 pins = "GPIO171_D23"; /* GBF_ENA_RESET */
334                                                 ste,config = <&gpio_out_lo>;
335                                         };
336                                  };
337                         };
338                         hdtv {
339                                 hdtv_hrefv60_mode: hdtv_hrefv60 {
340                                         /* MSP : HDTV INTERFACE GPIO line */
341                                         hrefv60_cfg1 {
342                                                 pins = "GPIO192_AJ27";
343                                                 ste,config = <&gpio_in_pd>;
344                                         };
345                                  };
346                         };
347                         mcde {
348                                 lcd_hrefv60_mode: lcd_hrefv60 {
349                                         /*
350                                          * Display Interface 1 uses GPIO 65 for RST (reset).
351                                          * Display Interface 2 uses GPIO 66 for RST (reset).
352                                          * Drive DISP1 reset high (not reset), driver DISP2 reset low (reset)
353                                          */
354                                         hrefv60_cfg1 {
355                                                 pins = "GPIO65_F1";
356                                                 ste,config = <&gpio_out_hi>;
357                                         };
358                                         hrefv60_cfg2 {
359                                                 pins = "GPIO66_G3";
360                                                 ste,config = <&gpio_out_lo>;
361                                         };
362                                 };
363                         };
364                         gpios {
365                                 /* Dangling GPIO pins */
366                                 gpios_hrefv60_mode: gpios_hrefv60 {
367                                         default_cfg1 {
368                                                 /* Normally UART1 RXD, now dangling */
369                                                 pins = "GPIO4_AH6";
370                                                 ste,config = <&in_pu>;
371                                         };
372                                 };
373                         };
374                 };
375         };
376 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php