hc
2024-05-10 37f49e37ab4cb5d0bc4c60eb5c6d4dd57db767bb
kernel/arch/arm/boot/dts/s5pv210-aries.dtsi
....@@ -11,9 +11,15 @@
1111 / {
1212 compatible = "samsung,aries", "samsung,s5pv210";
1313
14
- aliases {
14
+ aliases: aliases {
15
+ i2c4 = &i2c_sound;
16
+ i2c5 = &i2c_accel;
1517 i2c6 = &i2c_pmic;
18
+ i2c7 = &i2c_musb;
1619 i2c9 = &i2c_fuel;
20
+ i2c10 = &i2c_touchkey;
21
+ i2c11 = &i2c_prox;
22
+ i2c12 = &i2c_magnetometer;
1723 };
1824
1925 memory@30000000 {
....@@ -21,6 +27,70 @@
2127 reg = <0x30000000 0x05000000
2228 0x40000000 0x10000000
2329 0x50000000 0x08000000>;
30
+ };
31
+
32
+ reserved-memory {
33
+ #address-cells = <1>;
34
+ #size-cells = <1>;
35
+ ranges;
36
+
37
+ mfc_left: region@43000000 {
38
+ compatible = "shared-dma-pool";
39
+ no-map;
40
+ reg = <0x43000000 0x2000000>;
41
+ };
42
+
43
+ mfc_right: region@51000000 {
44
+ compatible = "shared-dma-pool";
45
+ no-map;
46
+ reg = <0x51000000 0x2000000>;
47
+ };
48
+ };
49
+
50
+ pmic_ap_clk: clock-0 {
51
+ /* Workaround for missing clock on PMIC */
52
+ compatible = "fixed-clock";
53
+ #clock-cells = <0>;
54
+ clock-frequency = <32768>;
55
+ };
56
+
57
+ bt_codec: bt-sco {
58
+ compatible = "linux,bt-sco";
59
+ #sound-dai-cells = <0>;
60
+ };
61
+
62
+ vibrator_pwr: regulator-fixed-0 {
63
+ compatible = "regulator-fixed";
64
+ regulator-name = "vibrator-en";
65
+ enable-active-high;
66
+ gpio = <&gpj1 1 GPIO_ACTIVE_HIGH>;
67
+
68
+ pinctrl-names = "default";
69
+ pinctrl-0 = <&vibrator_ena>;
70
+ };
71
+
72
+ touchkey_vdd: regulator-fixed-1 {
73
+ compatible = "regulator-fixed";
74
+ regulator-name = "VTOUCH_3.3V";
75
+ regulator-min-microvolt = <3300000>;
76
+ regulator-max-microvolt = <3300000>;
77
+ enable-active-high;
78
+ gpio = <&gpj3 2 GPIO_ACTIVE_HIGH>;
79
+
80
+ pinctrl-names = "default";
81
+ pinctrl-0 = <&touchkey_vdd_ena>;
82
+ };
83
+
84
+ gp2a_vled: regulator-fixed-2 {
85
+ compatible = "regulator-fixed";
86
+ regulator-name = "VLED";
87
+ enable-active-high;
88
+ gpio = <&gpj1 4 GPIO_ACTIVE_HIGH>;
89
+ regulator-min-microvolt = <2800000>;
90
+ regulator-max-microvolt = <2800000>;
91
+
92
+ pinctrl-names = "default";
93
+ pinctrl-0 = <&gp2a_power>;
2494 };
2595
2696 wifi_pwrseq: wifi-pwrseq {
....@@ -32,13 +102,84 @@
32102 power-off-delay-us = <500>;
33103 };
34104
35
- i2c_pmic: i2c-gpio-0 {
105
+ i2c_sound: i2c-gpio-0 {
106
+ compatible = "i2c-gpio";
107
+ sda-gpios = <&mp05 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
108
+ scl-gpios = <&mp05 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
109
+ i2c-gpio,delay-us = <2>;
110
+ #address-cells = <1>;
111
+ #size-cells = <0>;
112
+
113
+ pinctrl-names = "default";
114
+ pinctrl-0 = <&sound_i2c_pins>;
115
+
116
+ wm8994: audio-codec@1a {
117
+ compatible = "wlf,wm8994";
118
+ reg = <0x1a>;
119
+
120
+ #sound-dai-cells = <0>;
121
+
122
+ gpio-controller;
123
+ #gpio-cells = <2>;
124
+
125
+ clocks = <&clocks MOUT_CLKOUT>;
126
+ clock-names = "MCLK1";
127
+
128
+ AVDD2-supply = <&buck3_reg>;
129
+ DBVDD-supply = <&buck3_reg>;
130
+ CPVDD-supply = <&buck3_reg>;
131
+ SPKVDD1-supply = <&buck3_reg>;
132
+ SPKVDD2-supply = <&buck3_reg>;
133
+
134
+ wlf,gpio-cfg = <0xa101 0x8100 0x0100 0x0100 0x8100
135
+ 0xa101 0x0100 0x8100 0x0100 0x0100
136
+ 0x0100>;
137
+
138
+ wlf,ldo1ena = <&gpf3 4 GPIO_ACTIVE_HIGH>;
139
+ wlf,ldo2ena = <&gpf3 4 GPIO_ACTIVE_HIGH>;
140
+
141
+ wlf,lineout1-se;
142
+ wlf,lineout2-se;
143
+
144
+ assigned-clocks = <&clocks MOUT_CLKOUT>;
145
+ assigned-clock-rates = <0>;
146
+ assigned-clock-parents = <&xusbxti>;
147
+
148
+ pinctrl-names = "default";
149
+ pinctrl-0 = <&codec_ldo>;
150
+ };
151
+ };
152
+
153
+ i2c_accel: i2c-gpio-1 {
154
+ compatible = "i2c-gpio";
155
+ sda-gpios = <&gpj3 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
156
+ scl-gpios = <&gpj3 7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
157
+ i2c-gpio,delay-us = <2>;
158
+ #address-cells = <1>;
159
+ #size-cells = <0>;
160
+
161
+ pinctrl-names = "default";
162
+ pinctrl-0 = <&accel_i2c_pins>;
163
+
164
+ accelerometer@38 {
165
+ compatible = "bosch,bma023";
166
+ reg = <0x38>;
167
+
168
+ vdd-supply = <&ldo9_reg>;
169
+ vddio-supply = <&ldo9_reg>;
170
+ };
171
+ };
172
+
173
+ i2c_pmic: i2c-gpio-2 {
36174 compatible = "i2c-gpio";
37175 sda-gpios = <&gpj4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
38176 scl-gpios = <&gpj4 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
39177 i2c-gpio,delay-us = <2>;
40178 #address-cells = <1>;
41179 #size-cells = <0>;
180
+
181
+ pinctrl-names = "default";
182
+ pinctrl-0 = <&pmic_i2c_pins>;
42183
43184 pmic@66 {
44185 compatible = "maxim,max8998";
....@@ -55,6 +196,9 @@
55196 max8998,pmic-buck2-default-dvs-idx = <0>;
56197 max8998,pmic-buck2-dvs-gpio = <&gph0 5 GPIO_ACTIVE_HIGH>;
57198 max8998,pmic-buck2-dvs-voltage = <1100000>, <1000000>;
199
+
200
+ pinctrl-names = "default";
201
+ pinctrl-0 = <&pmic_dvs_pins &pmic_irq>;
58202
59203 regulators {
60204 ldo2_reg: LDO2 {
....@@ -82,7 +226,6 @@
82226 regulator-name = "VADC_3.3V";
83227 regulator-min-microvolt = <3300000>;
84228 regulator-max-microvolt = <3300000>;
85
- regulator-always-on;
86229
87230 regulator-state-mem {
88231 regulator-off-in-suspend;
....@@ -109,8 +252,6 @@
109252 regulator-name = "VLCD_1.8V";
110253 regulator-min-microvolt = <1800000>;
111254 regulator-max-microvolt = <1800000>;
112
- /* Till we get panel driver */
113
- regulator-always-on;
114255
115256 regulator-state-mem {
116257 regulator-off-in-suspend;
....@@ -209,8 +350,6 @@
209350 regulator-name = "VCC_3.0V_LCD";
210351 regulator-min-microvolt = <3000000>;
211352 regulator-max-microvolt = <3000000>;
212
- /* Till we get panel driver */
213
- regulator-always-on;
214353
215354 regulator-state-mem {
216355 regulator-off-in-suspend;
....@@ -281,7 +420,29 @@
281420 };
282421 };
283422
284
- i2c_fuel: i2c-gpio-1 {
423
+ i2c_musb: i2c-gpio-3 {
424
+ compatible = "i2c-gpio";
425
+ sda-gpios = <&gpj3 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
426
+ scl-gpios = <&gpj3 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
427
+ i2c-gpio,delay-us = <2>;
428
+ #address-cells = <1>;
429
+ #size-cells = <0>;
430
+
431
+ pinctrl-names = "default";
432
+ pinctrl-0 = <&musb_i2c_pins>;
433
+
434
+ fsa9480: musb@25 {
435
+ compatible = "fcs,fsa9480";
436
+ reg = <0x25>;
437
+ interrupt-parent = <&gph2>;
438
+ interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
439
+
440
+ pinctrl-names = "default";
441
+ pinctrl-0 = <&musb_irq>;
442
+ };
443
+ };
444
+
445
+ i2c_fuel: i2c-gpio-4 {
285446 compatible = "i2c-gpio";
286447 sda-gpios = <&mp05 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
287448 scl-gpios = <&mp05 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
....@@ -289,12 +450,145 @@
289450 #address-cells = <1>;
290451 #size-cells = <0>;
291452
292
- fuelgauge@36 {
453
+ pinctrl-names = "default";
454
+ pinctrl-0 = <&fg_i2c_pins>;
455
+
456
+ fg: fuelgauge@36 {
293457 compatible = "maxim,max17040";
294
- interrupt-parent = <&vic0>;
295
- interrupts = <7>;
296458 reg = <0x36>;
297459 };
460
+ };
461
+
462
+ i2c_touchkey: i2c-gpio-5 {
463
+ compatible = "i2c-gpio";
464
+ sda-gpios = <&gpj3 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
465
+ scl-gpios = <&gpj3 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
466
+ i2c-gpio,delay-us = <2>;
467
+ #address-cells = <1>;
468
+ #size-cells = <0>;
469
+
470
+ pinctrl-names = "default";
471
+ pinctrl-0 = <&touchkey_i2c_pins>;
472
+
473
+ touchkey@20 {
474
+ compatible = "cypress,aries-touchkey";
475
+ reg = <0x20>;
476
+ vdd-supply = <&touchkey_vdd>;
477
+ vcc-supply = <&buck3_reg>;
478
+ linux,keycodes = <KEY_MENU KEY_BACK
479
+ KEY_HOMEPAGE KEY_SEARCH>;
480
+ interrupt-parent = <&gpj4>;
481
+ interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
482
+
483
+ pinctrl-names = "default";
484
+ pinctrl-0 = <&touchkey_irq>;
485
+ };
486
+ };
487
+
488
+ i2c_prox: i2c-gpio-6 {
489
+ compatible = "i2c-gpio";
490
+ sda-gpios = <&gpg2 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
491
+ scl-gpios = <&gpg0 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
492
+ i2c-gpio,delay-us = <2>;
493
+ #address-cells = <1>;
494
+ #size-cells = <0>;
495
+
496
+ pinctrl-names = "default";
497
+ pinctrl-0 = <&prox_i2c_pins>;
498
+
499
+ light-sensor@44 {
500
+ compatible = "sharp,gp2ap002a00f";
501
+ reg = <0x44>;
502
+ interrupt-parent = <&gph0>;
503
+ interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
504
+ vdd-supply = <&gp2a_vled>;
505
+ vio-supply = <&gp2a_vled>;
506
+ io-channels = <&gp2a_shunt>;
507
+ io-channel-names = "alsout";
508
+ sharp,proximity-far-hysteresis = /bits/ 8 <0x40>;
509
+ sharp,proximity-close-hysteresis = /bits/ 8 <0x20>;
510
+
511
+ pinctrl-names = "default";
512
+ pinctrl-0 = <&gp2a_irq>;
513
+ };
514
+ };
515
+
516
+ i2c_magnetometer: i2c-gpio-7 {
517
+ compatible = "i2c-gpio";
518
+ sda-gpios = <&gpj0 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
519
+ scl-gpios = <&gpj0 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
520
+ i2c-gpio,delay-us = <2>;
521
+ #address-cells = <1>;
522
+ #size-cells = <0>;
523
+
524
+ pinctrl-names = "default";
525
+ pinctrl-0 = <&magnetometer_i2c_pins>;
526
+
527
+ status = "disabled";
528
+
529
+ /* Yamaha yas529 magnetometer, no mainline binding */
530
+ };
531
+
532
+ vibrator: pwm-vibrator {
533
+ compatible = "pwm-vibrator";
534
+ pwms = <&pwm 1 44642 0>;
535
+ pwm-names = "enable";
536
+ vcc-supply = <&vibrator_pwr>;
537
+ pinctrl-names = "default";
538
+ pinctrl-0 = <&pwm1_out>;
539
+ };
540
+
541
+ poweroff: syscon-poweroff {
542
+ compatible = "syscon-poweroff";
543
+ regmap = <&pmu_syscon>;
544
+ offset = <0x681c>; /* PS_HOLD_CONTROL */
545
+ value = <0x5200>;
546
+ };
547
+
548
+ spi_lcd: spi-2 {
549
+ compatible = "spi-gpio";
550
+ #address-cells = <1>;
551
+ #size-cells = <0>;
552
+
553
+ sck-gpios = <&mp04 1 GPIO_ACTIVE_HIGH>;
554
+ mosi-gpios = <&mp04 3 GPIO_ACTIVE_HIGH>;
555
+ cs-gpios = <&mp01 1 GPIO_ACTIVE_HIGH>;
556
+ num-chipselects = <1>;
557
+
558
+ pinctrl-names = "default";
559
+ pinctrl-0 = <&lcd_spi_pins>;
560
+
561
+ panel@0 {
562
+ compatible = "samsung,s6e63m0";
563
+ reg = <0>;
564
+ reset-gpios = <&mp05 5 GPIO_ACTIVE_LOW>;
565
+ vdd3-supply = <&ldo7_reg>;
566
+ vci-supply = <&ldo17_reg>;
567
+ spi-max-frequency = <1200000>;
568
+
569
+ pinctrl-names = "default";
570
+ pinctrl-0 = <&panel_rst>;
571
+
572
+ port {
573
+ lcd_ep: endpoint {
574
+ remote-endpoint = <&fimd_ep>;
575
+ };
576
+ };
577
+ };
578
+ };
579
+};
580
+
581
+&adc {
582
+ vdd-supply = <&ldo4_reg>;
583
+
584
+ status = "okay";
585
+
586
+ gp2a_shunt: current-sense-shunt {
587
+ compatible = "current-sense-shunt";
588
+ io-channels = <&adc 9>;
589
+ shunt-resistor-micro-ohms = <47000000>; /* 47 ohms */
590
+ #io-channel-cells = <0>;
591
+ io-channel-ranges;
298592 };
299593 };
300594
....@@ -306,18 +600,13 @@
306600 samsung,invert-vden;
307601 samsung,invert-vclk;
308602
309
- display-timings {
310
- timing-0 {
311
- /* 480x800@60Hz */
312
- clock-frequency = <25628040>;
313
- hactive = <480>;
314
- vactive = <800>;
315
- hfront-porch = <16>;
316
- hback-porch = <16>;
317
- hsync-len = <2>;
318
- vfront-porch = <28>;
319
- vback-porch = <1>;
320
- vsync-len = <2>;
603
+ #address-cells = <1>;
604
+ #size-cells = <0>;
605
+
606
+ port@3 {
607
+ reg = <3>;
608
+ fimd_ep: endpoint {
609
+ remote-endpoint = <&lcd_ep>;
321610 };
322611 };
323612 };
....@@ -329,12 +618,57 @@
329618 status = "okay";
330619 };
331620
621
+&i2c2 {
622
+ samsung,i2c-sda-delay = <100>;
623
+ samsung,i2c-max-bus-freq = <400000>;
624
+ samsung,i2c-slave-addr = <0x10>;
625
+ status = "okay";
626
+
627
+ touchscreen@4a {
628
+ compatible = "atmel,maxtouch";
629
+ reg = <0x4a>;
630
+ interrupt-parent = <&gpj0>;
631
+ interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
632
+ pinctrl-names = "default";
633
+ pinctrl-0 = <&ts_irq>;
634
+ reset-gpios = <&gpj1 3 GPIO_ACTIVE_LOW>;
635
+ };
636
+};
637
+
638
+&i2s0 {
639
+ dmas = <&pdma0 10>, <&pdma0 9>, <&pdma0 11>;
640
+ status = "okay";
641
+};
642
+
643
+&mfc {
644
+ memory-region = <&mfc_left>, <&mfc_right>;
645
+};
646
+
332647 &pinctrl0 {
648
+ bt_reset: bt-reset {
649
+ samsung,pins = "gpb-3";
650
+ samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
651
+ samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
652
+ samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
653
+ };
654
+
333655 wlan_bt_en: wlan-bt-en {
334656 samsung,pins = "gpb-5";
335657 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
336658 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
337659 samsung,pin-val = <1>;
660
+ };
661
+
662
+ codec_ldo: codec-ldo {
663
+ samsung,pins = "gpf3-4";
664
+ samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
665
+ samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
666
+ };
667
+
668
+ prox_i2c_pins: gp2a-i2c-pins {
669
+ samsung,pins = "gpg0-2", "gpg2-2";
670
+ samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
671
+ samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
338672 };
339673
340674 wlan_gpio_rst: wlan-gpio-rst {
....@@ -343,10 +677,52 @@
343677 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
344678 };
345679
680
+ bt_wake: bt-wake {
681
+ samsung,pins = "gpg3-4";
682
+ samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
683
+ samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
684
+ };
685
+
686
+ gp2a_irq: gp2a-irq {
687
+ samsung,pins = "gph0-2";
688
+ samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
689
+ samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>;
690
+ samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
691
+ };
692
+
693
+ pmic_dvs_pins: pmic-dvs-pins {
694
+ samsung,pins = "gph0-3", "gph0-4", "gph0-5";
695
+ samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
696
+ samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
697
+ samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
698
+ samsung,pin-val = <0>;
699
+ };
700
+
701
+ pmic_irq: pmic-irq {
702
+ samsung,pins = "gph0-7";
703
+ samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
704
+ samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
705
+ samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
706
+ };
707
+
346708 wifi_host_wake: wifi-host-wake {
347709 samsung,pins = "gph2-4";
348710 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
349711 samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>;
712
+ samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
713
+ };
714
+
715
+ bt_host_wake: bt-host-wake {
716
+ samsung,pins = "gph2-5";
717
+ samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
718
+ samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>;
719
+ samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
720
+ };
721
+
722
+ musb_irq: musq-irq {
723
+ samsung,pins = "gph2-7";
724
+ samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
725
+ samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
350726 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
351727 };
352728
....@@ -362,6 +738,102 @@
362738 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
363739 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
364740 };
741
+
742
+ magnetometer_i2c_pins: yas529-i2c-pins {
743
+ samsung,pins = "gpj0-0", "gpj0-1";
744
+ samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
745
+ samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
746
+ };
747
+
748
+ ts_irq: ts-irq {
749
+ samsung,pins = "gpj0-5";
750
+ samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
751
+ samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
752
+ samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
753
+ };
754
+
755
+ vibrator_ena: vibrator-ena {
756
+ samsung,pins = "gpj1-1";
757
+ samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
758
+ samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
759
+ };
760
+
761
+ gp2a_power: gp2a-power {
762
+ samsung,pins = "gpj1-4";
763
+ samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
764
+ samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
765
+ samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
766
+ };
767
+
768
+ touchkey_i2c_pins: touchkey-i2c-pins {
769
+ samsung,pins = "gpj3-0", "gpj3-1";
770
+ samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
771
+ samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
772
+ };
773
+
774
+ touchkey_vdd_ena: touchkey-vdd-ena {
775
+ samsung,pins = "gpj3-2";
776
+ samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
777
+ samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
778
+ };
779
+
780
+ musb_i2c_pins: musb-i2c-pins {
781
+ samsung,pins = "gpj3-4", "gpj3-5";
782
+ samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
783
+ samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
784
+ };
785
+
786
+ accel_i2c_pins: accel-i2c-pins {
787
+ samsung,pins = "gpj3-6", "gpj3-7";
788
+ samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
789
+ samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
790
+ };
791
+
792
+ pmic_i2c_pins: pmic-i2c-pins {
793
+ samsung,pins = "gpj4-0", "gpj4-3";
794
+ samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
795
+ samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
796
+ };
797
+
798
+ touchkey_irq: touchkey-irq {
799
+ samsung,pins = "gpj4-1";
800
+ samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
801
+ samsung,pin-pud = <S3C64XX_PIN_PULL_UP>;
802
+ samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
803
+ };
804
+
805
+ lcd_spi_pins: spi-lcd-pins {
806
+ samsung,pins = "mp01-1", "mp04-1", "mp04-3";
807
+ samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
808
+ samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
809
+ };
810
+
811
+ fg_i2c_pins: fg-i2c-pins {
812
+ samsung,pins = "mp05-0", "mp05-1";
813
+ samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
814
+ samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
815
+ };
816
+
817
+ sound_i2c_pins: sound-i2c-pins {
818
+ samsung,pins = "mp05-2", "mp05-3";
819
+ samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
820
+ samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
821
+ };
822
+
823
+ panel_rst: panel-rst {
824
+ samsung,pins = "mp05-5";
825
+ samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
826
+ samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
827
+ };
828
+};
829
+
830
+&pwm {
831
+ samsung,pwm-outputs = <1>;
832
+};
833
+
834
+&rtc {
835
+ clocks = <&clocks CLK_RTC>, <&pmic_ap_clk>;
836
+ clock-names = "rtc", "rtc_src";
365837 };
366838
367839 &sdhci1 {
....@@ -380,6 +852,10 @@
380852 non-removable;
381853 status = "okay";
382854
855
+ assigned-clocks = <&clocks MOUT_MMC1>, <&clocks SCLK_MMC1>;
856
+ assigned-clock-rates = <0>, <50000000>;
857
+ assigned-clock-parents = <&clocks MOUT_MPLL>;
858
+
383859 wlan@1 {
384860 reg = <1>;
385861 compatible = "brcm,bcm4329-fmac";
....@@ -396,10 +872,31 @@
396872 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &tf_detect>;
397873 pinctrl-names = "default";
398874 status = "okay";
875
+
876
+ assigned-clocks = <&clocks MOUT_MMC2>, <&clocks SCLK_MMC2>;
877
+ assigned-clock-rates = <0>, <50000000>;
878
+ assigned-clock-parents = <&clocks MOUT_MPLL>;
399879 };
400880
401881 &uart0 {
882
+ assigned-clocks = <&clocks MOUT_UART0>, <&clocks SCLK_UART0>;
883
+ assigned-clock-rates = <0>, <111166667>;
884
+ assigned-clock-parents = <&clocks MOUT_MPLL>;
885
+
402886 status = "okay";
887
+
888
+ bluetooth {
889
+ compatible = "brcm,bcm4329-bt";
890
+ max-speed = <3000000>;
891
+ pinctrl-names = "default";
892
+ pinctrl-0 = <&uart0_data &uart0_fctl &bt_host_wake
893
+ &bt_reset &bt_wake>;
894
+ shutdown-gpios = <&gpb 3 GPIO_ACTIVE_HIGH>;
895
+ device-wakeup-gpios = <&gpg3 4 GPIO_ACTIVE_HIGH>;
896
+ interrupt-parent = <&gph2>;
897
+ interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
898
+ interrupt-names = "host-wakeup";
899
+ };
403900 };
404901
405902 &uart1 {