2 * SAMSUNG EXYNOS9610 board device tree source
4 * Copyright (c) 2017 Samsung Electronics Co., Ltd.
5 * http://www.samsung.com
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
12 #include "exynos9610_battery_data.dtsi"
13 #include <dt-bindings/clock/exynos9610.h>
14 #include "modem-ss360ap-sit-pdata.dtsi"
15 #include "exynos9610-display-lcd.dtsi"
16 #include "novatek-nt36xxx-i2c.dtsi"
17 #include "himax-hx83112a-i2c.dtsi"
18 #include "wing-sensor.dtsi"
19 #include "exynos9610-robusta2-motor.dtsi"
20 #include "exynos9610_gpio_config_macros.dtsi"
21 #include "carrier-channel-ids.dtsi"
32 compatible = "samsung,exynos9610-oscclk";
33 clock-frequency = <26000000>;
39 compatible = "android,firmware";
41 compatible = "android,vbmeta";
42 parts = "vbmeta,boot,system,vendor,dtbo,oem";
45 compatible = "android,fstab";
47 compatible = "android,vendor";
48 dev = "/dev/block/platform/13520000.ufs/by-name/vendor";
51 fsmgr_flags = "wait,avb,slotselect";
54 compatible = "android,oem";
55 dev = "/dev/block/platform/13520000.ufs/by-name/oem";
57 mnt_flags = "ro,barrier=1,discard";
58 fsmgr_flags = "wait,avb,slotselect";
66 compatible = "samsung,ifconn";
67 ifconn,usbpd = "s2mm005";
68 ifconn,muic = "s2mu106-muic";
73 compatible = "egistec,et320";
76 clocks = <&clock GATE_SPI_1_QCH>, <&clock SPI1>;
77 clock-names = "spi", "spi_busclk0";
78 pinctrl-names = "default";
79 pinctrl-0 = <&spi7_bus &spi7_cs_func>;
80 egistec,gpio_irq = <&gpa0 5 0>;
81 egistec,gpio_rst = <&gpa1 1 0>;
82 egistec,gpio_ldo3p3_en = <&gpg2 0 0>;
83 egistec,gpio_ldo1p8_en = <&gpg2 2 0>;
92 compatible = "samsung,s2mpu09mfd";
93 acpm-ipc-channel = <2>;
95 s2mpu09,wakeup = "enabled";
96 s2mpu09,irq-gpio = <&gpa2 0 0>;
99 interrupt-parent = <&gpa2>;
100 pinctrl-names = "default";
101 pinctrl-0 = <&pmic_irq &pm_wrsti>;
103 wtsr_en = "enabled"; /* enable */
104 smpl_en = "enabled"; /* enable */
105 wtsr_timer_val = <3>; /* 1000ms */
106 smpl_timer_val = <4>; /* 500ms */
107 check_jigon = <0>; /* do not check jigon */
108 /* RTC: If it's first boot, reset rtc to 1/1/2017 12:00:00(Sun) */
111 init_time,hour = <12>;
112 init_time,mday = <1>;
114 init_time,year = <117>;
115 init_time,wday = <0>;
119 regulator-name = "vdd_mif";
120 regulator-min-microvolt = <500000>;
121 regulator-max-microvolt = <1100000>;
123 regulator-ramp-delay = <12000>;
124 regulator-initial-mode = <2>;
128 regulator-name = "vdd_cpucl1";
129 regulator-min-microvolt = <500000>;
130 regulator-max-microvolt = <1300000>;
132 regulator-ramp-delay = <12000>;
133 regulator-initial-mode = <1>;
137 regulator-name = "vdd_cpucl0";
138 regulator-min-microvolt = <500000>;
139 regulator-max-microvolt = <1300000>;
141 regulator-ramp-delay = <12000>;
142 regulator-initial-mode = <1>;
146 regulator-name = "vdd_int";
147 regulator-min-microvolt = <500000>;
148 regulator-max-microvolt = <1100000>;
150 regulator-ramp-delay = <12000>;
151 regulator-initial-mode = <2>;
155 regulator-name = "vdd_g3d";
156 regulator-min-microvolt = <500000>;
157 regulator-max-microvolt = <1200000>;
159 regulator-ramp-delay = <12000>;
160 regulator-initial-mode = <2>;
164 regulator-name = "vdd_cam_vipx";
165 regulator-min-microvolt = <500000>;
166 regulator-max-microvolt = <1300000>;
168 regulator-ramp-delay = <12000>;
169 regulator-initial-mode = <2>;
173 regulator-name = "vdd2_mem";
174 regulator-min-microvolt = <500000>;
175 regulator-max-microvolt = <1300000>;
177 regulator-ramp-delay = <12000>;
178 regulator-initial-mode = <3>;
182 regulator-name = "vdd_lldo";
183 regulator-min-microvolt = <1200000>;
184 regulator-max-microvolt = <1500000>;
186 regulator-ramp-delay = <12000>;
187 regulator-initial-mode = <3>;
191 regulator-name = "vdd_mldo";
192 regulator-min-microvolt = <1800000>;
193 regulator-max-microvolt = <2100000>;
195 regulator-ramp-delay = <12000>;
196 regulator-initial-mode = <3>;
200 regulator-name = "vdd_ldo1";
201 regulator-min-microvolt = <700000>;
202 regulator-max-microvolt = <1300000>;
204 regulator-ramp-delay = <12000>;
205 regulator-initial-mode = <3>;
209 regulator-name = "vqmmc";
210 regulator-min-microvolt = <1800000>;
211 regulator-max-microvolt = <3375000>;
212 regulator-ramp-delay = <12000>;
216 regulator-name = "vdd_ldo3";
217 regulator-min-microvolt = <800000>;
218 regulator-max-microvolt = <1950000>;
220 regulator-ramp-delay = <12000>;
221 regulator-initial-mode = <3>;
225 regulator-name = "vdd_ldo4";
226 regulator-min-microvolt = <500000>;
227 regulator-max-microvolt = <1100000>;
229 regulator-ramp-delay = <12000>;
230 regulator-initial-mode = <1>;
234 regulator-name = "vdd_ldo5";
235 regulator-min-microvolt = <800000>;
236 regulator-max-microvolt = <1300000>;
238 regulator-ramp-delay = <12000>;
239 regulator-initial-mode = <1>;
243 regulator-name = "vdd_ldo6";
244 regulator-min-microvolt = <800000>;
245 regulator-max-microvolt = <1300000>;
247 regulator-ramp-delay = <12000>;
248 regulator-initial-mode = <1>;
252 regulator-name = "vdd_ldo7";
253 regulator-min-microvolt = <800000>;
254 regulator-max-microvolt = <1950000>;
256 regulator-ramp-delay = <12000>;
257 regulator-initial-mode = <1>;
261 regulator-name = "vdd_ldo8";
262 regulator-min-microvolt = <500000>;
263 regulator-max-microvolt = <1300000>;
265 regulator-ramp-delay = <12000>;
266 regulator-initial-mode = <1>;
270 regulator-name = "vdd_ldo9";
271 regulator-min-microvolt = <500000>;
272 regulator-max-microvolt = <1300000>;
274 regulator-ramp-delay = <12000>;
275 regulator-initial-mode = <1>;
279 regulator-name = "vdd_ldo10";
280 regulator-min-microvolt = <500000>;
281 regulator-max-microvolt = <1300000>;
283 regulator-ramp-delay = <12000>;
284 regulator-initial-mode = <1>;
288 regulator-name = "vdd_ldo11";
289 regulator-min-microvolt = <500000>;
290 regulator-max-microvolt = <1300000>;
292 regulator-ramp-delay = <12000>;
293 regulator-initial-mode = <1>;
297 regulator-name = "vdd_ldo12";
298 regulator-min-microvolt = <800000>;
299 regulator-max-microvolt = <1300000>;
301 regulator-ramp-delay = <12000>;
302 regulator-initial-mode = <1>;
306 regulator-name = "vdd_ldo13";
307 regulator-min-microvolt = <800000>;
308 regulator-max-microvolt = <1950000>;
310 regulator-ramp-delay = <12000>;
311 regulator-initial-mode = <1>;
315 regulator-name = "vdd_ldo14";
316 regulator-min-microvolt = <1800000>;
317 regulator-max-microvolt = <3375000>;
319 regulator-ramp-delay = <12000>;
320 regulator-initial-mode = <1>;
324 regulator-name = "vdd_ldo33";
325 regulator-min-microvolt = <800000>;
326 regulator-max-microvolt = <1950000>;
327 regulator-ramp-delay = <12000>;
329 regulator-initial-mode = <3>;
333 regulator-name = "vdd_ldo34";
334 regulator-min-microvolt = <1800000>;
335 regulator-max-microvolt = <3375000>;
336 regulator-ramp-delay = <12000>;
340 regulator-name = "vmmc";
341 regulator-min-microvolt = <1800000>;
342 regulator-max-microvolt = <3375000>;
343 regulator-ramp-delay = <12000>;
347 regulator-name = "vdd_ldo36";
348 regulator-min-microvolt = <500000>;
349 regulator-max-microvolt = <1300000>;
351 regulator-ramp-delay = <12000>;
352 regulator-initial-mode = <1>;
356 regulator-name = "vdd_ldo37";
357 regulator-min-microvolt = <3300000>;
358 regulator-max-microvolt = <3300000>;
359 regulator-ramp-delay = <12000>;
360 /* regulator-always-on; */
361 regulator-initial-mode = <3>;
365 regulator-name = "VLDO38_PMIC_RCAM_AFVCC_2P8";
366 regulator-min-microvolt = <2800000>;
367 regulator-max-microvolt = <2800000>;
368 regulator-ramp-delay = <12000>;
372 regulator-name = "vdd_ldo39";
373 regulator-min-microvolt = <800000>;
374 regulator-max-microvolt = <1950000>;
375 regulator-ramp-delay = <12000>;
380 regulator-name = "vdd_ldo40";
381 regulator-min-microvolt = <3000000>;
382 regulator-max-microvolt = <3000000>;
383 regulator-ramp-delay = <12000>;
384 regulator-initial-mode = <3>;
389 regulator-name = "VLDO41_PMIC_FCAM_AVDD_2P8";
390 regulator-min-microvolt = <2800000>;
391 regulator-max-microvolt = <2800000>;
392 regulator-ramp-delay = <12000>;
396 regulator-name = "vdd_ldo42";
397 regulator-min-microvolt = <800000>;
398 regulator-max-microvolt = <1950000>;
399 regulator-ramp-delay = <12000>;
404 regulator-name = "vdd_ldo43";
405 regulator-min-microvolt = <500000>;
406 regulator-max-microvolt = <1300000>;
408 regulator-ramp-delay = <12000>;
409 regulator-initial-mode = <1>;
413 regulator-name = "VLDO44_PMIC_DCAM_DVDD_1P2";
414 regulator-min-microvolt = <1200000>;
415 regulator-max-microvolt = <1200000>;
416 regulator-ramp-delay = <12000>;
424 compatible = "samsung,exynos-rgt";
427 mailbox_cp: mcu_ipc@11920000 {
428 compatible = "samsung,exynos-shd-ipc-mailbox";
429 reg = <0x0 0x11920000 0x180>;
430 mcu,name = "mcu_ipc_cp";
432 interrupts = <0 40 0 >;
435 mailbox_gnss: mcu_ipc@11A00000 {
436 compatible = "samsung,exynos-shd-ipc-mailbox";
437 reg = <0x0 0x11A00000 0x180>;
438 mcu,name = "mcu_ipc_gnss";
440 interrupts = <0 43 0>; /* INTREQ__MAILBOX_GNSS2AP */
446 compatible = "samsung,gnss_shdmem_if";
447 shmem,name = "KEPLER";
448 shmem,device_node_name = "gnss_ipc";
450 /* INTREQ__ALIVE_GNSS_ACTIVE, INTREQ__GNSS2AP_WDOG_RESET, INTREQ__GNSS2AP_WAKEUP, INTREQ__GNSS2AP */
451 interrupts = <0 27 0>, <0 81 0>, <0 80 0>, <0 79 0>;
452 interrupt-names = "ACTIVE", "WATCHDOG", "WAKEUP", "REQ_INIT";
454 memory-region = <&gnss_reserved>;
455 mbox_info = <&mailbox_gnss>;
457 mbx,int_ap2gnss_bcmd = <0>;
458 mbx,int_ap2gnss_req_fault_info = <1>;
459 mbx,int_ap2gnss_ipc_msg = <2>;
460 mbx,int_ap2gnss_ack_wake_set = <3>;
461 mbx,int_ap2gnss_ack_wake_clr = <4>;
463 mbx,irq_gnss2ap_bcmd = <0>;
464 mbx,irq_gnss2ap_rsp_fault_info = <1>;
465 mbx,irq_gnss2ap_ipc_msg = <2>;
466 mbx,irq_gnss2ap_req_wake_clr = <4>;
468 mbx,reg_bcmd_ctrl = <0>, <1>, <2>, <3>;
470 reg_rx_ipc_msg = <1 5>;
471 reg_tx_ipc_msg = <1 4>;
476 fault_info = <1 0x200000 0x180000>;
478 shmem,ipc_offset = <0x380000>;
479 shmem,ipc_size = <0x80000>;
480 shmem,ipc_reg_cnt = <32>;
485 compatible = "gpio-keys";
486 #address-cells = <1>;
488 pinctrl-names = "default";
489 pinctrl-0 = <&key_voldown &key_volup &key_power>;
491 label = "gpio-keys: KEY_VOLUMEDOWN";
493 gpios = <&gpa1 6 0xf>;
496 label = "gpio-keys: KEY_VOLUMEUP";
498 gpios = <&gpa1 5 0xf>;
501 label = "gpio-keys: KEY_POWER";
503 gpios = <&gpa1 7 0xf>;
504 gpio-key,wakeup = <1>;
519 card-init-hwacg-ctrl;
523 qos-dvfs-level = <100000>;
526 card-detect-delay = <200>;
527 data-timeout = <200>;
529 samsung,dw-mshc-ciu-div = <3>;
530 clock-frequency = <800000000>;
531 samsung,dw-mshc-sdr-timing = <3 0 2 0>;
532 samsung,dw-mshc-ddr-timing = <3 0 2 1>;
533 samsung,dw-mshc-sdr50-timing = <3 0 4 2>;
534 samsung,dw-mshc-sdr104-timing = <3 0 3 0>;
537 ciu_clkin = <25 50 50 25 50 100 200 50 50>;
539 /* Swapping clock drive strength */
540 clk-drive-number = <4>;
541 pinctrl-names = "default",
546 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4 &dwmmc2_cd_ext_irq>;
547 pinctrl-1 = <&sd2_clk_fast_slew_rate_1x>;
548 pinctrl-2 = <&sd2_clk_fast_slew_rate_2x>;
549 pinctrl-3 = <&sd2_clk_fast_slew_rate_3x>;
550 pinctrl-4 = <&sd2_clk_fast_slew_rate_4x>;
552 card-detect = <&gpa0 7 0xf>;
553 #address-cells = <1>;
563 compatible = "samsung,usb-notifier";
567 usb_hs_tune:usb_hs_tune {
570 /* value = <device host> */
572 tune_name = "tx_vref";
573 tune_value = <0xf 0xf>;
577 tune_name = "tx_pre_emp";
578 tune_value = <0x3 0x3>;
582 tune_name = "tx_pre_emp_plus";
583 tune_value = <0x0 0x0>;
587 tune_name = "tx_res";
588 tune_value = <0x3 0x3>;
592 tune_name = "tx_rise";
593 tune_value = <0x3 0x3>;
597 tune_name = "tx_hsxv";
598 tune_value = <0x3 0x3>;
602 tune_name = "tx_fsls";
603 tune_value = <0x3 0x3>;
607 tune_name = "rx_sqrx";
608 tune_value = <0x7 0x7>;
612 tune_name = "compdis";
613 tune_value = <0x7 0x7>;
618 tune_value = <0x2 0x2>;
622 /* true : 1, false: 0 */
623 /* <enable_user_imp user_imp_value> */
624 tune_name = "enable_user_imp";
625 tune_value = <0x0 0x0>;
629 /* PHY clk : 1 , FREE clk : 0 */
630 tune_name = "is_phyclock";
631 tune_value = <0x1 0x1>;
635 usb3_ss_tune:ss_tune {
638 /* value = <device host> */
640 tune_name = "tx0_term_offset";
641 tune_value = <0x0 0x0>;
645 tune_name = "pcs_tx_swing_full";
646 tune_value = <0x7f 0x7f>;
650 tune_name = "pcs_tx_deemph_6db";
651 tune_value = <0x1c 0x1c>;
655 tune_name = "pcs_tx_deemph_3p5db";
656 tune_value = <0x1c 0x1c>;
660 tune_name = "tx_vboost_lvl_sstx";
661 tune_value = <0x7 0x7>;
665 tune_name = "tx_vboost_lvl";
666 tune_value = <0x4 0x4>;
670 tune_name = "los_level";
671 tune_value = <0x9 0x9>;
675 tune_name = "los_bias";
676 tune_value = <0x5 0x5>;
680 tune_name = "pcs_rx_los_mask_val";
681 tune_value = <0x104 0x104>;
685 tune_name = "tx_eye_height_cntl_en";
686 tune_value = <0x1 0x1>;
690 tune_name = "pipe_tx_deemph_update_delay";
691 tune_value = <0x2 0x2>;
695 tune_name = "pcs_tx_swing_full_sstx";
696 tune_value = <0x7f 0x7f>;
699 tune_name = "rx_eq_fix_val";
700 tune_value = <0x2 0x2>;
704 tune_name = "rx_decode_mode";
705 tune_value = <0x1 0x1>;
709 tune_name = "decrese_ss_tx_imp";
710 tune_value = <0x1 0x1>;
714 usb3_hs_tune:usb3_hs_tune {
717 /* value = <device host> */
719 tune_name = "tx_pre_emp";
720 tune_value = <0x3 0x3>;
724 tune_name = "tx_pre_emp_plus";
725 tune_value = <0x0 0x0>;
729 tune_name = "tx_vref";
730 tune_value = <0x7 0x7>;
734 tune_name = "rx_sqrx";
735 tune_value = <0x7 0x7>;
739 tune_name = "tx_rise";
740 tune_value = <0x3 0x3>;
744 tune_name = "compdis";
745 tune_value = <0x7 0x7>;
749 tune_name = "tx_hsxv";
750 tune_value = <0x3 0x3>;
754 tune_name = "tx_fsls";
755 tune_value = <0x3 0x3>;
759 tune_name = "tx_res";
760 tune_value = <0x3 0x3>;
764 tune_name = "utim_clk";
765 tune_value = <0x1 0x1>;
771 compatible = "samsung,ufs-srpmb";
772 interrupts = <0 460 0>;
775 V_SYS: fixedregulator@0 {
776 compatible = "regulator-fixed";
777 regulator-name = "V_SYS";
778 regulator-min-microvolt = <4200000>;
779 regulator-max-microvolt = <4200000>;
785 dummy_audio_codec: audio_codec_dummy {
787 compatible = "snd-soc-dummy";
790 dummy_audio_cpu: audio_cpu_dummy {
791 compatible = "samsung,dummy-cpu";
797 compatible = "samsung,exynos9610-madera";
799 clock-names = "xclkout";
800 clocks = <&clock OSC_AUD>;
801 pinctrl-names = "default";
802 pinctrl-0 = <&xclkout0 &spk_id>;
804 cirrus,sysclk = <1 4 98304000>;
805 cirrus,dspclk = <8 4 147456000>;
806 cirrus,fll1-refclk = <1 0 26000000 98304000>;
808 cirrus,opclk = <3 0 12288000>;
810 gpios = <&gpm25 0 0>;
813 "HEADSETMIC", "MICBIAS1B",
814 "IN1BR", "HEADSETMIC",
815 "DMIC1", "MICBIAS2A",
817 "DMIC2", "MICBIAS2A",
819 "DMIC3", "MICBIAS2B",
821 "RECEIVER", "EPOUTN",
822 "RECEIVER", "EPOUTP",
823 "HEADPHONE", "HPOUTL",
824 "HEADPHONE", "HPOUTR",
825 "AIF2 Playback", "OPCLK",
826 "AIF2 Capture", "OPCLK",
827 "VOUTPUT", "ABOX UAIF0 Playback",
828 "SPEAKER", "Left SPK",
829 "VOUTPUTCALL", "ABOX SIFS0 Playback",
830 "ABOX SIFS0 Capture", "VINPUTCALL";
832 samsung,codec = <&abox &abox_uaif_0 &abox_uaif_1 &abox_uaif_2
833 &abox_uaif_4 &abox_dsif &abox_spdy &cs35l41_left>;
834 samsung,prefix = "ABOX", "ABOX", "ABOX", "ABOX",
835 "ABOX", "ABOX", "ABOX", "SPK";
836 samsung,aux = <&abox_effect &abox_bt>;
840 sound-dai = <&abox 0>;
843 sound-dai = <&abox_rdma_0>;
846 sound-dai = <&dummy_audio_codec>;
851 sound-dai = <&abox 1>;
854 sound-dai = <&abox_rdma_1>;
857 sound-dai = <&dummy_audio_codec>;
862 sound-dai = <&abox 2>;
865 sound-dai = <&abox_rdma_2>;
868 sound-dai = <&dummy_audio_codec>;
873 sound-dai = <&abox 3>;
876 sound-dai = <&abox_rdma_3>;
879 sound-dai = <&dummy_audio_codec>;
884 sound-dai = <&abox 4>;
887 sound-dai = <&abox_rdma_4>;
890 sound-dai = <&dummy_audio_codec>;
895 sound-dai = <&abox 5>;
898 sound-dai = <&abox_rdma_5>;
901 sound-dai = <&dummy_audio_codec>;
906 sound-dai = <&abox 6>;
909 sound-dai = <&abox_rdma_6>;
912 sound-dai = <&dummy_audio_codec>;
917 sound-dai = <&abox 7>;
920 sound-dai = <&abox_rdma_7>;
923 sound-dai = <&dummy_audio_codec>;
928 sound-dai = <&abox 8>;
931 sound-dai = <&abox_wdma_0>;
934 sound-dai = <&dummy_audio_codec>;
939 sound-dai = <&abox 9>;
942 sound-dai = <&abox_wdma_1>;
945 sound-dai = <&dummy_audio_codec>;
950 sound-dai = <&abox 10>;
953 sound-dai = <&abox_wdma_2>;
956 sound-dai = <&dummy_audio_codec>;
961 sound-dai = <&abox 11>;
964 sound-dai = <&abox_wdma_3>;
967 sound-dai = <&dummy_audio_codec>;
972 sound-dai = <&abox 12>;
975 sound-dai = <&abox_wdma_4>;
978 sound-dai = <&dummy_audio_codec>;
981 /** ToDo: enable dp_audio link after enabling DP Audio
984 * sound-dai = <&dummy_audio_cpu>;
987 * sound-dai = <&dummy_audio_codec>;
994 sound-dai = <&abox_uaif_0>;
997 sound-dai = <&cs47l35 0>;
1003 sound-dai = <&abox_uaif_1>;
1006 sound-dai = <&dummy_audio_codec>;
1012 sound-dai = <&abox_uaif_2>;
1015 sound-dai = <&cs47l35 2>;
1023 sound-dai = <&abox_uaif_4>;
1026 sound-dai = <&dummy_audio_codec>;
1032 sound-dai = <&abox_dsif>;
1035 sound-dai = <&dummy_audio_codec>;
1040 sound-dai = <&abox_spdy>;
1043 sound-dai = <&dummy_audio_codec>;
1048 sound-dai = <&abox 13>;
1051 sound-dai = <&dummy_audio_codec>;
1056 sound-dai = <&abox 14>;
1059 sound-dai = <&dummy_audio_codec>;
1064 sound-dai = <&abox 15>;
1067 sound-dai = <&dummy_audio_codec>;
1075 sound-dai = <&cs47l35 1>;
1078 sound-dai = <&cs35l41_left 0>;
1082 cpu-dsp-voice-control@0 {
1084 sound-dai = <&cs47l35 3>;
1087 sound-dai = <&dummy_audio_codec>;
1093 sound-dai = <&cs47l35 4>;
1096 sound-dai = <&dummy_audio_codec>;
1102 sound-dai = <&cs47l35 5>;
1105 sound-dai = <&dummy_audio_codec>;
1111 sound-dai = <&cs47l35 6>;
1114 sound-dai = <&dummy_audio_codec>;
1120 sound-dai = <&cs47l35 7>;
1123 sound-dai = <&dummy_audio_codec>;
1129 compatible = "samsung,exynos-sleepgpio";
1130 pinctrl-names = "default", "sleep";
1131 pinctrl-0 = <&sleep_top &sleep_fsys &sleep_shub &normal_alive &normal_cmgp>;
1132 pinctrl-1 = <&sleep_top &sleep_fsys &sleep_shub &sleep_alive>;
1136 initial_run_bcm_ip = <0>, <1>, <2>, <3>, <4>, <6>, <7>, <8>, <9>, <10>,
1137 <11>, <12>, <13>, <14>, <15>, <16>, <17>, <18>, <19>, <20>,
1138 <21>, <22>, <23>, <24>, <25>, <26>, <27>, <28>, <29>, <30>;
1140 }; /* end of __overlay__ */
1141 }; /* end of fragment */
1142 }; /* end of root */
1145 #address-cells = <1>;
1148 s2mu106-fuelgauge@3B {
1149 compatible = "samsung,s2mu106-fuelgauge";
1151 pinctrl-names = "default";
1152 pinctrl-0 = <&fuel_irq>;
1153 fuelgauge,fuel_int = <&gpa2 3 0>;
1154 fuelgauge,fuel_alert_vol = <3400>;
1155 fuelgauge,fuel_alert_soc = <1>;
1156 fuelgauge,type_str = "SDI";
1157 fuelgauge,model_type = <1>;
1161 compatible = "sec-usbpd,i2c";
1163 pinctrl-names = "default";
1164 pinctrl-0 = <&usbpd_irq>;
1165 usbpd,usbpd_int = <&gpa2 2 0>;
1169 pdic,max_power = <5000>;
1170 pdic,op_power = <2500>;
1171 pdic,max_voltage = <6000>;
1172 pdic,max_current = <2000>;
1173 pdic,min_current = <500>;
1175 pdic,giveback = <0>;
1176 pdic,usb_com_capable = <1>;
1177 pdic,no_usb_suspend = <1>;
1180 source,max_voltage = <5000>;
1181 source,min_voltage = <4000>;
1182 source,max_power = <2500>;
1185 sink,capable_max_voltage = <5000>;
1191 #address-cells = <1>;
1195 compatible = "samsung,s2mu106mfd";
1197 pinctrl-names = "default";
1198 pinctrl-0 = <&if_pmic_irq>;
1199 s2mu106,irq-gpio = <&gpa2 1 0>;
1204 muic,uart_addr = "11850000.pinctrl";
1205 muic,uart_rxd = "gpq0-3";
1206 muic,uart_txd = "gpq0-4";
1212 haptic,pwm_id = <1>;
1213 haptic,operation_mode = <2>; /* 0 : ERM_I2C, 1 : ERM_GPIO, 2 : LRA */
1215 haptic,hbst_automode;
1216 haptic,boost_level = <5000>;
1219 s2mcs02-charger@41 {
1220 compatible = "samsung,s2mcs02-charger";
1222 default-clk = <100000000>;
1226 /* Change here if you want to use FLED_EN pin
1227 fled-en1-gpio = <&gpg1 2 0>;
1228 fled-en2-gpio = <&gpg1 2 0>;
1229 fled-en3-gpio = <&gpg1 2 0>;
1230 fled-en4-gpio = <&gpg1 2 0>;
1233 default_current = <50>;
1234 max_current = <200>;
1235 default_timer = <0>;
1264 battery,charger_name = "s2mu106-charger";
1265 battery,chg_gpio_en = <0>;
1266 battery,chg_polarity_en = <0>;
1267 battery,chg_gpio_status = <0>;
1268 battery,chg_polarity_status = <0>;
1269 battery,chg_float_voltage = <4350>;
1270 battery,chg_recharge_vcell = <4250>;
1271 battery,chg_full_vcell = <4300>;
1272 battery,full_check_type = <2>;
1273 battery,full_check_type_2nd = <2>;
1274 battery,input_current_limit = <
1275 500 450 500 1200 500 1200 1200 1000 1000 1000
1276 1000 500 500 1200 1000 500 450>;
1277 battery,fast_charging_current = <
1278 500 450 500 1200 500 1200 1200 1000 1000 1000
1279 1000 500 500 1200 1000 500 450>;
1280 battery,full_check_current_1st = <
1281 300 0 300 300 300 300 300 300 300 300
1282 300 300 300 300 300 300 0>;
1283 battery,full_check_current_2nd = <
1284 100 0 100 100 100 100 100 100 100 100
1285 100 100 100 100 100 100 0>;
1292 compatible = "murata,ncp03wf104";
1294 pullup-uv = <1800000>;
1295 pullup-ohm = <100000>;
1297 io-channels = <&exynos_adc 0>;
1298 io-channel-names = "cpu_therm";
1300 battery_thermistor {
1301 compatible = "murata,ncp15xh103";
1303 pullup-uv = <1800000>;
1304 pullup-ohm = <100000>;
1306 io-channels = <&exynos_adc 1>;
1307 io-channel-names = "bat_therm";
1310 compatible = "murata,ncp15xh103";
1312 pullup-uv = <1800000>;
1314 pulldown-ohm = <10000>;
1315 io-channels = <&exynos_adc 4>;
1316 io-channel-names = "pa_therm";
1320 compatible = "murata,ncp03wf104";
1322 pullup-uv = <1800000>;
1323 pullup-ohm = <100000>;
1325 io-channels = <&exynos_adc 7>;
1326 io-channel-names = "board_therm";
1328 usb_con_thermistor {
1329 compatible = "murata,ncp03wf104";
1331 pullup-uv = <1800000>;
1332 pullup-ohm = <100000>;
1334 io-channels = <&exynos_adc 8>;
1335 io-channel-names = "usb_con_therm";
1340 #address-cells = <1>;
1344 samsung,i2c-max-bus-freq = <600000>;
1347 compatible = "sec-nfc";
1350 sec-nfc,ven-gpio = <&gpg0 0 0>;
1351 sec-nfc,firm-gpio = <&gpg0 2 0>;
1353 sec-nfc,irq-gpio = <&gpa1 2 0>;
1354 sec-nfc,clk_req-gpio = <&gpg0 1 0>;
1355 sec-nfc,ldo_en = <&gpm22 0 0>;
1356 sec-nfc,pmic-ldo = "vdd_ldo37";
1358 clock-names = "OSC_NFC";
1359 clocks = <&clock OSC_NFC>;
1360 pinctrl-names = "default";
1361 pinctrl-0 = <&xclkout1 &nfc_pd>;
1367 pinctrl-names = "default";
1368 pinctrl-0 = <&motor_pwm>;
1373 exynos,block-type = "sda";
1374 exynos,fips-block_offset = <5>;
1378 /* chub irq pin lists */
1379 chub-irq-pin = <162>;
1382 <&clock UMUX_CLKCMU_SHUB_BUS>,
1383 /* MAG. SENSOR : AK09918C */
1384 <&clock CMGP01_USI>,
1385 /* PROX. SENSOR : TMD3702 */
1386 <&clock CMGP03_USI>,
1387 /* ALS SENSOR : BH1726 */
1394 os-type = "os.checked_0.bin";
1398 pmic_irq: pmic-irq {
1399 samsung,pins = "gpa2-0";
1400 samsung,pin-pud = <3>;
1401 samsung,pin-drv = <3>;
1404 sub_pmic_irq: sub-pmic-irq {
1405 samsung,pins = "gpa1-3";
1406 samsung,pin-function = <0>;
1407 samsung,pin-pud = <0>;
1408 samsung,pin-drv = <0>;
1412 key_voldown: key-voldown {
1413 samsung,pins = "gpa1-6";
1414 samsung,pin-function = <0xf>;
1415 samsung,pin-pud = <0>;
1416 samsung,pin-drv = <0>;
1419 key_volup: key-volup {
1420 samsung,pins = "gpa1-5";
1421 samsung,pin-function = <0xf>;
1422 samsung,pin-pud = <0>;
1423 samsung,pin-drv = <0>;
1426 key_power: key-power {
1427 samsung,pins = "gpa1-7";
1428 samsung,pin-function = <0xf>;
1429 samsung,pin-pud = <0>;
1430 samsung,pin-drv = <0>;
1433 dwmmc2_cd_ext_irq: dwmmc2_cd_ext_irq {
1434 samsung,pins = "gpa0-7";
1435 samsung,pin-function = <0xf>;
1436 samsung,pin-pud = <0>;
1437 samsung,pin-drv = <3>;
1440 attn_irq: attn-irq {
1441 samsung,pins = "gpa2-4";
1442 samsung,pin-function = <0xf>;
1443 samsung,pin-pud = <0>;
1444 samsung,pin-drv = <0>;
1447 attn_input: attn-input {
1448 samsung,pins = "gpa2-4";
1449 samsung,pin-function = <0>;
1450 samsung,pin-pud = <1>;
1453 if_pmic_irq: if-pmic-irq {
1454 samsung,pins = "gpa2-1";
1455 samsung,pin-function = <0>;
1456 samsung,pin-pud = <0>;
1457 samsung,pin-drv = <0>;
1460 fuel_irq: fuel-irq {
1461 samsung,pins = "gpa2-3";
1462 samsung,pin-function = <0>;
1463 samsung,pin-pud = <0>;
1464 samsung,pin-drv = <0>;
1467 usbpd_irq: usbpd-irq {
1468 samsung,pins = "gpa2-2";
1469 samsung,pin-function = <0xf>;
1470 samsung,pin-pud = <3>;
1471 samsung,pin-drv = <3>;
1473 /* TODO: Need to check pin number
1474 small_charger_irq: small-charger-irq {
1475 samsung,pins = "gpa2-5";
1476 samsung,pin-function = <0>;
1477 samsung,pin-pud = <0>;
1478 samsung,pin-drv = <0>;
1481 cap_int_status: cap_int_status {
1482 samsung,pins = "gpa2-6";
1483 samsung,pin-function = <0>;
1484 samsung,pin-val = <1>;
1485 samsung,pin-pud = <3>;
1488 lra_int_status: lra_int_status {
1489 samsung,pins = "gpa2-7";
1490 samsung,pin-function = <0>;
1491 samsung,pin-val = <1>;
1492 samsung,pin-pud = <3>;
1495 sleep_alive: sleep-state {
1496 PIN_EINT_PUD(gpa0-2, DIS); /* SPK_PA_INT */
1497 PIN_IN_PUD(gpa0-3, DIS); /* SC_INTB */
1498 PIN_IN_PUD(gpa0-4, DIS); /* IF_PMIC_MRSTB */
1499 PIN_EINT_PUD(gpa0-6, DIS); /* CODEC_IRQ_N */
1500 PIN_EINT_PUD(gpa0-7, DIS); /* SD_SIM_DET */
1502 //PIN_IN_PUD(gpa1-1, DOWN); /* FP_RST_NT */
1503 PIN_EINT_PUD(gpa1-2, DIS); /* NFC_IRQ */
1504 //PIN_IN_PUD(gpa1-3, DOWN); /* TP_RST_N */
1505 PIN_IN_PUD(gpa1-5, DIS); /* KEY_VOL_UP */
1506 PIN_IN_PUD(gpa1-6, DIS); /* KEY_VOL_DOWN */
1507 //PIN_INT_PUD(gpa1-7, DIS); /* PMIC_ONOB */
1509 //PIN_EINT_PUD(gpa2-0, DIS); /* PMIC_IRQB */
1510 //PIN_EINT_PUD(gpa2-1, DIS); /* IF_PMIC_IRQB */
1511 PIN_EINT_PUD(gpa2-2, DIS); /* IF_PMIC_INTB */
1512 //PIN_EINT_PUD(gpa2-3, DIS); /* FG_INTB */
1513 PIN_EINT_PUD(gpa2-4, DIS); /* TP_INT_B */
1514 //PIN_IN_PUD(gpa2-5, DOWN); /* MOTOR_RSTN */
1515 PIN_EINT_PUD(gpa2-6, DIS); /* SAR_PS_INT */
1516 PIN_EINT_PUD(gpa2-7, DIS); /* MOTOR_INTN */
1518 PIN_FUNC_PUD(gpq0-2, UP); /* SPEEDY_PMIC */
1519 PIN_IN_PUD(gpq0-3, DOWN); /* AP_UART0_RXD */
1520 PIN_IN_PUD(gpq0-4, UP); /* AP_UART0_TXD */
1523 normal_alive: normal-state {
1524 PIN_EINT_PUD(gpa0-2, DIS); /* SPK_PA_INT */
1525 PIN_IN_PUD(gpa0-3, DIS); /* SC_INTB */
1526 PIN_IN_PUD(gpa0-4, DIS); /* IF_PMIC_MRSTB */
1527 PIN_EINT_PUD(gpa0-6, DIS); /* CODEC_IRQ_N */
1528 PIN_EINT_PUD(gpa0-7, DIS); /* SD_SIM_DET */
1530 PIN_EINT_PUD(gpa1-2, DIS); /* NFC_IRQ */
1531 PIN_EINT_PUD(gpa1-5, DIS); /* KEY_VOL_UP */
1532 PIN_EINT_PUD(gpa1-6, DIS); /* KEY_VOL_DOWN */
1534 PIN_EINT_PUD(gpa2-2, DIS); /* IF_PMIC_INTB */
1535 PIN_EINT_PUD(gpa2-4, DIS); /* TP_INT_B */
1536 PIN_EINT_PUD(gpa2-6, DIS); /* SAR_PS_INT */
1537 PIN_EINT_PUD(gpa2-7, DIS); /* MOTOR_INTN */
1539 PIN_FUNC_PUD(gpq0-2, UP); /* SPEEDY_PMIC */
1540 PIN_FUNC_PUD(gpq0-3, DOWN); /* AP_UART0_RXD */
1541 PIN_FUNC_PUD(gpq0-4, UP); /* AP_UART0_TXD */
1546 sleep_cmgp: sleep-state {
1547 PIN_IN_PUD(gpm2-0, DIS); /* LCD_SCL */
1548 PIN_IN_PUD(gpm3-0, DIS); /* LCD_SCA */
1549 PIN_IN_PUD(gpm4-0, DIS); /* SENSOR_SCL_1.8V */
1550 PIN_IN_PUD(gpm5-0, DIS); /* SENSOR_SDA_1.8V */
1551 PIN_IN_PUD(gpm6-0, DIS); /* LT_SENSOR_SCL_1.8V */
1552 PIN_IN_PUD(gpm7-0, DIS); /* LT_SENSOR_SDA_1.8V */
1553 PIN_IN_PUD(gpm8-0, DIS); /* MOTOR_I2C_SCL */
1554 PIN_IN_PUD(gpm9-0, DIS); /* AP_UART0_TXD */
1555 PIN_IN_PUD(gpm10-0, DIS); /* SAR_SENSOR_SCL */
1556 PIN_IN_PUD(gpm11-0, DIS); /* SAR_SENSOR_SDA */
1557 PIN_IN_PUD(gpm16-0, DOWN); /* NC */
1558 PIN_IN_PUD(gpm17-0, DOWN); /* NC */
1559 PIN_EINT_PUD(gpm20-0, DIS); /* PSENSOR_INT */
1560 //PIN_IN_PUD(gpm22-0, DOWN); /* NFC_PVDDEN */
1561 PIN_IN_PUD(gpm25-0, DIS); /* SPK_ID */
1564 normal_cmgp: normal-cmgp {
1565 //PIN_EINT_PUD(gpm20-0, UP); /* PSENSOR_INT */
1566 PIN_FUNC_PUD(gpm2-0, DIS); /* LCD_SCL */
1567 PIN_FUNC_PUD(gpm3-0, DIS); /* LCD_SCA */
1568 PIN_FUNC_PUD(gpm4-0, UP); /* SENSOR_SCL_1.8V */
1569 PIN_FUNC_PUD(gpm5-0, UP); /* SENSOR_SDA_1.8V */
1570 PIN_FUNC_PUD(gpm6-0, UP); /* LT_SENSOR_SCL_1.8V */
1571 PIN_FUNC_PUD(gpm7-0, UP); /* LT_SENSOR_SDA_1.8V */
1572 PIN_FUNC_PUD(gpm8-0, DIS); /* MOTOR_I2C_SCL */
1573 PIN_FUNC_PUD(gpm9-0, DIS); /* MOTOR_I2C_SDA */
1574 PIN_FUNC_PUD(gpm10-0, DIS); /* SAR_SENSOR_SCL */
1575 PIN_FUNC_PUD(gpm11-0, DIS); /* SAR_SENSOR_SDA */
1576 PIN_EINT_PUD(gpm20-0, DIS); /* PSENSOR_INT */
1577 PIN_IN_PUD(gpm25-0, DIS); /* SPK_ID */
1582 sleep_aud: sleep-state {
1583 PIN_SLP(gpb0-0, IN, DOWN); /* NC */
1584 PIN_SLP(gpb0-1, IN, DOWN); /* I2S0_CODEC_BCLK */
1585 PIN_SLP(gpb0-2, IN, DOWN); /* I2S0_CODEC_WS */
1586 PIN_SLP(gpb0-3, IN, DOWN); /* I2S0_CODEC_SDO */
1587 PIN_SLP(gpb0-4, IN, DOWN); /* I2S0_CODEC_SDI */
1589 PIN_SLP(gpb1-0, IN, DOWN); /* NC */
1590 PIN_SLP(gpb1-1, IN, DOWN); /* NC */
1591 PIN_SLP(gpb1-2, IN, DOWN); /* NC */
1592 PIN_SLP(gpb1-3, IN, DOWN); /* NC */
1594 PIN_SLP(gpb2-0, IN, DOWN); /* I2S2_CODEC_BCLK */
1595 PIN_SLP(gpb2-1, IN, DOWN); /* I2S2_CODEC_WS */
1596 PIN_SLP(gpb2-2, IN, DOWN); /* I2S2_CODEC_SDO */
1597 PIN_SLP(gpb2-3, IN, DOWN); /* I2S2_CODEC_SDI */
1598 PIN_SLP(gpb2-4, IN, DOWN); /* FM_SPDY_S620 */
1603 sleep_fsys: sleep-fsys {
1604 PIN_SLP(gpf0-0, PREV, DIS); /* UFS_EMBD_REFCLK_OUT */
1605 PIN_SLP(gpf0-1, PREV, DIS); /* UFS_EMBD_RESETN */
1610 /* Warm reset information from AP */
1611 pm_wrsti: pm-wrsti {
1612 samsung,pins = "gpg0-7";
1613 samsung,pin-con-pdn = <3>;
1616 motor_pwm: motor_pwm {
1617 samsung,pins = "gpg4-2";
1618 samsung,pin-function = <2>;
1619 samsung,pin-pud = <1>;
1620 samsung,pin-drv = <0>;
1624 samsung,pins ="gpg3-4";
1625 samsung,pin-function = <1>;
1626 samsung,pin-val = <1>;
1627 samsung,pin-pud = <3>;
1631 samsung,pins ="gpg3-4";
1632 samsung,pin-function = <0>;
1633 samsung,pin-val = <0>;
1634 samsung,pin-pud = <1>;
1637 lcd_reset: lcd_reset {
1638 samsung,pins = "gpg1-4";
1639 samsung,pin-function = <1>;
1640 samsung,pin-pud = <3>;
1641 samsung,pin-val = <1>;
1642 samsung,pin-con-pdn =<3>;
1643 samsung,pin-pud-pdn = <3>;
1646 codec_reset: codec-reset {
1647 samsung,pins ="gpg3-2";
1648 samsung,pin-pud = <0>;
1649 samsung,pin-con-pdn =<3>;
1650 samsung,pin-pud-pdn = <0>;
1653 codec_en: codec_en {
1654 samsung,pins = "gpg1-1";
1655 samsung,pin-function = <1>;
1656 samsung,pin-pud = <3>;
1657 samsung,pin-val = <1>;
1658 samsung,pin-con-pdn =<3>;
1659 samsung,pin-pud-pdn = <3>;
1662 pa_reset: pa-reset {
1663 samsung,pins ="gpg3-3";
1664 samsung,pin-con-pdn =<3>;
1665 samsung,pin-pud-pdn = <3>;
1669 samsung,pins ="gpg0-0";
1670 samsung,pin-function = <1>;
1671 samsung,pin-pud = <0>;
1672 samsung,pin-con-pdn =<3>;
1673 samsung,pin-pud-pdn = <0>;
1676 sleep_top: sleep-top {
1677 PIN_SLP(gpp0-0, IN, DIS); /* I2C0_FG_PMIC_SDA */
1678 PIN_SLP(gpp0-1, IN, DIS); /* I2C0_FG_PMIC_SCL */
1679 PIN_SLP(gpp0-2, IN, DIS); /* I2C1_IF_PMIC_SDA */
1680 PIN_SLP(gpp0-3, IN, DIS); /* I2C1_IF_PMIC_SCL */
1682 /* Add 18.12.31 start */
1683 PIN_SLP(gpp0-4, IN, DIS); /* I2C2_NFC_SDA */
1684 PIN_SLP(gpp0-5, IN, DIS); /* I2C2_NFC_SCL */
1685 PIN_SLP(gpp0-6, IN, DOWN); /* N.C. */
1686 PIN_SLP(gpp0-7, IN, DOWN); /* N.C. */
1688 PIN_SLP(gpp1-0, IN, DIS); /* I2C4_TSP_SDA */
1689 PIN_SLP(gpp1-1, IN, DIS); /* I2C4_TSP_SCL */
1690 PIN_SLP(gpp1-2, IN, DOWN); /* N.C. */
1691 PIN_SLP(gpp1-3, IN, DOWN); /* N.C. */
1692 PIN_SLP(gpp1-4, IN, DOWN); /* N.C. */
1693 PIN_SLP(gpp1-5, IN, DOWN); /* N.C. */
1695 PIN_SLP(gpc0-0, IN, DIS); /* I2C_CAM0_REAR_MAIN_SDA */
1696 PIN_SLP(gpc0-1, IN, DIS); /* I2C_CAM0_REAR_MAIN_SCL */
1697 PIN_SLP(gpc0-2, IN, DIS); /* I2C_CAM1_REAR_SUB_SDA */
1698 PIN_SLP(gpc0-3, IN, DIS); /* I2C_CAM1_REAR_SUB_SCL */
1699 PIN_SLP(gpc0-4, IN, DIS); /* I2C_CAM2_FRONT_SDA */
1700 PIN_SLP(gpc0-5, IN, DIS); /* I2C_CAM2_FRONT_SCL */
1701 PIN_SLP(gpc0-6, IN, DOWN); /* N.C. */
1702 PIN_SLP(gpc0-7, IN, DOWN); /* N.C. */
1703 /* Add 18.12.31 end */
1705 /* ADD 19.01.01 start */
1706 PIN_SLP(gpc1-2, IN, DOWN); /* N.C. */
1708 PIN_SLP(gpc2-3, PREV, DIS); /* DISP_TES added 19.01.05 */
1709 PIN_SLP(gpc2-4, IN, DOWN); /* N.C. */
1711 PIN_SLP(gpg0-0, PREV, DIS); /* NFC_PD */
1713 //PIN_SLP(gpg0-1, PREV, DIS); /* NFC_CLKREQ */
1714 //PIN_SLP(gpg0-2, PREV, DIS); /* NFC_WAKE */
1715 /* ADD 19.01.01 end t*/
1717 PIN_SLP(gpg0-7, PREV, DIS); /* PMIC_WRSTBI */
1719 //PIN_SLP(gpg1-1, PREV, DIS); /* VDD_CODEC_EN */
1720 PIN_SLP(gpg1-4, PREV, DIS); /* LCD_RESET_N */
1722 //PIN_SLP(gpg2-0, PREV, DIS); /* FP_LDO_EN_3V3 */
1723 //PIN_SLP(gpg2-1, PREV, DIS); /* LDO_BL_EN */
1724 //PIN_SLP(gpg2-2, PREV, DIS); /* FP_LDOEN_1V8 */
1725 //PIN_SLP(gpg2-3, PREV, DIS); /* FCAM_AVDD_EN */
1726 //PIN_SLP(gpg2-4, PREV, DIS); /* FCAM_DVDD_EN */
1727 //PIN_SLP(gpg2-5, PREV, DIS); /* CAM_OVDD_EN */
1728 //PIN_SLP(gpg2-6, PREV, DIS); /* RCAM_MAIN_AVDD_EN */
1729 //PIN_SLP(gpg2-7, PREV, DIS); /* RCAM_DVDD_EN */
1731 //PIN_SLP(gpg3-0, PREV, DIS); /* LCD_BIAS_ENN */
1732 //PIN_SLP(gpg3-1, PREV, DIS); /* LCD_BIAS_ENP */
1733 //PIN_SLP(gpg3-3, PREV, DIS); /* AUDIO_PA_RST */
1734 //PIN_SLP(gpg3-4, PREV, DIS); /* LCD_LDO_1V8_En */
1736 //PIN_SLP(gpg4-0, PREV, DIS); /* XBOOTLDO */
1741 sleep_shub: sleep-shub {
1742 PIN_SLP(gph0-0, IN, DOWN); /* ACC_SPI_CLK */
1743 PIN_SLP(gph0-1, IN, DOWN); /* ACC_SPI_MOSI */
1744 PIN_SLP(gph0-2, IN, DOWN); /* ACC_SPI_MISO */
1745 PIN_SLP(gph0-3, IN, DOWN); /* ACC_SPI_CS_N */
1746 PIN_SLP(gph1-0, IN, DOWN); /* ACCEL_GRY0_INT1 */
1747 PIN_SLP(gph1-1, IN, DOWN); /* ACCEL_GRY0_INT2 */
1748 PIN_SLP(gph1-2, IN, DOWN); /* LIGHT_INT */
1758 maximum-speed = "high-speed";
1763 usb3phy-isolation = <1>;
1765 hs_tune_param = <&usb_hs_tune>;
1770 usb3phy-isolation = <1>;
1772 hs_tune_param = <&usb3_hs_tune>;
1773 ss_tune_param = <&usb3_ss_tune>;
1781 lcd_info = <&nt36672a>;
1782 /* reset, lcd_bias_enp, lcd_bias_enn, lcd_bl_en*/
1783 gpios = <&gpg1 4 0x1>, <&gpg3 1 0x1>, <&gpg3 0 0x1>, <&gpg2 1 0x1>;
1784 pinctrl-names = "lcd_reset";
1785 pinctrl-0 = <&lcd_reset>;
1790 usi_v2_mode = "spi";
1791 status = "disabled";
1794 /* USI_SHUB_0_I2C */
1796 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1797 status = "disabled";
1802 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1803 usi_v2_mode = "i2c";
1807 /* USI_0_CMGP_I2C */
1809 usi_v2_mode = "i2c";
1815 usi_v2_mode = "i2c";
1819 /* USI_1_CMGP_I2C */
1821 usi_v2_mode = "i2c";
1827 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1828 usi_v2_mode = "i2c";
1832 /* USI_2_CMGP_I2C */
1834 usi_v2_mode = "i2c";
1840 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1841 status = "disabled";
1844 /* USI_3_CMGP_I2C */
1846 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1847 status = "disabled";
1852 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1853 status = "disabled";
1856 /* USI_4_CMGP_I2C */
1858 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1859 status = "disabled";
1864 usi_v2_mode = "uart";
1868 /* USI_PERI_CAMI2C_0 */
1869 &usi_peri_cami2c_0 {
1870 usi_v2_mode = "i2c";
1874 /* USI_PERI_CAMI2C_1 */
1875 &usi_peri_cami2c_1 {
1876 usi_v2_mode = "i2c";
1880 /* USI_PERI_CAMI2C_2 */
1881 &usi_peri_cami2c_2 {
1882 usi_v2_mode = "i2c";
1886 /* USI_PERI_CAMI2C_3 */
1887 &usi_peri_cami2c_3 {
1888 usi_v2_mode = "i2c";
1892 /* USI_PERI_SPI_0 */
1894 usi_v2_mode = "spi";
1898 /* USI_PERI_SPI_1 */
1900 usi_v2_mode = "spi";
1904 /* USI_PERI_USI_0 */
1906 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1907 status = "disabled";
1910 /* USI_PERI_USI_0_I2C */
1911 &usi_peri_usi_0_i2c {
1912 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1913 status = "disabled";
1916 /* USI_PERI_SPI_2 */
1918 usi_v2_mode = "spi";
1924 pinctrl-names = "default";
1925 pinctrl-0 = <&spi6_bus &spi6_cs_func &pa_reset>;
1926 /*cs-gpios = <&gpp2 3 0>;*/
1929 #address-cells = <1>;
1931 cs35l41_left: cs35l41@0 {
1932 compatible = "cirrus,cs35l41";
1935 spi-max-frequency = <9600000>;
1937 interrupts = <2 0 0>;
1938 interrupt-controller;
1939 interrupt-parent = <&gpa0>;
1940 reset-gpios = <&gpg3 3 0>;
1941 #sound-dai-cells = <1>;
1943 VA-supply = <&l42_reg>;
1944 VP-supply = <&V_SYS>;
1946 cirrus,boost-peak-milliamp = <4500>;
1947 cirrus,boost-ind-nanohenry = <1000>;
1948 cirrus,boost-cap-microfarad = <15>;
1949 cirrus,asp-sdout-hiz = <0x1>;
1950 cirrus,gpio-config2 {
1951 cirrus,gpio-src-select = <0x4>;
1952 cirrus,gpio-output-enable;
1956 #address-cells = <1>;
1958 prince_l_dsp: adsp@2b80000 {
1961 protectionsp_default {
1963 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
1964 cirrus,bin-file = "cs35l41-dsp1-spk-prot-music-aac.bin";
1966 protectionsp_music_aac {
1968 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
1969 cirrus,bin-file = "cs35l41-dsp1-spk-prot-music-aac.bin";
1971 protectionsp_indmusic_aac {
1973 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
1974 cirrus,bin-file = "cs35l41-dsp1-spk-prot-indmusic-aac.bin";
1976 protectionsp_voice_aac {
1978 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
1979 cirrus,bin-file = "cs35l41-dsp1-spk-prot-voice-aac.bin";
1981 protectionsp_ringtone_aac {
1983 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
1984 cirrus,bin-file = "cs35l41-dsp1-spk-prot-ringtone-aac.bin";
1986 protectionsp_notification_aac {
1988 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
1989 cirrus,bin-file = "cs35l41-dsp1-spk-prot-notification-aac.bin";
1991 protectionsp_music_qisheng {
1993 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
1994 cirrus,bin-file = "cs35l41-dsp1-spk-prot-music-qisheng.bin";
1996 protectionsp_indmusic_qisheng {
1998 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
1999 cirrus,bin-file = "cs35l41-dsp1-spk-prot-indmusic-qisheng.bin";
2001 protectionsp_voice_qisheng {
2003 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
2004 cirrus,bin-file = "cs35l41-dsp1-spk-prot-voice-qisheng.bin";
2006 protectionsp_ringtone_qisheng{
2008 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
2009 cirrus,bin-file = "cs35l41-dsp1-spk-prot-ringtone-qisheng.bin";
2011 protectionsp_notification_qisheng {
2013 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
2014 cirrus,bin-file = "cs35l41-dsp1-spk-prot-notification-qisheng.bin";
2018 cirrus,wmfw-file = "cs35l41-dsp1-diag.wmfw";
2019 cirrus,bin-file = "cs35l41-dsp1-aac-cali.bin";
2021 calibration_qisheng{
2023 cirrus,wmfw-file = "cs35l41-dsp1-diag.wmfw";
2024 cirrus,bin-file = "cs35l41-dsp1-qissheng-cali.bin";
2030 /*cs-gpio = <gpm8 0 0>*/
2031 /*cs-gpios = <&gpp2 3 0>;*/
2032 samsung,spi-feedback-delay = <1>;
2033 samsung,spi-chip-select-mode = <0>;
2039 pinctrl-names = "default";
2040 pinctrl-0 = <&spi9_bus &spi9_cs_func &codec_en>;
2042 #address-cells = <1>;
2044 cs47l35: cs47l35@0 {
2045 compatible = "cirrus,cs47l35";
2048 spi-max-frequency = <11000000>;
2050 interrupts = <6 8 0>;
2051 interrupt-controller;
2052 #interrupt-cells = <2>;
2053 interrupt-parent = <&gpa0>;
2056 #sound-dai-cells = <1>;
2058 AVDD-supply = <&l42_reg>;
2059 DBVDD1-supply = <&l42_reg>;
2060 DBVDD2-supply = <&l42_reg>;
2061 CPVDD1-supply = <&l42_reg>;
2063 /*CPVDD2-supply = <&l44_reg>;*/
2064 /*DCVDD-supply = <&l44_reg>;*/
2065 SPKVDD-supply = <&V_SYS>;
2067 reset-gpios = <&gpg3 2 0>;
2069 cirrus,dmic-ref = <0 0 0>;
2075 cirrus,gpsw = <1 0>;
2077 pinctrl-names = "probe", "active";
2078 pinctrl-0 = <&codec_reset>;
2079 pinctrl-1 = <&codec_reset &cs47l35_defaults>;
2081 madera_pinctrl: madera-pinctrl {
2082 compatible = "cirrus,madera-pinctrl";
2083 cs47l35_defaults: cs47l35-gpio-defaults {
2102 gpio6 { /* Amp Clock */
2109 gpio5 { /* Mic Polarity Flip */
2118 regulator-min-microvolt = <3000000>;
2119 regulator-max-microvolt = <3000000>;
2122 audio_micbias1:MICBIAS1 {
2123 regulator-min-microvolt = <2800000>;
2124 regulator-max-microvolt = <2800000>;
2125 cirrus,ext-cap = <1>;
2128 regulator-active-discharge = <1>;
2131 regulator-active-discharge = <1>;
2135 regulator-min-microvolt = <2800000>;
2136 regulator-max-microvolt = <2800000>;
2137 cirrus,ext-cap = <1>;
2141 regulator-active-discharge = <1>;
2144 regulator-active-discharge = <1>;
2148 #address-cells = <1>;
2154 cirrus,micd-configs = <
2157 cirrus,micd-bias-start-time = <8>;
2158 cirrus,micd-rate = <6>;
2159 /*cirrus,micd-pol-gpios = <&cs47l35 4 0>;*/
2160 cirrus,micd-detect-debounce-ms = <700>;
2161 /*cirrus,jd-use-jd2;*/
2162 /*cirrus,micd-clamp-mode = <0x8>;*/
2163 cirrus,micd-manual-debounce = <2>;
2168 #address-cells = <1>;
2174 cirrus,wmfw-file = "marley-dsp2-aov-frontend.wmfw";
2175 cirrus,bin-file = "marley-dsp2-aov-vrgain.bin";
2177 cirrus,compr-caps = <14 1 4 1 16000>;
2185 cirrus,wmfw-file = "marley-dsp3-aov-control.wmfw";
2186 cirrus,bin-file = "None";
2188 cirrus,compr-caps = <14 1 4 1 16000>;
2195 samsung,spi-feedback-delay = <1>;
2196 samsung,spi-chip-select-mode = <0>;