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>;
331 regulator-name = "vdd_ldo34";
332 regulator-min-microvolt = <1800000>;
333 regulator-max-microvolt = <3375000>;
334 regulator-ramp-delay = <12000>;
338 regulator-name = "vmmc";
339 regulator-min-microvolt = <1800000>;
340 regulator-max-microvolt = <3375000>;
341 regulator-ramp-delay = <12000>;
345 regulator-name = "vdd_ldo36";
346 regulator-min-microvolt = <500000>;
347 regulator-max-microvolt = <1300000>;
349 regulator-ramp-delay = <12000>;
350 regulator-initial-mode = <1>;
354 regulator-name = "vdd_ldo37";
355 regulator-min-microvolt = <3300000>;
356 regulator-max-microvolt = <3300000>;
357 regulator-ramp-delay = <12000>;
358 /* regulator-always-on; */
359 regulator-initial-mode = <3>;
363 regulator-name = "VLDO38_PMIC_RCAM_AFVCC_2P8";
364 regulator-min-microvolt = <2800000>;
365 regulator-max-microvolt = <2800000>;
366 regulator-ramp-delay = <12000>;
370 regulator-name = "vdd_ldo39";
371 regulator-min-microvolt = <800000>;
372 regulator-max-microvolt = <1950000>;
373 regulator-ramp-delay = <12000>;
378 regulator-name = "vdd_ldo40";
379 regulator-min-microvolt = <3000000>;
380 regulator-max-microvolt = <3000000>;
381 regulator-ramp-delay = <12000>;
382 regulator-initial-mode = <3>;
387 regulator-name = "VLDO41_PMIC_FCAM_AVDD_2P8";
388 regulator-min-microvolt = <2800000>;
389 regulator-max-microvolt = <2800000>;
390 regulator-ramp-delay = <12000>;
394 regulator-name = "vdd_ldo42";
395 regulator-min-microvolt = <800000>;
396 regulator-max-microvolt = <1950000>;
397 regulator-ramp-delay = <12000>;
402 regulator-name = "vdd_ldo43";
403 regulator-min-microvolt = <500000>;
404 regulator-max-microvolt = <1300000>;
406 regulator-ramp-delay = <12000>;
407 regulator-initial-mode = <1>;
411 regulator-name = "VLDO44_PMIC_DCAM_DVDD_1P2";
412 regulator-min-microvolt = <1200000>;
413 regulator-max-microvolt = <1200000>;
414 regulator-ramp-delay = <12000>;
422 compatible = "samsung,exynos-rgt";
425 mailbox_cp: mcu_ipc@11920000 {
426 compatible = "samsung,exynos-shd-ipc-mailbox";
427 reg = <0x0 0x11920000 0x180>;
428 mcu,name = "mcu_ipc_cp";
430 interrupts = <0 40 0 >;
433 mailbox_gnss: mcu_ipc@11A00000 {
434 compatible = "samsung,exynos-shd-ipc-mailbox";
435 reg = <0x0 0x11A00000 0x180>;
436 mcu,name = "mcu_ipc_gnss";
438 interrupts = <0 43 0>; /* INTREQ__MAILBOX_GNSS2AP */
444 compatible = "samsung,gnss_shdmem_if";
445 shmem,name = "KEPLER";
446 shmem,device_node_name = "gnss_ipc";
448 /* INTREQ__ALIVE_GNSS_ACTIVE, INTREQ__GNSS2AP_WDOG_RESET, INTREQ__GNSS2AP_WAKEUP, INTREQ__GNSS2AP */
449 interrupts = <0 27 0>, <0 81 0>, <0 80 0>, <0 79 0>;
450 interrupt-names = "ACTIVE", "WATCHDOG", "WAKEUP", "REQ_INIT";
452 memory-region = <&gnss_reserved>;
453 mbox_info = <&mailbox_gnss>;
455 mbx,int_ap2gnss_bcmd = <0>;
456 mbx,int_ap2gnss_req_fault_info = <1>;
457 mbx,int_ap2gnss_ipc_msg = <2>;
458 mbx,int_ap2gnss_ack_wake_set = <3>;
459 mbx,int_ap2gnss_ack_wake_clr = <4>;
461 mbx,irq_gnss2ap_bcmd = <0>;
462 mbx,irq_gnss2ap_rsp_fault_info = <1>;
463 mbx,irq_gnss2ap_ipc_msg = <2>;
464 mbx,irq_gnss2ap_req_wake_clr = <4>;
466 mbx,reg_bcmd_ctrl = <0>, <1>, <2>, <3>;
468 reg_rx_ipc_msg = <1 5>;
469 reg_tx_ipc_msg = <1 4>;
474 fault_info = <1 0x200000 0x180000>;
476 shmem,ipc_offset = <0x380000>;
477 shmem,ipc_size = <0x80000>;
478 shmem,ipc_reg_cnt = <32>;
483 compatible = "gpio-keys";
484 #address-cells = <1>;
486 pinctrl-names = "default";
487 pinctrl-0 = <&key_voldown &key_volup &key_power>;
489 label = "gpio-keys: KEY_VOLUMEDOWN";
491 gpios = <&gpa1 6 0xf>;
494 label = "gpio-keys: KEY_VOLUMEUP";
496 gpios = <&gpa1 5 0xf>;
499 label = "gpio-keys: KEY_POWER";
501 gpios = <&gpa1 7 0xf>;
502 gpio-key,wakeup = <1>;
517 card-init-hwacg-ctrl;
521 qos-dvfs-level = <100000>;
524 card-detect-delay = <200>;
525 data-timeout = <200>;
527 samsung,dw-mshc-ciu-div = <3>;
528 clock-frequency = <800000000>;
529 samsung,dw-mshc-sdr-timing = <3 0 2 0>;
530 samsung,dw-mshc-ddr-timing = <3 0 2 1>;
531 samsung,dw-mshc-sdr50-timing = <3 0 4 2>;
532 samsung,dw-mshc-sdr104-timing = <3 0 3 0>;
535 ciu_clkin = <25 50 50 25 50 100 200 50 50>;
537 /* Swapping clock drive strength */
538 clk-drive-number = <4>;
539 pinctrl-names = "default",
544 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4 &dwmmc2_cd_ext_irq>;
545 pinctrl-1 = <&sd2_clk_fast_slew_rate_1x>;
546 pinctrl-2 = <&sd2_clk_fast_slew_rate_2x>;
547 pinctrl-3 = <&sd2_clk_fast_slew_rate_3x>;
548 pinctrl-4 = <&sd2_clk_fast_slew_rate_4x>;
550 card-detect = <&gpa0 7 0xf>;
551 #address-cells = <1>;
561 compatible = "samsung,usb-notifier";
565 usb_hs_tune:usb_hs_tune {
568 /* value = <device host> */
570 tune_name = "tx_vref";
571 tune_value = <0xf 0xf>;
575 tune_name = "tx_pre_emp";
576 tune_value = <0x3 0x3>;
580 tune_name = "tx_pre_emp_plus";
581 tune_value = <0x0 0x0>;
585 tune_name = "tx_res";
586 tune_value = <0x3 0x3>;
590 tune_name = "tx_rise";
591 tune_value = <0x3 0x3>;
595 tune_name = "tx_hsxv";
596 tune_value = <0x3 0x3>;
600 tune_name = "tx_fsls";
601 tune_value = <0x3 0x3>;
605 tune_name = "rx_sqrx";
606 tune_value = <0x7 0x7>;
610 tune_name = "compdis";
611 tune_value = <0x7 0x7>;
616 tune_value = <0x2 0x2>;
620 /* true : 1, false: 0 */
621 /* <enable_user_imp user_imp_value> */
622 tune_name = "enable_user_imp";
623 tune_value = <0x0 0x0>;
627 /* PHY clk : 1 , FREE clk : 0 */
628 tune_name = "is_phyclock";
629 tune_value = <0x1 0x1>;
633 usb3_ss_tune:ss_tune {
636 /* value = <device host> */
638 tune_name = "tx0_term_offset";
639 tune_value = <0x0 0x0>;
643 tune_name = "pcs_tx_swing_full";
644 tune_value = <0x7f 0x7f>;
648 tune_name = "pcs_tx_deemph_6db";
649 tune_value = <0x1c 0x1c>;
653 tune_name = "pcs_tx_deemph_3p5db";
654 tune_value = <0x1c 0x1c>;
658 tune_name = "tx_vboost_lvl_sstx";
659 tune_value = <0x7 0x7>;
663 tune_name = "tx_vboost_lvl";
664 tune_value = <0x4 0x4>;
668 tune_name = "los_level";
669 tune_value = <0x9 0x9>;
673 tune_name = "los_bias";
674 tune_value = <0x5 0x5>;
678 tune_name = "pcs_rx_los_mask_val";
679 tune_value = <0x104 0x104>;
683 tune_name = "tx_eye_height_cntl_en";
684 tune_value = <0x1 0x1>;
688 tune_name = "pipe_tx_deemph_update_delay";
689 tune_value = <0x2 0x2>;
693 tune_name = "pcs_tx_swing_full_sstx";
694 tune_value = <0x7f 0x7f>;
697 tune_name = "rx_eq_fix_val";
698 tune_value = <0x2 0x2>;
702 tune_name = "rx_decode_mode";
703 tune_value = <0x1 0x1>;
707 tune_name = "decrese_ss_tx_imp";
708 tune_value = <0x1 0x1>;
712 usb3_hs_tune:usb3_hs_tune {
715 /* value = <device host> */
717 tune_name = "tx_pre_emp";
718 tune_value = <0x3 0x3>;
722 tune_name = "tx_pre_emp_plus";
723 tune_value = <0x0 0x0>;
727 tune_name = "tx_vref";
728 tune_value = <0x7 0x7>;
732 tune_name = "rx_sqrx";
733 tune_value = <0x7 0x7>;
737 tune_name = "tx_rise";
738 tune_value = <0x3 0x3>;
742 tune_name = "compdis";
743 tune_value = <0x7 0x7>;
747 tune_name = "tx_hsxv";
748 tune_value = <0x3 0x3>;
752 tune_name = "tx_fsls";
753 tune_value = <0x3 0x3>;
757 tune_name = "tx_res";
758 tune_value = <0x3 0x3>;
762 tune_name = "utim_clk";
763 tune_value = <0x1 0x1>;
769 compatible = "samsung,ufs-srpmb";
770 interrupts = <0 460 0>;
773 V_SYS: fixedregulator@0 {
774 compatible = "regulator-fixed";
775 regulator-name = "V_SYS";
776 regulator-min-microvolt = <4200000>;
777 regulator-max-microvolt = <4200000>;
783 dummy_audio_codec: audio_codec_dummy {
785 compatible = "snd-soc-dummy";
788 dummy_audio_cpu: audio_cpu_dummy {
789 compatible = "samsung,dummy-cpu";
795 compatible = "samsung,exynos9610-madera";
797 clock-names = "xclkout";
798 clocks = <&clock OSC_AUD>;
799 pinctrl-names = "default";
800 pinctrl-0 = <&xclkout0 &spk_id>;
802 cirrus,sysclk = <1 4 98304000>;
803 cirrus,dspclk = <8 4 147456000>;
804 cirrus,fll1-refclk = <1 0 26000000 98304000>;
806 cirrus,opclk = <3 0 12288000>;
808 gpios = <&gpm25 0 0>;
811 "HEADSETMIC", "MICBIAS1B",
812 "IN1BR", "HEADSETMIC",
813 "DMIC1", "MICBIAS2A",
815 "DMIC2", "MICBIAS2A",
817 "DMIC3", "MICBIAS2B",
819 "RECEIVER", "EPOUTN",
820 "RECEIVER", "EPOUTP",
821 "HEADPHONE", "HPOUTL",
822 "HEADPHONE", "HPOUTR",
823 "AIF2 Playback", "OPCLK",
824 "AIF2 Capture", "OPCLK",
825 "VOUTPUT", "ABOX UAIF0 Playback",
826 "SPEAKER", "Left SPK",
827 "VOUTPUTCALL", "ABOX SIFS0 Playback",
828 "ABOX SIFS0 Capture", "VINPUTCALL";
830 samsung,codec = <&abox &abox_uaif_0 &abox_uaif_1 &abox_uaif_2
831 &abox_uaif_4 &abox_dsif &abox_spdy &cs35l41_left>;
832 samsung,prefix = "ABOX", "ABOX", "ABOX", "ABOX",
833 "ABOX", "ABOX", "ABOX", "SPK";
834 samsung,aux = <&abox_effect &abox_bt>;
838 sound-dai = <&abox 0>;
841 sound-dai = <&abox_rdma_0>;
844 sound-dai = <&dummy_audio_codec>;
849 sound-dai = <&abox 1>;
852 sound-dai = <&abox_rdma_1>;
855 sound-dai = <&dummy_audio_codec>;
860 sound-dai = <&abox 2>;
863 sound-dai = <&abox_rdma_2>;
866 sound-dai = <&dummy_audio_codec>;
871 sound-dai = <&abox 3>;
874 sound-dai = <&abox_rdma_3>;
877 sound-dai = <&dummy_audio_codec>;
882 sound-dai = <&abox 4>;
885 sound-dai = <&abox_rdma_4>;
888 sound-dai = <&dummy_audio_codec>;
893 sound-dai = <&abox 5>;
896 sound-dai = <&abox_rdma_5>;
899 sound-dai = <&dummy_audio_codec>;
904 sound-dai = <&abox 6>;
907 sound-dai = <&abox_rdma_6>;
910 sound-dai = <&dummy_audio_codec>;
915 sound-dai = <&abox 7>;
918 sound-dai = <&abox_rdma_7>;
921 sound-dai = <&dummy_audio_codec>;
926 sound-dai = <&abox 8>;
929 sound-dai = <&abox_wdma_0>;
932 sound-dai = <&dummy_audio_codec>;
937 sound-dai = <&abox 9>;
940 sound-dai = <&abox_wdma_1>;
943 sound-dai = <&dummy_audio_codec>;
948 sound-dai = <&abox 10>;
951 sound-dai = <&abox_wdma_2>;
954 sound-dai = <&dummy_audio_codec>;
959 sound-dai = <&abox 11>;
962 sound-dai = <&abox_wdma_3>;
965 sound-dai = <&dummy_audio_codec>;
970 sound-dai = <&abox 12>;
973 sound-dai = <&abox_wdma_4>;
976 sound-dai = <&dummy_audio_codec>;
979 /** ToDo: enable dp_audio link after enabling DP Audio
982 * sound-dai = <&dummy_audio_cpu>;
985 * sound-dai = <&dummy_audio_codec>;
992 sound-dai = <&abox_uaif_0>;
995 sound-dai = <&cs47l35 0>;
1001 sound-dai = <&abox_uaif_1>;
1004 sound-dai = <&dummy_audio_codec>;
1010 sound-dai = <&abox_uaif_2>;
1013 sound-dai = <&cs47l35 2>;
1021 sound-dai = <&abox_uaif_4>;
1024 sound-dai = <&dummy_audio_codec>;
1030 sound-dai = <&abox_dsif>;
1033 sound-dai = <&dummy_audio_codec>;
1038 sound-dai = <&abox_spdy>;
1041 sound-dai = <&dummy_audio_codec>;
1046 sound-dai = <&abox 13>;
1049 sound-dai = <&dummy_audio_codec>;
1054 sound-dai = <&abox 14>;
1057 sound-dai = <&dummy_audio_codec>;
1062 sound-dai = <&abox 15>;
1065 sound-dai = <&dummy_audio_codec>;
1073 sound-dai = <&cs47l35 1>;
1076 sound-dai = <&cs35l41_left 0>;
1080 cpu-dsp-voice-control@0 {
1082 sound-dai = <&cs47l35 3>;
1085 sound-dai = <&dummy_audio_codec>;
1091 sound-dai = <&cs47l35 4>;
1094 sound-dai = <&dummy_audio_codec>;
1100 sound-dai = <&cs47l35 5>;
1103 sound-dai = <&dummy_audio_codec>;
1109 sound-dai = <&cs47l35 6>;
1112 sound-dai = <&dummy_audio_codec>;
1118 sound-dai = <&cs47l35 7>;
1121 sound-dai = <&dummy_audio_codec>;
1127 compatible = "samsung,exynos-sleepgpio";
1128 pinctrl-names = "default", "sleep";
1129 pinctrl-0 = <&sleep_top &sleep_fsys &sleep_shub &normal_alive &normal_cmgp>;
1130 pinctrl-1 = <&sleep_top &sleep_fsys &sleep_shub &sleep_alive>;
1134 initial_run_bcm_ip = <0>, <1>, <2>, <3>, <4>, <6>, <7>, <8>, <9>, <10>,
1135 <11>, <12>, <13>, <14>, <15>, <16>, <17>, <18>, <19>, <20>,
1136 <21>, <22>, <23>, <24>, <25>, <26>, <27>, <28>, <29>, <30>;
1138 }; /* end of __overlay__ */
1139 }; /* end of fragment */
1140 }; /* end of root */
1143 #address-cells = <1>;
1146 s2mu106-fuelgauge@3B {
1147 compatible = "samsung,s2mu106-fuelgauge";
1149 pinctrl-names = "default";
1150 pinctrl-0 = <&fuel_irq>;
1151 fuelgauge,fuel_int = <&gpa2 3 0>;
1152 fuelgauge,fuel_alert_vol = <3400>;
1153 fuelgauge,fuel_alert_soc = <1>;
1154 fuelgauge,type_str = "SDI";
1155 fuelgauge,model_type = <1>;
1159 compatible = "sec-usbpd,i2c";
1161 pinctrl-names = "default";
1162 pinctrl-0 = <&usbpd_irq>;
1163 usbpd,usbpd_int = <&gpa2 2 0>;
1167 pdic,max_power = <5000>;
1168 pdic,op_power = <2500>;
1169 pdic,max_voltage = <6000>;
1170 pdic,max_current = <2000>;
1171 pdic,min_current = <500>;
1173 pdic,giveback = <0>;
1174 pdic,usb_com_capable = <1>;
1175 pdic,no_usb_suspend = <1>;
1178 source,max_voltage = <5000>;
1179 source,min_voltage = <4000>;
1180 source,max_power = <2500>;
1183 sink,capable_max_voltage = <5000>;
1189 #address-cells = <1>;
1193 compatible = "samsung,s2mu106mfd";
1195 pinctrl-names = "default";
1196 pinctrl-0 = <&if_pmic_irq>;
1197 s2mu106,irq-gpio = <&gpa2 1 0>;
1202 muic,uart_addr = "11850000.pinctrl";
1203 muic,uart_rxd = "gpq0-3";
1204 muic,uart_txd = "gpq0-4";
1210 haptic,pwm_id = <1>;
1211 haptic,operation_mode = <2>; /* 0 : ERM_I2C, 1 : ERM_GPIO, 2 : LRA */
1213 haptic,hbst_automode;
1214 haptic,boost_level = <5000>;
1217 s2mcs02-charger@41 {
1218 compatible = "samsung,s2mcs02-charger";
1220 default-clk = <100000000>;
1224 /* Change here if you want to use FLED_EN pin
1225 fled-en1-gpio = <&gpg1 2 0>;
1226 fled-en2-gpio = <&gpg1 2 0>;
1227 fled-en3-gpio = <&gpg1 2 0>;
1228 fled-en4-gpio = <&gpg1 2 0>;
1231 default_current = <50>;
1232 max_current = <200>;
1233 default_timer = <0>;
1262 battery,charger_name = "s2mu106-charger";
1263 battery,chg_gpio_en = <0>;
1264 battery,chg_polarity_en = <0>;
1265 battery,chg_gpio_status = <0>;
1266 battery,chg_polarity_status = <0>;
1267 battery,chg_float_voltage = <4350>;
1268 battery,chg_recharge_vcell = <4250>;
1269 battery,chg_full_vcell = <4300>;
1270 battery,full_check_type = <2>;
1271 battery,full_check_type_2nd = <2>;
1272 battery,input_current_limit = <
1273 500 450 500 1200 500 1200 1200 1000 1000 1000
1274 1000 500 500 1200 1000 500 450>;
1275 battery,fast_charging_current = <
1276 500 450 500 1200 500 1200 1200 1000 1000 1000
1277 1000 500 500 1200 1000 500 450>;
1278 battery,full_check_current_1st = <
1279 300 0 300 300 300 300 300 300 300 300
1280 300 300 300 300 300 300 0>;
1281 battery,full_check_current_2nd = <
1282 100 0 100 100 100 100 100 100 100 100
1283 100 100 100 100 100 100 0>;
1290 compatible = "murata,ncp03wf104";
1292 pullup-uv = <1800000>;
1293 pullup-ohm = <100000>;
1295 io-channels = <&exynos_adc 0>;
1296 io-channel-names = "cpu_therm";
1298 battery_thermistor {
1299 compatible = "murata,ncp15xh103";
1301 pullup-uv = <1800000>;
1302 pullup-ohm = <100000>;
1304 io-channels = <&exynos_adc 1>;
1305 io-channel-names = "bat_therm";
1308 compatible = "murata,ncp15xh103";
1310 pullup-uv = <1800000>;
1312 pulldown-ohm = <10000>;
1313 io-channels = <&exynos_adc 4>;
1314 io-channel-names = "pa_therm";
1318 compatible = "murata,ncp03wf104";
1320 pullup-uv = <1800000>;
1321 pullup-ohm = <100000>;
1323 io-channels = <&exynos_adc 7>;
1324 io-channel-names = "board_therm";
1326 usb_con_thermistor {
1327 compatible = "murata,ncp03wf104";
1329 pullup-uv = <1800000>;
1330 pullup-ohm = <100000>;
1332 io-channels = <&exynos_adc 8>;
1333 io-channel-names = "usb_con_therm";
1338 #address-cells = <1>;
1342 samsung,i2c-max-bus-freq = <600000>;
1345 compatible = "sec-nfc";
1348 sec-nfc,ven-gpio = <&gpg0 0 0>;
1349 sec-nfc,firm-gpio = <&gpg0 2 0>;
1351 sec-nfc,irq-gpio = <&gpa1 2 0>;
1352 sec-nfc,clk_req-gpio = <&gpg0 1 0>;
1353 sec-nfc,ldo_en = <&gpm22 0 0>;
1354 sec-nfc,pmic-ldo = "vdd_ldo37";
1356 clock-names = "OSC_NFC";
1357 clocks = <&clock OSC_NFC>;
1358 pinctrl-names = "default";
1359 pinctrl-0 = <&xclkout1 &nfc_pd>;
1365 pinctrl-names = "default";
1366 pinctrl-0 = <&motor_pwm>;
1371 exynos,block-type = "sda";
1372 exynos,fips-block_offset = <5>;
1376 /* chub irq pin lists */
1377 chub-irq-pin = <162>;
1380 <&clock UMUX_CLKCMU_SHUB_BUS>,
1381 /* MAG. SENSOR : AK09918C */
1382 <&clock CMGP01_USI>,
1383 /* PROX. SENSOR : TMD3702 */
1384 <&clock CMGP03_USI>,
1385 /* ALS SENSOR : BH1726 */
1392 os-type = "os.checked_0.bin";
1396 pmic_irq: pmic-irq {
1397 samsung,pins = "gpa2-0";
1398 samsung,pin-pud = <3>;
1399 samsung,pin-drv = <3>;
1402 sub_pmic_irq: sub-pmic-irq {
1403 samsung,pins = "gpa1-3";
1404 samsung,pin-function = <0>;
1405 samsung,pin-pud = <0>;
1406 samsung,pin-drv = <0>;
1410 key_voldown: key-voldown {
1411 samsung,pins = "gpa1-6";
1412 samsung,pin-function = <0xf>;
1413 samsung,pin-pud = <0>;
1414 samsung,pin-drv = <0>;
1417 key_volup: key-volup {
1418 samsung,pins = "gpa1-5";
1419 samsung,pin-function = <0xf>;
1420 samsung,pin-pud = <0>;
1421 samsung,pin-drv = <0>;
1424 key_power: key-power {
1425 samsung,pins = "gpa1-7";
1426 samsung,pin-function = <0xf>;
1427 samsung,pin-pud = <0>;
1428 samsung,pin-drv = <0>;
1431 dwmmc2_cd_ext_irq: dwmmc2_cd_ext_irq {
1432 samsung,pins = "gpa0-7";
1433 samsung,pin-function = <0xf>;
1434 samsung,pin-pud = <0>;
1435 samsung,pin-drv = <3>;
1438 attn_irq: attn-irq {
1439 samsung,pins = "gpa2-4";
1440 samsung,pin-function = <0xf>;
1441 samsung,pin-pud = <0>;
1442 samsung,pin-drv = <0>;
1445 attn_input: attn-input {
1446 samsung,pins = "gpa2-4";
1447 samsung,pin-function = <0>;
1448 samsung,pin-pud = <1>;
1451 if_pmic_irq: if-pmic-irq {
1452 samsung,pins = "gpa2-1";
1453 samsung,pin-function = <0>;
1454 samsung,pin-pud = <0>;
1455 samsung,pin-drv = <0>;
1458 fuel_irq: fuel-irq {
1459 samsung,pins = "gpa2-3";
1460 samsung,pin-function = <0>;
1461 samsung,pin-pud = <0>;
1462 samsung,pin-drv = <0>;
1465 usbpd_irq: usbpd-irq {
1466 samsung,pins = "gpa2-2";
1467 samsung,pin-function = <0xf>;
1468 samsung,pin-pud = <3>;
1469 samsung,pin-drv = <3>;
1471 /* TODO: Need to check pin number
1472 small_charger_irq: small-charger-irq {
1473 samsung,pins = "gpa2-5";
1474 samsung,pin-function = <0>;
1475 samsung,pin-pud = <0>;
1476 samsung,pin-drv = <0>;
1479 cap_int_status: cap_int_status {
1480 samsung,pins = "gpa2-6";
1481 samsung,pin-function = <0>;
1482 samsung,pin-val = <1>;
1483 samsung,pin-pud = <3>;
1486 lra_int_status: lra_int_status {
1487 samsung,pins = "gpa2-7";
1488 samsung,pin-function = <0>;
1489 samsung,pin-val = <1>;
1490 samsung,pin-pud = <3>;
1493 sleep_alive: sleep-state {
1494 PIN_EINT_PUD(gpa0-2, DIS); /* SPK_PA_INT */
1495 PIN_IN_PUD(gpa0-3, DIS); /* SC_INTB */
1496 PIN_IN_PUD(gpa0-4, DIS); /* IF_PMIC_MRSTB */
1497 PIN_EINT_PUD(gpa0-6, DIS); /* CODEC_IRQ_N */
1498 PIN_EINT_PUD(gpa0-7, DIS); /* SD_SIM_DET */
1500 //PIN_IN_PUD(gpa1-1, DOWN); /* FP_RST_NT */
1501 PIN_EINT_PUD(gpa1-2, DIS); /* NFC_IRQ */
1502 //PIN_IN_PUD(gpa1-3, DOWN); /* TP_RST_N */
1503 PIN_IN_PUD(gpa1-5, DIS); /* KEY_VOL_UP */
1504 PIN_IN_PUD(gpa1-6, DIS); /* KEY_VOL_DOWN */
1505 //PIN_INT_PUD(gpa1-7, DIS); /* PMIC_ONOB */
1507 //PIN_EINT_PUD(gpa2-0, DIS); /* PMIC_IRQB */
1508 //PIN_EINT_PUD(gpa2-1, DIS); /* IF_PMIC_IRQB */
1509 PIN_EINT_PUD(gpa2-2, DIS); /* IF_PMIC_INTB */
1510 //PIN_EINT_PUD(gpa2-3, DIS); /* FG_INTB */
1511 PIN_EINT_PUD(gpa2-4, DIS); /* TP_INT_B */
1512 //PIN_IN_PUD(gpa2-5, DOWN); /* MOTOR_RSTN */
1513 PIN_EINT_PUD(gpa2-6, DIS); /* SAR_PS_INT */
1514 PIN_EINT_PUD(gpa2-7, DIS); /* MOTOR_INTN */
1516 PIN_FUNC_PUD(gpq0-2, UP); /* SPEEDY_PMIC */
1517 PIN_IN_PUD(gpq0-3, DOWN); /* AP_UART0_RXD */
1518 PIN_IN_PUD(gpq0-4, UP); /* AP_UART0_TXD */
1521 normal_alive: normal-state {
1522 PIN_EINT_PUD(gpa0-2, DIS); /* SPK_PA_INT */
1523 PIN_IN_PUD(gpa0-3, DIS); /* SC_INTB */
1524 PIN_IN_PUD(gpa0-4, DIS); /* IF_PMIC_MRSTB */
1525 PIN_EINT_PUD(gpa0-6, DIS); /* CODEC_IRQ_N */
1526 PIN_EINT_PUD(gpa0-7, DIS); /* SD_SIM_DET */
1528 PIN_EINT_PUD(gpa1-2, DIS); /* NFC_IRQ */
1529 PIN_EINT_PUD(gpa1-5, DIS); /* KEY_VOL_UP */
1530 PIN_EINT_PUD(gpa1-6, DIS); /* KEY_VOL_DOWN */
1532 PIN_EINT_PUD(gpa2-2, DIS); /* IF_PMIC_INTB */
1533 PIN_EINT_PUD(gpa2-4, DIS); /* TP_INT_B */
1534 PIN_EINT_PUD(gpa2-6, DIS); /* SAR_PS_INT */
1535 PIN_EINT_PUD(gpa2-7, DIS); /* MOTOR_INTN */
1537 PIN_FUNC_PUD(gpq0-2, UP); /* SPEEDY_PMIC */
1538 PIN_FUNC_PUD(gpq0-3, DOWN); /* AP_UART0_RXD */
1539 PIN_FUNC_PUD(gpq0-4, UP); /* AP_UART0_TXD */
1544 sleep_cmgp: sleep-state {
1545 PIN_IN_PUD(gpm2-0, DIS); /* LCD_SCL */
1546 PIN_IN_PUD(gpm3-0, DIS); /* LCD_SCA */
1547 PIN_IN_PUD(gpm4-0, DIS); /* SENSOR_SCL_1.8V */
1548 PIN_IN_PUD(gpm5-0, DIS); /* SENSOR_SDA_1.8V */
1549 PIN_IN_PUD(gpm6-0, DIS); /* LT_SENSOR_SCL_1.8V */
1550 PIN_IN_PUD(gpm7-0, DIS); /* LT_SENSOR_SDA_1.8V */
1551 PIN_IN_PUD(gpm8-0, DIS); /* MOTOR_I2C_SCL */
1552 PIN_IN_PUD(gpm9-0, DIS); /* AP_UART0_TXD */
1553 PIN_IN_PUD(gpm10-0, DIS); /* SAR_SENSOR_SCL */
1554 PIN_IN_PUD(gpm11-0, DIS); /* SAR_SENSOR_SDA */
1555 PIN_IN_PUD(gpm16-0, DOWN); /* NC */
1556 PIN_IN_PUD(gpm17-0, DOWN); /* NC */
1557 PIN_EINT_PUD(gpm20-0, DIS); /* PSENSOR_INT */
1558 //PIN_IN_PUD(gpm22-0, DOWN); /* NFC_PVDDEN */
1559 PIN_IN_PUD(gpm25-0, DIS); /* SPK_ID */
1562 normal_cmgp: normal-cmgp {
1563 //PIN_EINT_PUD(gpm20-0, UP); /* PSENSOR_INT */
1564 PIN_FUNC_PUD(gpm2-0, DIS); /* LCD_SCL */
1565 PIN_FUNC_PUD(gpm3-0, DIS); /* LCD_SCA */
1566 PIN_FUNC_PUD(gpm4-0, UP); /* SENSOR_SCL_1.8V */
1567 PIN_FUNC_PUD(gpm5-0, UP); /* SENSOR_SDA_1.8V */
1568 PIN_FUNC_PUD(gpm6-0, UP); /* LT_SENSOR_SCL_1.8V */
1569 PIN_FUNC_PUD(gpm7-0, UP); /* LT_SENSOR_SDA_1.8V */
1570 PIN_FUNC_PUD(gpm8-0, DIS); /* MOTOR_I2C_SCL */
1571 PIN_FUNC_PUD(gpm9-0, DIS); /* MOTOR_I2C_SDA */
1572 PIN_FUNC_PUD(gpm10-0, DIS); /* SAR_SENSOR_SCL */
1573 PIN_FUNC_PUD(gpm11-0, DIS); /* SAR_SENSOR_SDA */
1574 PIN_EINT_PUD(gpm20-0, DIS); /* PSENSOR_INT */
1575 PIN_IN_PUD(gpm25-0, DIS); /* SPK_ID */
1580 sleep_aud: sleep-state {
1581 PIN_SLP(gpb0-0, IN, DOWN); /* NC */
1582 PIN_SLP(gpb0-1, IN, DOWN); /* I2S0_CODEC_BCLK */
1583 PIN_SLP(gpb0-2, IN, DOWN); /* I2S0_CODEC_WS */
1584 PIN_SLP(gpb0-3, IN, DOWN); /* I2S0_CODEC_SDO */
1585 PIN_SLP(gpb0-4, IN, DOWN); /* I2S0_CODEC_SDI */
1587 PIN_SLP(gpb1-0, IN, DOWN); /* NC */
1588 PIN_SLP(gpb1-1, IN, DOWN); /* NC */
1589 PIN_SLP(gpb1-2, IN, DOWN); /* NC */
1590 PIN_SLP(gpb1-3, IN, DOWN); /* NC */
1592 PIN_SLP(gpb2-0, IN, DOWN); /* I2S2_CODEC_BCLK */
1593 PIN_SLP(gpb2-1, IN, DOWN); /* I2S2_CODEC_WS */
1594 PIN_SLP(gpb2-2, IN, DOWN); /* I2S2_CODEC_SDO */
1595 PIN_SLP(gpb2-3, IN, DOWN); /* I2S2_CODEC_SDI */
1596 PIN_SLP(gpb2-4, IN, DOWN); /* FM_SPDY_S620 */
1601 sleep_fsys: sleep-fsys {
1602 PIN_SLP(gpf0-0, PREV, DIS); /* UFS_EMBD_REFCLK_OUT */
1603 PIN_SLP(gpf0-1, PREV, DIS); /* UFS_EMBD_RESETN */
1608 /* Warm reset information from AP */
1609 pm_wrsti: pm-wrsti {
1610 samsung,pins = "gpg0-7";
1611 samsung,pin-con-pdn = <3>;
1614 motor_pwm: motor_pwm {
1615 samsung,pins = "gpg4-2";
1616 samsung,pin-function = <2>;
1617 samsung,pin-pud = <1>;
1618 samsung,pin-drv = <0>;
1622 samsung,pins ="gpg3-4";
1623 samsung,pin-function = <1>;
1624 samsung,pin-val = <1>;
1625 samsung,pin-pud = <3>;
1629 samsung,pins ="gpg3-4";
1630 samsung,pin-function = <0>;
1631 samsung,pin-val = <0>;
1632 samsung,pin-pud = <1>;
1635 lcd_reset: lcd_reset {
1636 samsung,pins = "gpg1-4";
1637 samsung,pin-function = <1>;
1638 samsung,pin-pud = <3>;
1639 samsung,pin-val = <1>;
1640 samsung,pin-con-pdn =<3>;
1641 samsung,pin-pud-pdn = <3>;
1644 codec_reset: codec-reset {
1645 samsung,pins ="gpg3-2";
1646 samsung,pin-pud = <0>;
1647 samsung,pin-con-pdn =<3>;
1648 samsung,pin-pud-pdn = <0>;
1651 codec_en: codec_en {
1652 samsung,pins = "gpg1-1";
1653 samsung,pin-function = <1>;
1654 samsung,pin-pud = <3>;
1655 samsung,pin-val = <1>;
1656 samsung,pin-con-pdn =<3>;
1657 samsung,pin-pud-pdn = <3>;
1660 pa_reset: pa-reset {
1661 samsung,pins ="gpg3-3";
1662 samsung,pin-con-pdn =<3>;
1663 samsung,pin-pud-pdn = <3>;
1667 samsung,pins ="gpg0-0";
1668 samsung,pin-function = <1>;
1669 samsung,pin-pud = <0>;
1670 samsung,pin-con-pdn =<3>;
1671 samsung,pin-pud-pdn = <0>;
1674 sleep_top: sleep-top {
1675 PIN_SLP(gpp0-0, IN, DIS); /* I2C0_FG_PMIC_SDA */
1676 PIN_SLP(gpp0-1, IN, DIS); /* I2C0_FG_PMIC_SCL */
1677 PIN_SLP(gpp0-2, IN, DIS); /* I2C1_IF_PMIC_SDA */
1678 PIN_SLP(gpp0-3, IN, DIS); /* I2C1_IF_PMIC_SCL */
1680 /* Add 18.12.31 start */
1681 PIN_SLP(gpp0-4, IN, DIS); /* I2C2_NFC_SDA */
1682 PIN_SLP(gpp0-5, IN, DIS); /* I2C2_NFC_SCL */
1683 PIN_SLP(gpp0-6, IN, DOWN); /* N.C. */
1684 PIN_SLP(gpp0-7, IN, DOWN); /* N.C. */
1686 PIN_SLP(gpp1-0, IN, DIS); /* I2C4_TSP_SDA */
1687 PIN_SLP(gpp1-1, IN, DIS); /* I2C4_TSP_SCL */
1688 PIN_SLP(gpp1-2, IN, DOWN); /* N.C. */
1689 PIN_SLP(gpp1-3, IN, DOWN); /* N.C. */
1690 PIN_SLP(gpp1-4, IN, DOWN); /* N.C. */
1691 PIN_SLP(gpp1-5, IN, DOWN); /* N.C. */
1693 PIN_SLP(gpc0-0, IN, DIS); /* I2C_CAM0_REAR_MAIN_SDA */
1694 PIN_SLP(gpc0-1, IN, DIS); /* I2C_CAM0_REAR_MAIN_SCL */
1695 PIN_SLP(gpc0-2, IN, DIS); /* I2C_CAM1_REAR_SUB_SDA */
1696 PIN_SLP(gpc0-3, IN, DIS); /* I2C_CAM1_REAR_SUB_SCL */
1697 PIN_SLP(gpc0-4, IN, DIS); /* I2C_CAM2_FRONT_SDA */
1698 PIN_SLP(gpc0-5, IN, DIS); /* I2C_CAM2_FRONT_SCL */
1699 PIN_SLP(gpc0-6, IN, DOWN); /* N.C. */
1700 PIN_SLP(gpc0-7, IN, DOWN); /* N.C. */
1701 /* Add 18.12.31 end */
1703 /* ADD 19.01.01 start */
1704 PIN_SLP(gpc1-2, IN, DOWN); /* N.C. */
1706 PIN_SLP(gpc2-3, PREV, DIS); /* DISP_TES added 19.01.05 */
1707 PIN_SLP(gpc2-4, IN, DOWN); /* N.C. */
1709 PIN_SLP(gpg0-0, PREV, DIS); /* NFC_PD */
1711 //PIN_SLP(gpg0-1, PREV, DIS); /* NFC_CLKREQ */
1712 //PIN_SLP(gpg0-2, PREV, DIS); /* NFC_WAKE */
1713 /* ADD 19.01.01 end t*/
1715 PIN_SLP(gpg0-7, PREV, DIS); /* PMIC_WRSTBI */
1717 //PIN_SLP(gpg1-1, PREV, DIS); /* VDD_CODEC_EN */
1718 PIN_SLP(gpg1-4, PREV, DIS); /* LCD_RESET_N */
1720 //PIN_SLP(gpg2-0, PREV, DIS); /* FP_LDO_EN_3V3 */
1721 //PIN_SLP(gpg2-1, PREV, DIS); /* LDO_BL_EN */
1722 //PIN_SLP(gpg2-2, PREV, DIS); /* FP_LDOEN_1V8 */
1723 //PIN_SLP(gpg2-3, PREV, DIS); /* FCAM_AVDD_EN */
1724 //PIN_SLP(gpg2-4, PREV, DIS); /* FCAM_DVDD_EN */
1725 //PIN_SLP(gpg2-5, PREV, DIS); /* CAM_OVDD_EN */
1726 //PIN_SLP(gpg2-6, PREV, DIS); /* RCAM_MAIN_AVDD_EN */
1727 //PIN_SLP(gpg2-7, PREV, DIS); /* RCAM_DVDD_EN */
1729 //PIN_SLP(gpg3-0, PREV, DIS); /* LCD_BIAS_ENN */
1730 //PIN_SLP(gpg3-1, PREV, DIS); /* LCD_BIAS_ENP */
1731 //PIN_SLP(gpg3-3, PREV, DIS); /* AUDIO_PA_RST */
1732 //PIN_SLP(gpg3-4, PREV, DIS); /* LCD_LDO_1V8_En */
1734 //PIN_SLP(gpg4-0, PREV, DIS); /* XBOOTLDO */
1739 sleep_shub: sleep-shub {
1740 PIN_SLP(gph0-0, IN, DOWN); /* ACC_SPI_CLK */
1741 PIN_SLP(gph0-1, IN, DOWN); /* ACC_SPI_MOSI */
1742 PIN_SLP(gph0-2, IN, DOWN); /* ACC_SPI_MISO */
1743 PIN_SLP(gph0-3, IN, DOWN); /* ACC_SPI_CS_N */
1744 PIN_SLP(gph1-0, IN, DOWN); /* ACCEL_GRY0_INT1 */
1745 PIN_SLP(gph1-1, IN, DOWN); /* ACCEL_GRY0_INT2 */
1746 PIN_SLP(gph1-2, IN, DOWN); /* LIGHT_INT */
1756 maximum-speed = "high-speed";
1761 usb3phy-isolation = <1>;
1763 hs_tune_param = <&usb_hs_tune>;
1768 usb3phy-isolation = <1>;
1770 hs_tune_param = <&usb3_hs_tune>;
1771 ss_tune_param = <&usb3_ss_tune>;
1779 lcd_info = <&nt36672a>;
1780 /* reset, lcd_bias_enp, lcd_bias_enn, lcd_bl_en*/
1781 gpios = <&gpg1 4 0x1>, <&gpg3 1 0x1>, <&gpg3 0 0x1>, <&gpg2 1 0x1>;
1782 pinctrl-names = "lcd_reset";
1783 pinctrl-0 = <&lcd_reset>;
1788 usi_v2_mode = "spi";
1789 status = "disabled";
1792 /* USI_SHUB_0_I2C */
1794 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1795 status = "disabled";
1800 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1801 usi_v2_mode = "i2c";
1805 /* USI_0_CMGP_I2C */
1807 usi_v2_mode = "i2c";
1813 usi_v2_mode = "i2c";
1817 /* USI_1_CMGP_I2C */
1819 usi_v2_mode = "i2c";
1825 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1826 usi_v2_mode = "i2c";
1830 /* USI_2_CMGP_I2C */
1832 usi_v2_mode = "i2c";
1838 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1839 status = "disabled";
1842 /* USI_3_CMGP_I2C */
1844 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1845 status = "disabled";
1850 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1851 status = "disabled";
1854 /* USI_4_CMGP_I2C */
1856 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1857 status = "disabled";
1862 usi_v2_mode = "uart";
1866 /* USI_PERI_CAMI2C_0 */
1867 &usi_peri_cami2c_0 {
1868 usi_v2_mode = "i2c";
1872 /* USI_PERI_CAMI2C_1 */
1873 &usi_peri_cami2c_1 {
1874 usi_v2_mode = "i2c";
1878 /* USI_PERI_CAMI2C_2 */
1879 &usi_peri_cami2c_2 {
1880 usi_v2_mode = "i2c";
1884 /* USI_PERI_CAMI2C_3 */
1885 &usi_peri_cami2c_3 {
1886 usi_v2_mode = "i2c";
1890 /* USI_PERI_SPI_0 */
1892 usi_v2_mode = "spi";
1896 /* USI_PERI_SPI_1 */
1898 usi_v2_mode = "spi";
1902 /* USI_PERI_USI_0 */
1904 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1905 status = "disabled";
1908 /* USI_PERI_USI_0_I2C */
1909 &usi_peri_usi_0_i2c {
1910 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1911 status = "disabled";
1914 /* USI_PERI_SPI_2 */
1916 usi_v2_mode = "spi";
1922 pinctrl-names = "default";
1923 pinctrl-0 = <&spi6_bus &spi6_cs_func &pa_reset>;
1924 /*cs-gpios = <&gpp2 3 0>;*/
1927 #address-cells = <1>;
1929 cs35l41_left: cs35l41@0 {
1930 compatible = "cirrus,cs35l41";
1933 spi-max-frequency = <9600000>;
1935 interrupts = <2 0 0>;
1936 interrupt-controller;
1937 interrupt-parent = <&gpa0>;
1938 reset-gpios = <&gpg3 3 0>;
1939 #sound-dai-cells = <1>;
1941 VA-supply = <&l42_reg>;
1942 VP-supply = <&V_SYS>;
1944 cirrus,boost-peak-milliamp = <4500>;
1945 cirrus,boost-ind-nanohenry = <1000>;
1946 cirrus,boost-cap-microfarad = <15>;
1947 cirrus,asp-sdout-hiz = <0x1>;
1948 cirrus,gpio-config2 {
1949 cirrus,gpio-src-select = <0x4>;
1950 cirrus,gpio-output-enable;
1954 #address-cells = <1>;
1956 prince_l_dsp: adsp@2b80000 {
1959 protectionsp_default {
1961 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
1962 cirrus,bin-file = "cs35l41-dsp1-spk-prot-music-aac.bin";
1964 protectionsp_music_aac {
1966 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
1967 cirrus,bin-file = "cs35l41-dsp1-spk-prot-music-aac.bin";
1969 protectionsp_indmusic_aac {
1971 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
1972 cirrus,bin-file = "cs35l41-dsp1-spk-prot-indmusic-aac.bin";
1974 protectionsp_voice_aac {
1976 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
1977 cirrus,bin-file = "cs35l41-dsp1-spk-prot-voice-aac.bin";
1979 protectionsp_ringtone_aac {
1981 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
1982 cirrus,bin-file = "cs35l41-dsp1-spk-prot-ringtone-aac.bin";
1984 protectionsp_notification_aac {
1986 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
1987 cirrus,bin-file = "cs35l41-dsp1-spk-prot-notification-aac.bin";
1989 protectionsp_music_qisheng {
1991 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
1992 cirrus,bin-file = "cs35l41-dsp1-spk-prot-music-qisheng.bin";
1994 protectionsp_indmusic_qisheng {
1996 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
1997 cirrus,bin-file = "cs35l41-dsp1-spk-prot-indmusic-qisheng.bin";
1999 protectionsp_voice_qisheng {
2001 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
2002 cirrus,bin-file = "cs35l41-dsp1-spk-prot-voice-qisheng.bin";
2004 protectionsp_ringtone_qisheng{
2006 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
2007 cirrus,bin-file = "cs35l41-dsp1-spk-prot-ringtone-qisheng.bin";
2009 protectionsp_notification_qisheng {
2011 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
2012 cirrus,bin-file = "cs35l41-dsp1-spk-prot-notification-qisheng.bin";
2016 cirrus,wmfw-file = "cs35l41-dsp1-diag.wmfw";
2017 cirrus,bin-file = "cs35l41-dsp1-aac-cali.bin";
2019 calibration_qisheng{
2021 cirrus,wmfw-file = "cs35l41-dsp1-diag.wmfw";
2022 cirrus,bin-file = "cs35l41-dsp1-qissheng-cali.bin";
2028 /*cs-gpio = <gpm8 0 0>*/
2029 /*cs-gpios = <&gpp2 3 0>;*/
2030 samsung,spi-feedback-delay = <1>;
2031 samsung,spi-chip-select-mode = <0>;
2037 pinctrl-names = "default";
2038 pinctrl-0 = <&spi9_bus &spi9_cs_func &codec_en>;
2040 #address-cells = <1>;
2042 cs47l35: cs47l35@0 {
2043 compatible = "cirrus,cs47l35";
2046 spi-max-frequency = <11000000>;
2048 interrupts = <6 8 0>;
2049 interrupt-controller;
2050 #interrupt-cells = <2>;
2051 interrupt-parent = <&gpa0>;
2054 #sound-dai-cells = <1>;
2056 AVDD-supply = <&l42_reg>;
2057 DBVDD1-supply = <&l42_reg>;
2058 DBVDD2-supply = <&l42_reg>;
2059 CPVDD1-supply = <&l42_reg>;
2061 /*CPVDD2-supply = <&l44_reg>;*/
2062 /*DCVDD-supply = <&l44_reg>;*/
2063 SPKVDD-supply = <&V_SYS>;
2065 reset-gpios = <&gpg3 2 0>;
2067 cirrus,dmic-ref = <0 0 0>;
2073 cirrus,gpsw = <1 0>;
2075 pinctrl-names = "probe", "active";
2076 pinctrl-0 = <&codec_reset>;
2077 pinctrl-1 = <&codec_reset &cs47l35_defaults>;
2079 madera_pinctrl: madera-pinctrl {
2080 compatible = "cirrus,madera-pinctrl";
2081 cs47l35_defaults: cs47l35-gpio-defaults {
2100 gpio6 { /* Amp Clock */
2107 gpio5 { /* Mic Polarity Flip */
2116 regulator-min-microvolt = <3000000>;
2117 regulator-max-microvolt = <3000000>;
2120 audio_micbias1:MICBIAS1 {
2121 regulator-min-microvolt = <2800000>;
2122 regulator-max-microvolt = <2800000>;
2123 cirrus,ext-cap = <1>;
2126 regulator-active-discharge = <1>;
2129 regulator-active-discharge = <1>;
2133 regulator-min-microvolt = <2800000>;
2134 regulator-max-microvolt = <2800000>;
2135 cirrus,ext-cap = <1>;
2139 regulator-active-discharge = <1>;
2142 regulator-active-discharge = <1>;
2146 #address-cells = <1>;
2152 cirrus,micd-configs = <
2155 cirrus,micd-bias-start-time = <8>;
2156 cirrus,micd-rate = <6>;
2157 /*cirrus,micd-pol-gpios = <&cs47l35 4 0>;*/
2158 cirrus,micd-detect-debounce-ms = <700>;
2159 /*cirrus,jd-use-jd2;*/
2160 /*cirrus,micd-clamp-mode = <0x8>;*/
2161 cirrus,micd-manual-debounce = <2>;
2166 #address-cells = <1>;
2172 cirrus,wmfw-file = "marley-dsp2-aov-frontend.wmfw";
2173 cirrus,bin-file = "marley-dsp2-aov-vrgain.bin";
2175 cirrus,compr-caps = <14 1 4 1 16000>;
2183 cirrus,wmfw-file = "marley-dsp3-aov-control.wmfw";
2184 cirrus,bin-file = "None";
2186 cirrus,compr-caps = <14 1 4 1 16000>;
2193 samsung,spi-feedback-delay = <1>;
2194 samsung,spi-chip-select-mode = <0>;