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

TOMOYO Linux Cross Reference
Linux/arch/arm/boot/dts/samsung/exynos5800-peach-pi.dts

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ 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.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: GPL-2.0
  2 /*
  3  * Google Peach Pi Rev 10+ board device tree source
  4  *
  5  * Copyright (c) 2014 Google, Inc
  6  */
  7 
  8 /dts-v1/;
  9 #include <dt-bindings/input/input.h>
 10 #include <dt-bindings/gpio/gpio.h>
 11 #include <dt-bindings/interrupt-controller/irq.h>
 12 #include <dt-bindings/clock/maxim,max77802.h>
 13 #include <dt-bindings/regulator/maxim,max77802.h>
 14 #include <dt-bindings/sound/samsung-i2s.h>
 15 #include "exynos5800.dtsi"
 16 #include "exynos5420-cpus.dtsi"
 17 
 18 / {
 19         model = "Google Peach Pi Rev 10+";
 20 
 21         compatible = "google,pi-rev16",
 22                 "google,pi-rev15", "google,pi-rev14",
 23                 "google,pi-rev13", "google,pi-rev12",
 24                 "google,pi-rev11", "google,pi-rev10",
 25                 "google,pi", "google,peach", "samsung,exynos5800",
 26                 "samsung,exynos5";
 27         chassis-type = "laptop";
 28 
 29         aliases {
 30                 /* Assign 20 so we don't get confused w/ builtin ones */
 31                 i2c20 = &i2c_tunnel;
 32                 mmc0 = &mmc_0; /* eMMC */
 33                 mmc1 = &mmc_2; /* SD */
 34                 mmc2 = &mmc_1; /* WiFi */
 35         };
 36 
 37         backlight: backlight {
 38                 compatible = "pwm-backlight";
 39                 pwms = <&pwm 0 1000000 0>;
 40                 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
 41                 default-brightness-level = <7>;
 42                 enable-gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>;
 43                 power-supply = <&tps65090_fet1>;
 44                 pinctrl-0 = <&pwm0_out>;
 45                 pinctrl-names = "default";
 46         };
 47 
 48         chosen {
 49                 stdout-path = "serial3:115200n8";
 50         };
 51 
 52         fixed-rate-clocks {
 53                 oscclk {
 54                         compatible = "samsung,exynos5420-oscclk";
 55                         clock-frequency = <24000000>;
 56                 };
 57         };
 58 
 59         gpio-keys {
 60                 compatible = "gpio-keys";
 61 
 62                 pinctrl-names = "default";
 63                 pinctrl-0 = <&power_key_irq &lid_irq>;
 64 
 65                 power-key {
 66                         label = "Power";
 67                         gpios = <&gpx1 2 GPIO_ACTIVE_LOW>;
 68                         linux,code = <KEY_POWER>;
 69                         wakeup-source;
 70                 };
 71 
 72                 lid-switch {
 73                         label = "Lid";
 74                         gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
 75                         linux,input-type = <5>; /* EV_SW */
 76                         linux,code = <0>; /* SW_LID */
 77                         debounce-interval = <1>;
 78                         wakeup-source;
 79                 };
 80 
 81         };
 82 
 83         memory@20000000 {
 84                 device_type = "memory";
 85                 reg = <0x20000000 0x80000000>;
 86         };
 87 
 88         sound {
 89                 compatible = "google,snow-audio-max98091";
 90 
 91                 samsung,model = "Peach-Pi-I2S-MAX98091";
 92                 samsung,i2s-controller = <&i2s0>;
 93                 samsung,audio-codec = <&max98091>;
 94 
 95                 cpu {
 96                         sound-dai = <&i2s0 0>;
 97                 };
 98 
 99                 codec {
100                         sound-dai = <&max98091>, <&hdmi>;
101                 };
102         };
103 
104         usb300_vbus_reg: regulator-usb300 {
105                 compatible = "regulator-fixed";
106                 regulator-name = "P5.0V_USB3CON0";
107                 regulator-min-microvolt = <5000000>;
108                 regulator-max-microvolt = <5000000>;
109                 gpio = <&gph0 0 GPIO_ACTIVE_HIGH>;
110                 pinctrl-names = "default";
111                 pinctrl-0 = <&usb300_vbus_en>;
112                 enable-active-high;
113         };
114 
115         usb301_vbus_reg: regulator-usb301 {
116                 compatible = "regulator-fixed";
117                 regulator-name = "P5.0V_USB3CON1";
118                 regulator-min-microvolt = <5000000>;
119                 regulator-max-microvolt = <5000000>;
120                 gpio = <&gph0 1 GPIO_ACTIVE_HIGH>;
121                 pinctrl-names = "default";
122                 pinctrl-0 = <&usb301_vbus_en>;
123                 enable-active-high;
124         };
125 
126         vbat: fixed-regulator {
127                 compatible = "regulator-fixed";
128                 regulator-name = "vbat-supply";
129                 regulator-boot-on;
130                 regulator-always-on;
131         };
132 
133         panel: panel {
134                 compatible = "auo,b133htn01";
135                 power-supply = <&tps65090_fet6>;
136                 backlight = <&backlight>;
137 
138                 port {
139                         panel_in: endpoint {
140                                 remote-endpoint = <&dp_out>;
141                         };
142                 };
143         };
144 
145         mmc1_pwrseq: mmc1-pwrseq {
146                 compatible = "mmc-pwrseq-simple";
147                 reset-gpios = <&gpx0 0 GPIO_ACTIVE_LOW>; /* WIFI_EN */
148                 clocks = <&max77802 MAX77802_CLK_32K_CP>;
149                 clock-names = "ext_clock";
150         };
151 };
152 
153 &adc {
154         status = "okay";
155         vdd-supply = <&ldo9_reg>;
156 };
157 
158 &clock_audss {
159         assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>;
160         assigned-clock-parents = <&clock CLK_MAU_EPLL>;
161 };
162 
163 /*
164  * Peach Pi board uses SoC revision with lower maximum frequency for A7 cores
165  * (1.3 GHz instead of 1.4 GHz) than Odroid XU3/XU4 boards.  Thus we need to
166  * update A7 OPPs table accordingly.
167  */
168 &cluster_a7_opp_table {
169         /delete-node/opp-1400000000;
170 };
171 
172 &cpu0 {
173         cpu-supply = <&buck2_reg>;
174 };
175 
176 &cpu4 {
177         cpu-supply = <&buck6_reg>;
178 };
179 
180 &dp {
181         status = "okay";
182         pinctrl-names = "default";
183         pinctrl-0 = <&dp_hpd_gpio>;
184         samsung,color-space = <0>;
185         samsung,color-depth = <1>;
186         samsung,link-rate = <0x0a>;
187         samsung,lane-count = <2>;
188         hpd-gpios = <&gpx2 6 GPIO_ACTIVE_HIGH>;
189 
190         ports {
191                 port {
192                         dp_out: endpoint {
193                                 remote-endpoint = <&panel_in>;
194                         };
195                 };
196         };
197 };
198 
199 &fimd {
200         status = "okay";
201         samsung,invert-vclk;
202 };
203 
204 &hdmi {
205         status = "okay";
206         hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
207         pinctrl-names = "default";
208         pinctrl-0 = <&hdmi_hpd_irq>;
209         ddc = <&i2c_2>;
210 
211         hdmi-en-supply = <&tps65090_fet7>;
212         vdd-supply = <&ldo8_reg>;
213         vdd_osc-supply = <&ldo10_reg>;
214         vdd_pll-supply = <&ldo8_reg>;
215 };
216 
217 &hsi2c_4 {
218         status = "okay";
219         clock-frequency = <400000>;
220 
221         max77802: pmic@9 {
222                 compatible = "maxim,max77802";
223                 interrupt-parent = <&gpx3>;
224                 interrupts = <1 IRQ_TYPE_NONE>;
225                 pinctrl-names = "default";
226                 pinctrl-0 = <&max77802_irq>, <&pmic_selb>,
227                             <&pmic_dvs_1>, <&pmic_dvs_2>;
228                 wakeup-source;
229                 reg = <0x9>;
230                 #clock-cells = <1>;
231 
232                 inb1-supply = <&tps65090_dcdc2>;
233                 inb2-supply = <&tps65090_dcdc1>;
234                 inb3-supply = <&tps65090_dcdc2>;
235                 inb4-supply = <&tps65090_dcdc2>;
236                 inb5-supply = <&tps65090_dcdc1>;
237                 inb6-supply = <&tps65090_dcdc2>;
238                 inb7-supply = <&tps65090_dcdc1>;
239                 inb8-supply = <&tps65090_dcdc1>;
240                 inb9-supply = <&tps65090_dcdc1>;
241                 inb10-supply = <&tps65090_dcdc1>;
242 
243                 inl1-supply = <&buck5_reg>;
244                 inl2-supply = <&buck7_reg>;
245                 inl3-supply = <&buck9_reg>;
246                 inl4-supply = <&buck9_reg>;
247                 inl5-supply = <&buck9_reg>;
248                 inl6-supply = <&tps65090_dcdc2>;
249                 inl7-supply = <&buck9_reg>;
250                 inl9-supply = <&tps65090_dcdc2>;
251                 inl10-supply = <&buck7_reg>;
252 
253                 regulators {
254                         buck1_reg: BUCK1 {
255                                 regulator-name = "vdd_mif";
256                                 regulator-min-microvolt = <800000>;
257                                 regulator-max-microvolt = <1300000>;
258                                 regulator-always-on;
259                                 regulator-boot-on;
260                                 regulator-ramp-delay = <12500>;
261                                 regulator-state-mem {
262                                         regulator-off-in-suspend;
263                                 };
264                         };
265 
266                         buck2_reg: BUCK2 {
267                                 regulator-name = "vdd_arm";
268                                 regulator-min-microvolt = <800000>;
269                                 regulator-max-microvolt = <1500000>;
270                                 regulator-always-on;
271                                 regulator-boot-on;
272                                 regulator-ramp-delay = <12500>;
273                                 regulator-coupled-with = <&buck3_reg>;
274                                 regulator-coupled-max-spread = <300000>;
275                                 regulator-state-mem {
276                                         regulator-off-in-suspend;
277                                 };
278                         };
279 
280                         buck3_reg: BUCK3 {
281                                 regulator-name = "vdd_int";
282                                 regulator-min-microvolt = <800000>;
283                                 regulator-max-microvolt = <1400000>;
284                                 regulator-always-on;
285                                 regulator-boot-on;
286                                 regulator-ramp-delay = <12500>;
287                                 regulator-coupled-with = <&buck2_reg>;
288                                 regulator-coupled-max-spread = <300000>;
289                                 regulator-state-mem {
290                                         regulator-off-in-suspend;
291                                 };
292                         };
293 
294                         buck4_reg: BUCK4 {
295                                 regulator-name = "vdd_g3d";
296                                 regulator-min-microvolt = <700000>;
297                                 regulator-max-microvolt = <1400000>;
298                                 regulator-always-on;
299                                 regulator-boot-on;
300                                 regulator-ramp-delay = <12500>;
301                                 regulator-state-mem {
302                                         regulator-off-in-suspend;
303                                 };
304                         };
305 
306                         buck5_reg: BUCK5 {
307                                 regulator-name = "vdd_1v2";
308                                 regulator-min-microvolt = <1200000>;
309                                 regulator-max-microvolt = <1200000>;
310                                 regulator-boot-on;
311                                 regulator-state-mem {
312                                         regulator-off-in-suspend;
313                                 };
314                         };
315 
316                         buck6_reg: BUCK6 {
317                                 regulator-name = "vdd_kfc";
318                                 regulator-min-microvolt = <800000>;
319                                 regulator-max-microvolt = <1500000>;
320                                 regulator-always-on;
321                                 regulator-boot-on;
322                                 regulator-ramp-delay = <12500>;
323                                 regulator-state-mem {
324                                         regulator-off-in-suspend;
325                                 };
326                         };
327 
328                         buck7_reg: BUCK7 {
329                                 regulator-name = "vdd_1v35";
330                                 regulator-min-microvolt = <1350000>;
331                                 regulator-max-microvolt = <1350000>;
332                                 regulator-always-on;
333                                 regulator-boot-on;
334                                 regulator-state-mem {
335                                         regulator-on-in-suspend;
336                                 };
337                         };
338 
339                         buck8_reg: BUCK8 {
340                                 regulator-name = "vdd_emmc";
341                                 regulator-min-microvolt = <2850000>;
342                                 regulator-max-microvolt = <2850000>;
343                                 regulator-always-on;
344                                 regulator-boot-on;
345                                 regulator-state-mem {
346                                         regulator-off-in-suspend;
347                                 };
348                         };
349 
350                         buck9_reg: BUCK9 {
351                                 regulator-name = "vdd_2v";
352                                 regulator-min-microvolt = <2000000>;
353                                 regulator-max-microvolt = <2000000>;
354                                 regulator-always-on;
355                                 regulator-boot-on;
356                                 regulator-state-mem {
357                                         regulator-on-in-suspend;
358                                 };
359                         };
360 
361                         buck10_reg: BUCK10 {
362                                 regulator-name = "vdd_1v8";
363                                 regulator-min-microvolt = <1800000>;
364                                 regulator-max-microvolt = <1800000>;
365                                 regulator-always-on;
366                                 regulator-boot-on;
367                                 regulator-state-mem {
368                                         regulator-on-in-suspend;
369                                 };
370                         };
371 
372                         ldo1_reg: LDO1 {
373                                 regulator-name = "vdd_1v0";
374                                 regulator-min-microvolt = <1000000>;
375                                 regulator-max-microvolt = <1000000>;
376                                 regulator-always-on;
377                                 regulator-state-mem {
378                                         regulator-on-in-suspend;
379                                         regulator-mode = <MAX77802_OPMODE_LP>;
380                                 };
381                         };
382 
383                         ldo2_reg: LDO2 {
384                                 regulator-name = "vdd_1v2_2";
385                                 regulator-min-microvolt = <1200000>;
386                                 regulator-max-microvolt = <1200000>;
387                         };
388 
389                         ldo3_reg: LDO3 {
390                                 regulator-name = "vdd_1v8_3";
391                                 regulator-min-microvolt = <1800000>;
392                                 regulator-max-microvolt = <1800000>;
393                                 regulator-always-on;
394                                 regulator-state-mem {
395                                         regulator-on-in-suspend;
396                                         regulator-mode = <MAX77802_OPMODE_LP>;
397                                 };
398                         };
399 
400                         vqmmc_sdcard: ldo4_reg: LDO4 {
401                                 regulator-name = "vdd_sd";
402                                 regulator-min-microvolt = <1800000>;
403                                 regulator-max-microvolt = <2800000>;
404                                 regulator-always-on;
405                                 regulator-state-mem {
406                                         regulator-off-in-suspend;
407                                 };
408                         };
409 
410                         ldo5_reg: LDO5 {
411                                 regulator-name = "vdd_1v8_5";
412                                 regulator-min-microvolt = <1800000>;
413                                 regulator-max-microvolt = <1800000>;
414                                 regulator-always-on;
415                                 regulator-state-mem {
416                                         regulator-off-in-suspend;
417                                 };
418                         };
419 
420                         ldo6_reg: LDO6 {
421                                 regulator-name = "vdd_1v8_6";
422                                 regulator-min-microvolt = <1800000>;
423                                 regulator-max-microvolt = <1800000>;
424                                 regulator-always-on;
425                                 regulator-state-mem {
426                                         regulator-off-in-suspend;
427                                 };
428                         };
429 
430                         ldo7_reg: LDO7 {
431                                 regulator-name = "vdd_1v8_7";
432                                 regulator-min-microvolt = <1800000>;
433                                 regulator-max-microvolt = <1800000>;
434                         };
435 
436                         ldo8_reg: LDO8 {
437                                 regulator-name = "vdd_ldo8";
438                                 regulator-min-microvolt = <1000000>;
439                                 regulator-max-microvolt = <1000000>;
440                                 regulator-always-on;
441                                 regulator-state-mem {
442                                         regulator-off-in-suspend;
443                                 };
444                         };
445 
446                         ldo9_reg: LDO9 {
447                                 regulator-name = "vdd_ldo9";
448                                 regulator-min-microvolt = <1800000>;
449                                 regulator-max-microvolt = <1800000>;
450                                 regulator-state-mem {
451                                         regulator-on-in-suspend;
452                                         regulator-mode = <MAX77802_OPMODE_LP>;
453                                 };
454                         };
455 
456                         ldo10_reg: LDO10 {
457                                 regulator-name = "vdd_ldo10";
458                                 regulator-min-microvolt = <1800000>;
459                                 regulator-max-microvolt = <1800000>;
460                                 regulator-always-on;
461                                 regulator-state-mem {
462                                         regulator-off-in-suspend;
463                                 };
464                         };
465 
466                         ldo11_reg: LDO11 {
467                                 regulator-name = "vdd_ldo11";
468                                 regulator-min-microvolt = <1800000>;
469                                 regulator-max-microvolt = <1800000>;
470                                 regulator-always-on;
471                                 regulator-state-mem {
472                                         regulator-on-in-suspend;
473                                         regulator-mode = <MAX77802_OPMODE_LP>;
474                                 };
475                         };
476 
477                         ldo12_reg: LDO12 {
478                                 regulator-name = "vdd_ldo12";
479                                 regulator-min-microvolt = <3000000>;
480                                 regulator-max-microvolt = <3000000>;
481                                 regulator-always-on;
482                                 regulator-state-mem {
483                                         regulator-off-in-suspend;
484                                 };
485                         };
486 
487                         ldo13_reg: LDO13 {
488                                 regulator-name = "vdd_ldo13";
489                                 regulator-min-microvolt = <1800000>;
490                                 regulator-max-microvolt = <1800000>;
491                                 regulator-always-on;
492                                 regulator-state-mem {
493                                         regulator-on-in-suspend;
494                                         regulator-mode = <MAX77802_OPMODE_LP>;
495                                 };
496                         };
497 
498                         ldo14_reg: LDO14 {
499                                 regulator-name = "vdd_ldo14";
500                                 regulator-min-microvolt = <1800000>;
501                                 regulator-max-microvolt = <1800000>;
502                                 regulator-always-on;
503                                 regulator-state-mem {
504                                         regulator-off-in-suspend;
505                                 };
506                         };
507 
508                         ldo15_reg: LDO15 {
509                                 regulator-name = "vdd_ldo15";
510                                 regulator-min-microvolt = <1000000>;
511                                 regulator-max-microvolt = <1000000>;
512                                 regulator-always-on;
513                                 regulator-state-mem {
514                                         regulator-off-in-suspend;
515                                 };
516                         };
517 
518                         ldo17_reg: LDO17 {
519                                 regulator-name = "vdd_g3ds";
520                                 regulator-min-microvolt = <900000>;
521                                 regulator-max-microvolt = <1400000>;
522                                 regulator-always-on;
523                                 regulator-state-mem {
524                                         regulator-off-in-suspend;
525                                 };
526                         };
527 
528                         ldo18_reg: LDO18 {
529                                 regulator-name = "ldo_18";
530                                 regulator-min-microvolt = <1800000>;
531                                 regulator-max-microvolt = <1800000>;
532                         };
533 
534                         ldo19_reg: LDO19 {
535                                 regulator-name = "ldo_19";
536                                 regulator-min-microvolt = <1800000>;
537                                 regulator-max-microvolt = <1800000>;
538                         };
539 
540                         ldo20_reg: LDO20 {
541                                 regulator-name = "ldo_20";
542                                 regulator-min-microvolt = <1800000>;
543                                 regulator-max-microvolt = <1800000>;
544                                 regulator-always-on;
545                         };
546 
547                         ldo21_reg: LDO21 {
548                                 regulator-name = "ldo_21";
549                                 regulator-min-microvolt = <2800000>;
550                                 regulator-max-microvolt = <2800000>;
551                         };
552 
553                         ldo23_reg: LDO23 {
554                                 regulator-name = "ldo_23";
555                                 regulator-min-microvolt = <3300000>;
556                                 regulator-max-microvolt = <3300000>;
557                         };
558                         ldo24_reg: LDO24 {
559                                 regulator-name = "ldo_24";
560                                 regulator-min-microvolt = <2800000>;
561                                 regulator-max-microvolt = <2800000>;
562                         };
563 
564                         ldo25_reg: LDO25 {
565                                 regulator-name = "ldo_25";
566                                 regulator-min-microvolt = <3300000>;
567                                 regulator-max-microvolt = <3300000>;
568                         };
569 
570                         ldo26_reg: LDO26 {
571                                 regulator-name = "ldo_26";
572                                 regulator-min-microvolt = <1200000>;
573                                 regulator-max-microvolt = <1200000>;
574                         };
575 
576                         ldo27_reg: LDO27 {
577                                 regulator-name = "ldo_27";
578                                 regulator-min-microvolt = <1200000>;
579                                 regulator-max-microvolt = <1200000>;
580                         };
581 
582                         ldo28_reg: LDO28 {
583                                 regulator-name = "ldo_28";
584                                 regulator-min-microvolt = <1800000>;
585                                 regulator-max-microvolt = <1800000>;
586                         };
587 
588                         ldo29_reg: LDO29 {
589                                 regulator-name = "ldo_29";
590                                 regulator-min-microvolt = <1800000>;
591                                 regulator-max-microvolt = <1800000>;
592                         };
593 
594                         ldo30_reg: LDO30 {
595                                 regulator-name = "vdd_mifs";
596                                 regulator-min-microvolt = <1000000>;
597                                 regulator-max-microvolt = <1000000>;
598                                 regulator-always-on;
599                                 regulator-state-mem {
600                                         regulator-off-in-suspend;
601                                 };
602                         };
603 
604                         ldo32_reg: LDO32 {
605                                 regulator-name = "ldo_32";
606                                 regulator-min-microvolt = <3000000>;
607                                 regulator-max-microvolt = <3000000>;
608                         };
609 
610                         ldo33_reg: LDO33 {
611                                 regulator-name = "ldo_33";
612                                 regulator-min-microvolt = <2800000>;
613                                 regulator-max-microvolt = <2800000>;
614                         };
615 
616                         ldo34_reg: LDO34 {
617                                 regulator-name = "ldo_34";
618                                 regulator-min-microvolt = <3000000>;
619                                 regulator-max-microvolt = <3000000>;
620                         };
621 
622                         ldo35_reg: LDO35 {
623                                 regulator-name = "ldo_35";
624                                 regulator-min-microvolt = <1200000>;
625                                 regulator-max-microvolt = <1200000>;
626                         };
627                 };
628         };
629 };
630 
631 &hsi2c_7 {
632         status = "okay";
633         clock-frequency = <400000>;
634 
635         max98091: codec@10 {
636                 compatible = "maxim,max98091";
637                 reg = <0x10>;
638                 interrupts = <2 IRQ_TYPE_NONE>;
639                 interrupt-parent = <&gpx0>;
640                 pinctrl-names = "default";
641                 pinctrl-0 = <&max98091_irq>;
642                 clocks = <&pmu_system_controller 0>;
643                 clock-names = "mclk";
644                 #sound-dai-cells = <0>;
645         };
646 
647         light-sensor@44 {
648                 compatible = "isil,isl29018";
649                 reg = <0x44>;
650                 vcc-supply = <&tps65090_fet5>;
651         };
652 };
653 
654 &hsi2c_8 {
655         status = "okay";
656         clock-frequency = <333000>;
657         /* Atmel mXT540S */
658         trackpad@4b {
659                 compatible = "atmel,maxtouch";
660                 reg = <0x4b>;
661                 interrupt-parent = <&gpx1>;
662                 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
663                 wakeup-source;
664                 pinctrl-names = "default";
665                 pinctrl-0 = <&trackpad_irq>;
666                 linux,gpio-keymap = <KEY_RESERVED
667                                      KEY_RESERVED
668                                      KEY_RESERVED       /* GPIO 0 */
669                                      KEY_RESERVED       /* GPIO 1 */
670                                      BTN_LEFT           /* GPIO 2 */
671                                      KEY_RESERVED>;     /* GPIO 3 */
672         };
673 };
674 
675 &hsi2c_9 {
676         status = "okay";
677         clock-frequency = <400000>;
678 
679         tpm@20 {
680                 compatible = "infineon,slb9645tt";
681                 reg = <0x20>;
682 
683                 /* Unused irq; but still need to configure the pins */
684                 pinctrl-names = "default";
685                 pinctrl-0 = <&tpm_irq>;
686         };
687 };
688 
689 &i2c_2 {
690         status = "okay";
691         samsung,i2c-sda-delay = <100>;
692         samsung,i2c-max-bus-freq = <66000>;
693         samsung,i2c-slave-addr = <0x50>;
694 };
695 
696 &i2s0 {
697         assigned-clocks = <&i2s0 CLK_I2S_RCLK_SRC>;
698         assigned-clock-parents = <&clock_audss EXYNOS_I2S_BUS>;
699         status = "okay";
700 };
701 
702 &mixer {
703         status = "okay";
704 };
705 
706 /* eMMC flash */
707 &mmc_0 {
708         status = "okay";
709         mmc-ddr-1_8v;
710         mmc-hs200-1_8v;
711         mmc-hs400-1_8v;
712         cap-mmc-highspeed;
713         non-removable;
714         clock-frequency = <800000000>;
715         samsung,dw-mshc-ciu-div = <3>;
716         samsung,dw-mshc-sdr-timing = <0 4>;
717         samsung,dw-mshc-ddr-timing = <0 2>;
718         samsung,dw-mshc-hs400-timing = <0 2>;
719         samsung,read-strobe-delay = <90>;
720         pinctrl-names = "default";
721         pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_rclk>;
722         bus-width = <8>;
723 };
724 
725 /* WiFi SDIO module */
726 &mmc_1 {
727         status = "okay";
728         non-removable;
729         cap-sdio-irq;
730         keep-power-in-suspend;
731         clock-frequency = <400000000>;
732         samsung,dw-mshc-ciu-div = <1>;
733         samsung,dw-mshc-sdr-timing = <0 1>;
734         samsung,dw-mshc-ddr-timing = <0 2>;
735         pinctrl-names = "default";
736         pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <&sd1_int>, <&sd1_bus1>,
737                     <&sd1_bus4>, <&sd1_bus8>, <&wifi_en>;
738         bus-width = <4>;
739         cap-sd-highspeed;
740         mmc-pwrseq = <&mmc1_pwrseq>;
741         vqmmc-supply = <&buck10_reg>;
742 };
743 
744 /* uSD card */
745 &mmc_2 {
746         status = "okay";
747         cap-sd-highspeed;
748         card-detect-delay = <200>;
749         clock-frequency = <400000000>;
750         samsung,dw-mshc-ciu-div = <3>;
751         samsung,dw-mshc-sdr-timing = <2 3>;
752         samsung,dw-mshc-ddr-timing = <1 2>;
753         pinctrl-names = "default";
754         pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
755         bus-width = <4>;
756 };
757 
758 
759 &pinctrl_0 {
760         pinctrl-names = "default";
761         pinctrl-0 = <&mask_tpm_reset>;
762 
763         wifi_en: wifi-en-pins {
764                 samsung,pins = "gpx0-0";
765                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
766                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
767                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
768         };
769 
770         max98091_irq: max98091-irq-pins {
771                 samsung,pins = "gpx0-2";
772                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
773                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
774                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
775         };
776 
777         /* We need GPX0_6 to be low at sleep time; just keep it low always */
778         mask_tpm_reset: mask-tpm-reset-pins {
779                 samsung,pins = "gpx0-6";
780                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
781                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
782                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
783                 samsung,pin-val = <0>;
784         };
785 
786         tpm_irq: tpm-irq-pins {
787                 samsung,pins = "gpx1-0";
788                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
789                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
790                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
791         };
792 
793         trackpad_irq: trackpad-irq-pins {
794                 samsung,pins = "gpx1-1";
795                 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
796                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
797                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
798         };
799 
800         power_key_irq: power-key-irq-pins {
801                 samsung,pins = "gpx1-2";
802                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
803                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
804                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
805         };
806 
807         ec_irq: ec-irq-pins {
808                 samsung,pins = "gpx1-5";
809                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
810                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
811                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
812         };
813 
814         tps65090_irq: tps65090-irq-pins {
815                 samsung,pins = "gpx2-5";
816                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
817                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
818                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
819         };
820 
821         dp_hpd_gpio: dp-hpd-gpio-pins {
822                 samsung,pins = "gpx2-6";
823                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
824                 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
825                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
826         };
827 
828         max77802_irq: max77802-irq-pins {
829                 samsung,pins = "gpx3-1";
830                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
831                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
832                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
833         };
834 
835         lid_irq: lid-irq-pins {
836                 samsung,pins = "gpx3-4";
837                 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
838                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
839                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
840         };
841 
842         hdmi_hpd_irq: hdmi-hpd-irq-pins {
843                 samsung,pins = "gpx3-7";
844                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
845                 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
846                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
847         };
848 
849         pmic_dvs_1: pmic-dvs-1-pins {
850                 samsung,pins = "gpy7-6";
851                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
852                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
853                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
854         };
855 };
856 
857 /* pinctrl_1 */
858 /* Adjust WiFi drive strengths lower for EMI */
859 &sd1_bus1 {
860         samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
861 };
862 
863 &sd1_bus4 {
864         samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
865 };
866 
867 &sd1_bus8 {
868         samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
869 };
870 
871 &sd1_clk {
872         samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
873 };
874 
875 &sd1_cmd {
876         samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
877 };
878 
879 &pinctrl_2 {
880         pmic_dvs_2: pmic-dvs-2-pins {
881                 samsung,pins = "gpj4-2", "gpj4-3";
882                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
883                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
884                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
885         };
886 };
887 
888 /* pinctrl_3*/
889 /* Drive SPI lines at x2 for better integrity */
890 &spi2_bus {
891         samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
892 };
893 
894 &pinctrl_3 {
895         /* Drive SPI chip select at x2 for better integrity */
896         ec_spi_cs: ec-spi-cs-pins {
897                 samsung,pins = "gpb1-2";
898                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
899                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
900                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
901         };
902 
903         usb300_vbus_en: usb300-vbus-en-pins {
904                 samsung,pins = "gph0-0";
905                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
906                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
907                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
908         };
909 
910         usb301_vbus_en: usb301-vbus-en-pins {
911                 samsung,pins = "gph0-1";
912                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
913                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
914                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
915         };
916 
917         pmic_selb: pmic-selb-pins {
918                 samsung,pins = "gph0-2", "gph0-3", "gph0-4", "gph0-5",
919                                "gph0-6";
920                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
921                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
922                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
923         };
924 };
925 
926 &pmu_system_controller {
927         assigned-clocks = <&pmu_system_controller 0>;
928         assigned-clock-parents = <&clock CLK_FIN_PLL>;
929 };
930 
931 &rtc {
932         status = "okay";
933         clocks = <&clock CLK_RTC>, <&max77802 MAX77802_CLK_32K_AP>;
934         clock-names = "rtc", "rtc_src";
935 };
936 
937 &spi_2 {
938         status = "okay";
939         num-cs = <1>;
940         samsung,spi-src-clk = <0>;
941         cs-gpios = <&gpb1 2 GPIO_ACTIVE_HIGH>;
942 
943         cros_ec: cros-ec@0 {
944                 compatible = "google,cros-ec-spi";
945                 interrupt-parent = <&gpx1>;
946                 interrupts = <5 IRQ_TYPE_NONE>;
947                 pinctrl-names = "default";
948                 pinctrl-0 = <&ec_spi_cs &ec_irq>;
949                 reg = <0>;
950                 spi-max-frequency = <3125000>;
951                 google,has-vbc-nvram;
952                 wakeup-source;
953 
954                 controller-data {
955                         samsung,spi-feedback-delay = <1>;
956                 };
957 
958                 i2c_tunnel: i2c-tunnel {
959                         compatible = "google,cros-ec-i2c-tunnel";
960                         #address-cells = <1>;
961                         #size-cells = <0>;
962                         google,remote-bus = <0>;
963 
964                         battery: sbs-battery@b {
965                                 compatible = "sbs,sbs-battery";
966                                 reg = <0xb>;
967                                 sbs,poll-retry-count = <1>;
968                                 sbs,i2c-retry-count = <2>;
969                         };
970 
971                         power-regulator@48 {
972                                 compatible = "ti,tps65090";
973                                 reg = <0x48>;
974 
975                                 /*
976                                  * Config irq to disable internal pulls
977                                  * even though we run in polling mode.
978                                  */
979                                 pinctrl-names = "default";
980                                 pinctrl-0 = <&tps65090_irq>;
981 
982                                 vsys1-supply = <&vbat>;
983                                 vsys2-supply = <&vbat>;
984                                 vsys3-supply = <&vbat>;
985                                 infet1-supply = <&vbat>;
986                                 infet2-supply = <&tps65090_dcdc1>;
987                                 infet3-supply = <&tps65090_dcdc2>;
988                                 infet4-supply = <&tps65090_dcdc2>;
989                                 infet5-supply = <&tps65090_dcdc2>;
990                                 infet6-supply = <&tps65090_dcdc2>;
991                                 infet7-supply = <&tps65090_dcdc1>;
992                                 vsys-l1-supply = <&vbat>;
993                                 vsys-l2-supply = <&vbat>;
994 
995                                 regulators {
996                                         tps65090_dcdc1: dcdc1 {
997                                                 ti,enable-ext-control;
998                                         };
999                                         tps65090_dcdc2: dcdc2 {
1000                                                 ti,enable-ext-control;
1001                                         };
1002                                         tps65090_dcdc3: dcdc3 {
1003                                                 ti,enable-ext-control;
1004                                         };
1005                                         tps65090_fet1: fet1 {
1006                                                 regulator-name = "vcd_led";
1007                                         };
1008                                         tps65090_fet2: fet2 {
1009                                                 regulator-name = "video_mid";
1010                                                 regulator-always-on;
1011                                         };
1012                                         tps65090_fet3: fet3 {
1013                                                 regulator-name = "wwan_r";
1014                                                 regulator-always-on;
1015                                         };
1016                                         tps65090_fet4: fet4 {
1017                                                 regulator-name = "sdcard";
1018                                                 regulator-always-on;
1019                                         };
1020                                         tps65090_fet5: fet5 {
1021                                                 regulator-name = "camout";
1022                                                 regulator-always-on;
1023                                         };
1024                                         tps65090_fet6: fet6 {
1025                                                 regulator-name = "lcd_vdd";
1026                                         };
1027                                         tps65090_fet7: fet7 {
1028                                                 regulator-name = "video_mid_1a";
1029                                                 regulator-always-on;
1030                                         };
1031                                         tps65090_ldo1: ldo1 {
1032                                         };
1033                                         tps65090_ldo2: ldo2 {
1034                                         };
1035                                 };
1036 
1037                                 charger {
1038                                         compatible = "ti,tps65090-charger";
1039                                 };
1040                         };
1041                 };
1042         };
1043 };
1044 
1045 &serial_3 {
1046         status = "okay";
1047 };
1048 
1049 &timer {
1050         arm,cpu-registers-not-fw-configured;
1051 };
1052 
1053 &tmu_cpu0 {
1054         vtmu-supply = <&ldo10_reg>;
1055 };
1056 
1057 &tmu_cpu1 {
1058         vtmu-supply = <&ldo10_reg>;
1059 };
1060 
1061 &tmu_cpu2 {
1062         vtmu-supply = <&ldo10_reg>;
1063 };
1064 
1065 &tmu_cpu3 {
1066         vtmu-supply = <&ldo10_reg>;
1067 };
1068 
1069 &tmu_gpu {
1070         vtmu-supply = <&ldo10_reg>;
1071 };
1072 
1073 &usbdrd3_0 {
1074         vdd10-supply = <&ldo15_reg>;
1075         vdd33-supply = <&ldo12_reg>;
1076 };
1077 
1078 &usbdrd3_1 {
1079         vdd10-supply = <&ldo15_reg>;
1080         vdd33-supply = <&ldo12_reg>;
1081 };
1082 
1083 &usbdrd_dwc3_0 {
1084         dr_mode = "host";
1085 };
1086 
1087 &usbdrd_dwc3_1 {
1088         dr_mode = "host";
1089 };
1090 
1091 &usbdrd_phy0 {
1092         vbus-supply = <&usb300_vbus_reg>;
1093 };
1094 
1095 &usbdrd_phy1 {
1096         vbus-supply = <&usb301_vbus_reg>;
1097 };
1098 
1099 /*
1100  * Use longest HW watchdog in SoC (32 seconds) since the hardware
1101  * watchdog provides no debugging information (compared to soft/hard
1102  * lockup detectors) and so should be last resort.
1103  */
1104 &watchdog {
1105         timeout-sec = <32>;
1106 };
1107 
1108 #include "../cros-ec-keyboard.dtsi"
1109 #include "../cros-adc-thermistors.dtsi"

~ [ 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