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 "exynos9610-robusta2-camera.dtsi"
17 #include "novatek-nt36xxx-i2c.dtsi"
18 #include "himax-hx83112a-i2c.dtsi"
19 #include "wing-sensor.dtsi"
20 #include "exynos9610-robusta2-motor.dtsi"
31 compatible = "samsung,exynos9610-oscclk";
32 clock-frequency = <26000000>;
38 compatible = "android,firmware";
40 compatible = "android,vbmeta";
41 parts = "vbmeta,boot,system,vendor";
44 compatible = "android,fstab";
46 compatible = "android,vendor";
47 dev = "/dev/block/platform/13520000.ufs/by-name/vendor";
50 fsmgr_flags = "wait,avb,slotselect";
58 compatible = "samsung,ifconn";
59 ifconn,usbpd = "s2mm005";
60 ifconn,muic = "s2mu106-muic";
65 compatible = "egistec,et320";
68 clocks = <&clock GATE_SPI_1_QCH>, <&clock SPI1>;
69 clock-names = "spi", "spi_busclk0";
70 pinctrl-names = "default";
71 pinctrl-0 = <&spi7_bus &spi7_cs_func>;
72 egistec,gpio_irq = <&gpa0 5 0>;
73 egistec,gpio_rst = <&gpa1 1 0>;
74 egistec,gpio_ldo3p3_en = <&gpg2 0 0>;
75 egistec,gpio_ldo1p8_en = <&gpg2 2 0>;
84 compatible = "samsung,s2mpu09mfd";
85 acpm-ipc-channel = <2>;
87 s2mpu09,wakeup = "enabled";
88 s2mpu09,irq-gpio = <&gpa2 0 0>;
91 interrupt-parent = <&gpa2>;
92 pinctrl-names = "default";
93 pinctrl-0 = <&pmic_irq &pm_wrsti>;
95 wtsr_en = "enabled"; /* enable */
96 smpl_en = "enabled"; /* enable */
97 wtsr_timer_val = <3>; /* 1000ms */
98 smpl_timer_val = <4>; /* 500ms */
99 check_jigon = <0>; /* do not check jigon */
100 /* RTC: If it's first boot, reset rtc to 1/1/2017 12:00:00(Sun) */
103 init_time,hour = <12>;
104 init_time,mday = <1>;
106 init_time,year = <117>;
107 init_time,wday = <0>;
111 regulator-name = "vdd_mif";
112 regulator-min-microvolt = <500000>;
113 regulator-max-microvolt = <1100000>;
115 regulator-ramp-delay = <12000>;
116 regulator-initial-mode = <2>;
120 regulator-name = "vdd_cpucl1";
121 regulator-min-microvolt = <500000>;
122 regulator-max-microvolt = <1300000>;
124 regulator-ramp-delay = <12000>;
125 regulator-initial-mode = <1>;
129 regulator-name = "vdd_cpucl0";
130 regulator-min-microvolt = <500000>;
131 regulator-max-microvolt = <1300000>;
133 regulator-ramp-delay = <12000>;
134 regulator-initial-mode = <1>;
138 regulator-name = "vdd_int";
139 regulator-min-microvolt = <500000>;
140 regulator-max-microvolt = <1100000>;
142 regulator-ramp-delay = <12000>;
143 regulator-initial-mode = <2>;
147 regulator-name = "vdd_g3d";
148 regulator-min-microvolt = <500000>;
149 regulator-max-microvolt = <1200000>;
151 regulator-ramp-delay = <12000>;
152 regulator-initial-mode = <2>;
156 regulator-name = "vdd_cam_vipx";
157 regulator-min-microvolt = <500000>;
158 regulator-max-microvolt = <1300000>;
160 regulator-ramp-delay = <12000>;
161 regulator-initial-mode = <2>;
165 regulator-name = "vdd2_mem";
166 regulator-min-microvolt = <500000>;
167 regulator-max-microvolt = <1300000>;
169 regulator-ramp-delay = <12000>;
170 regulator-initial-mode = <3>;
174 regulator-name = "vdd_lldo";
175 regulator-min-microvolt = <1200000>;
176 regulator-max-microvolt = <1500000>;
178 regulator-ramp-delay = <12000>;
179 regulator-initial-mode = <3>;
183 regulator-name = "vdd_mldo";
184 regulator-min-microvolt = <1800000>;
185 regulator-max-microvolt = <2100000>;
187 regulator-ramp-delay = <12000>;
188 regulator-initial-mode = <3>;
192 regulator-name = "vdd_ldo1";
193 regulator-min-microvolt = <700000>;
194 regulator-max-microvolt = <1300000>;
196 regulator-ramp-delay = <12000>;
197 regulator-initial-mode = <3>;
201 regulator-name = "vqmmc";
202 regulator-min-microvolt = <1800000>;
203 regulator-max-microvolt = <3375000>;
204 regulator-ramp-delay = <12000>;
208 regulator-name = "vdd_ldo3";
209 regulator-min-microvolt = <800000>;
210 regulator-max-microvolt = <1950000>;
212 regulator-ramp-delay = <12000>;
213 regulator-initial-mode = <3>;
217 regulator-name = "vdd_ldo4";
218 regulator-min-microvolt = <500000>;
219 regulator-max-microvolt = <1100000>;
221 regulator-ramp-delay = <12000>;
222 regulator-initial-mode = <1>;
226 regulator-name = "vdd_ldo5";
227 regulator-min-microvolt = <800000>;
228 regulator-max-microvolt = <1300000>;
230 regulator-ramp-delay = <12000>;
231 regulator-initial-mode = <1>;
235 regulator-name = "vdd_ldo6";
236 regulator-min-microvolt = <800000>;
237 regulator-max-microvolt = <1300000>;
239 regulator-ramp-delay = <12000>;
240 regulator-initial-mode = <1>;
244 regulator-name = "vdd_ldo7";
245 regulator-min-microvolt = <800000>;
246 regulator-max-microvolt = <1950000>;
248 regulator-ramp-delay = <12000>;
249 regulator-initial-mode = <1>;
253 regulator-name = "vdd_ldo8";
254 regulator-min-microvolt = <500000>;
255 regulator-max-microvolt = <1300000>;
257 regulator-ramp-delay = <12000>;
258 regulator-initial-mode = <1>;
262 regulator-name = "vdd_ldo9";
263 regulator-min-microvolt = <500000>;
264 regulator-max-microvolt = <1300000>;
266 regulator-ramp-delay = <12000>;
267 regulator-initial-mode = <1>;
271 regulator-name = "vdd_ldo10";
272 regulator-min-microvolt = <500000>;
273 regulator-max-microvolt = <1300000>;
275 regulator-ramp-delay = <12000>;
276 regulator-initial-mode = <1>;
280 regulator-name = "vdd_ldo11";
281 regulator-min-microvolt = <500000>;
282 regulator-max-microvolt = <1300000>;
284 regulator-ramp-delay = <12000>;
285 regulator-initial-mode = <1>;
289 regulator-name = "vdd_ldo12";
290 regulator-min-microvolt = <800000>;
291 regulator-max-microvolt = <1300000>;
293 regulator-ramp-delay = <12000>;
294 regulator-initial-mode = <1>;
298 regulator-name = "vdd_ldo13";
299 regulator-min-microvolt = <800000>;
300 regulator-max-microvolt = <1950000>;
302 regulator-ramp-delay = <12000>;
303 regulator-initial-mode = <1>;
307 regulator-name = "vdd_ldo14";
308 regulator-min-microvolt = <1800000>;
309 regulator-max-microvolt = <3375000>;
311 regulator-ramp-delay = <12000>;
312 regulator-initial-mode = <1>;
316 regulator-name = "vdd_ldo33";
317 regulator-min-microvolt = <800000>;
318 regulator-max-microvolt = <1950000>;
319 regulator-ramp-delay = <12000>;
323 regulator-name = "vdd_ldo34";
324 regulator-min-microvolt = <1800000>;
325 regulator-max-microvolt = <3375000>;
326 regulator-ramp-delay = <12000>;
330 regulator-name = "vmmc";
331 regulator-min-microvolt = <1800000>;
332 regulator-max-microvolt = <3375000>;
333 regulator-ramp-delay = <12000>;
337 regulator-name = "vdd_ldo36";
338 regulator-min-microvolt = <500000>;
339 regulator-max-microvolt = <1300000>;
341 regulator-ramp-delay = <12000>;
342 regulator-initial-mode = <1>;
346 regulator-name = "vdd_ldo37";
347 regulator-min-microvolt = <3300000>;
348 regulator-max-microvolt = <3300000>;
349 regulator-ramp-delay = <12000>;
354 regulator-name = "VLDO38_PMIC_RCAM_AFVCC_2P8";
355 regulator-min-microvolt = <2800000>;
356 regulator-max-microvolt = <2800000>;
357 regulator-ramp-delay = <12000>;
361 regulator-name = "vdd_ldo39";
362 regulator-min-microvolt = <800000>;
363 regulator-max-microvolt = <1950000>;
364 regulator-ramp-delay = <12000>;
369 regulator-name = "vdd_ldo40";
370 regulator-min-microvolt = <3000000>;
371 regulator-max-microvolt = <3000000>;
372 regulator-ramp-delay = <12000>;
373 regulator-initial-mode = <3>;
378 regulator-name = "VLDO41_PMIC_FCAM_AVDD_2P8";
379 regulator-min-microvolt = <2800000>;
380 regulator-max-microvolt = <2800000>;
381 regulator-ramp-delay = <12000>;
385 regulator-name = "vdd_ldo42";
386 regulator-min-microvolt = <800000>;
387 regulator-max-microvolt = <1950000>;
388 regulator-ramp-delay = <12000>;
393 regulator-name = "vdd_ldo43";
394 regulator-min-microvolt = <500000>;
395 regulator-max-microvolt = <1300000>;
397 regulator-ramp-delay = <12000>;
398 regulator-initial-mode = <1>;
402 regulator-name = "VLDO44_PMIC_DCAM_DVDD_1P2";
403 regulator-min-microvolt = <1200000>;
404 regulator-max-microvolt = <1200000>;
405 regulator-ramp-delay = <12000>;
413 compatible = "samsung,exynos-rgt";
416 mailbox_cp: mcu_ipc@11920000 {
417 compatible = "samsung,exynos-shd-ipc-mailbox";
418 reg = <0x0 0x11920000 0x180>;
419 mcu,name = "mcu_ipc_cp";
421 interrupts = <0 40 0 >;
424 mailbox_gnss: mcu_ipc@11A00000 {
425 compatible = "samsung,exynos-shd-ipc-mailbox";
426 reg = <0x0 0x11A00000 0x180>;
427 mcu,name = "mcu_ipc_gnss";
429 interrupts = <0 43 0>; /* INTREQ__MAILBOX_GNSS2AP */
435 compatible = "samsung,gnss_shdmem_if";
436 shmem,name = "KEPLER";
437 shmem,device_node_name = "gnss_ipc";
439 /* INTREQ__ALIVE_GNSS_ACTIVE, INTREQ__GNSS2AP_WDOG_RESET, INTREQ__GNSS2AP_WAKEUP, INTREQ__GNSS2AP */
440 interrupts = <0 27 0>, <0 81 0>, <0 80 0>, <0 79 0>;
441 interrupt-names = "ACTIVE", "WATCHDOG", "WAKEUP", "REQ_INIT";
443 memory-region = <&gnss_reserved>;
444 mbox_info = <&mailbox_gnss>;
446 mbx,int_ap2gnss_bcmd = <0>;
447 mbx,int_ap2gnss_req_fault_info = <1>;
448 mbx,int_ap2gnss_ipc_msg = <2>;
449 mbx,int_ap2gnss_ack_wake_set = <3>;
450 mbx,int_ap2gnss_ack_wake_clr = <4>;
452 mbx,irq_gnss2ap_bcmd = <0>;
453 mbx,irq_gnss2ap_rsp_fault_info = <1>;
454 mbx,irq_gnss2ap_ipc_msg = <2>;
455 mbx,irq_gnss2ap_req_wake_clr = <4>;
457 mbx,reg_bcmd_ctrl = <0>, <1>, <2>, <3>;
459 reg_rx_ipc_msg = <1 5>;
460 reg_tx_ipc_msg = <1 4>;
465 fault_info = <1 0x200000 0x180000>;
467 shmem,ipc_offset = <0x380000>;
468 shmem,ipc_size = <0x80000>;
469 shmem,ipc_reg_cnt = <32>;
474 compatible = "gpio-keys";
475 #address-cells = <1>;
477 pinctrl-names = "default";
478 pinctrl-0 = <&key_voldown &key_volup &key_power>;
480 label = "gpio-keys: KEY_VOLUMEDOWN";
482 gpios = <&gpa1 6 0xf>;
485 label = "gpio-keys: KEY_VOLUMEUP";
487 gpios = <&gpa1 5 0xf>;
490 label = "gpio-keys: KEY_POWER";
492 gpios = <&gpa1 7 0xf>;
493 gpio-key,wakeup = <1>;
507 card-init-hwacg-ctrl;
509 qos-dvfs-level = <100000>;
512 card-detect-delay = <200>;
513 data-timeout = <200>;
515 samsung,dw-mshc-ciu-div = <3>;
516 clock-frequency = <800000000>;
517 samsung,dw-mshc-sdr-timing = <3 0 2 0>;
518 samsung,dw-mshc-ddr-timing = <3 0 2 1>;
519 samsung,dw-mshc-sdr50-timing = <3 0 4 2>;
520 samsung,dw-mshc-sdr104-timing = <3 0 3 0>;
523 ciu_clkin = <25 50 50 25 50 100 200 50 50>;
525 /* Swapping clock drive strength */
526 clk-drive-number = <4>;
527 pinctrl-names = "default",
532 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4 &dwmmc2_cd_ext_irq>;
533 pinctrl-1 = <&sd2_clk_fast_slew_rate_1x>;
534 pinctrl-2 = <&sd2_clk_fast_slew_rate_2x>;
535 pinctrl-3 = <&sd2_clk_fast_slew_rate_3x>;
536 pinctrl-4 = <&sd2_clk_fast_slew_rate_4x>;
538 card-detect = <&gpa0 7 0xf>;
539 #address-cells = <1>;
549 compatible = "samsung,usb-notifier";
553 usb_hs_tune:usb_hs_tune {
556 /* value = <device host> */
558 tune_name = "tx_vref";
559 tune_value = <0xf 0xf>;
563 tune_name = "tx_pre_emp";
564 tune_value = <0x3 0x3>;
568 tune_name = "tx_pre_emp_plus";
569 tune_value = <0x0 0x0>;
573 tune_name = "tx_res";
574 tune_value = <0x3 0x3>;
578 tune_name = "tx_rise";
579 tune_value = <0x3 0x3>;
583 tune_name = "tx_hsxv";
584 tune_value = <0x3 0x3>;
588 tune_name = "tx_fsls";
589 tune_value = <0x3 0x3>;
593 tune_name = "rx_sqrx";
594 tune_value = <0x7 0x7>;
598 tune_name = "compdis";
599 tune_value = <0x7 0x7>;
604 tune_value = <0x2 0x2>;
608 /* true : 1, false: 0 */
609 /* <enable_user_imp user_imp_value> */
610 tune_name = "enable_user_imp";
611 tune_value = <0x0 0x0>;
615 /* PHY clk : 1 , FREE clk : 0 */
616 tune_name = "is_phyclock";
617 tune_value = <0x1 0x1>;
621 usb3_ss_tune:ss_tune {
624 /* value = <device host> */
626 tune_name = "tx0_term_offset";
627 tune_value = <0x0 0x0>;
631 tune_name = "pcs_tx_swing_full";
632 tune_value = <0x7f 0x7f>;
636 tune_name = "pcs_tx_deemph_6db";
637 tune_value = <0x1c 0x1c>;
641 tune_name = "pcs_tx_deemph_3p5db";
642 tune_value = <0x1c 0x1c>;
646 tune_name = "tx_vboost_lvl_sstx";
647 tune_value = <0x7 0x7>;
651 tune_name = "tx_vboost_lvl";
652 tune_value = <0x4 0x4>;
656 tune_name = "los_level";
657 tune_value = <0x9 0x9>;
661 tune_name = "los_bias";
662 tune_value = <0x5 0x5>;
666 tune_name = "pcs_rx_los_mask_val";
667 tune_value = <0x104 0x104>;
671 tune_name = "tx_eye_height_cntl_en";
672 tune_value = <0x1 0x1>;
676 tune_name = "pipe_tx_deemph_update_delay";
677 tune_value = <0x2 0x2>;
681 tune_name = "pcs_tx_swing_full_sstx";
682 tune_value = <0x7f 0x7f>;
685 tune_name = "rx_eq_fix_val";
686 tune_value = <0x2 0x2>;
690 tune_name = "rx_decode_mode";
691 tune_value = <0x1 0x1>;
695 tune_name = "decrese_ss_tx_imp";
696 tune_value = <0x1 0x1>;
700 usb3_hs_tune:usb3_hs_tune {
703 /* value = <device host> */
705 tune_name = "tx_pre_emp";
706 tune_value = <0x3 0x3>;
710 tune_name = "tx_pre_emp_plus";
711 tune_value = <0x0 0x0>;
715 tune_name = "tx_vref";
716 tune_value = <0x7 0x7>;
720 tune_name = "rx_sqrx";
721 tune_value = <0x7 0x7>;
725 tune_name = "tx_rise";
726 tune_value = <0x3 0x3>;
730 tune_name = "compdis";
731 tune_value = <0x7 0x7>;
735 tune_name = "tx_hsxv";
736 tune_value = <0x3 0x3>;
740 tune_name = "tx_fsls";
741 tune_value = <0x3 0x3>;
745 tune_name = "tx_res";
746 tune_value = <0x3 0x3>;
750 tune_name = "utim_clk";
751 tune_value = <0x1 0x1>;
757 compatible = "samsung,ufs-srpmb";
758 interrupts = <0 460 0>;
761 V_SYS: fixedregulator@0 {
762 compatible = "regulator-fixed";
763 regulator-name = "V_SYS";
764 regulator-min-microvolt = <4200000>;
765 regulator-max-microvolt = <4200000>;
771 dummy_audio_codec: audio_codec_dummy {
773 compatible = "snd-soc-dummy";
776 dummy_audio_cpu: audio_cpu_dummy {
777 compatible = "samsung,dummy-cpu";
783 compatible = "samsung,exynos9610-madera";
785 clock-names = "xclkout";
786 clocks = <&clock OSC_AUD>;
787 pinctrl-names = "default";
788 pinctrl-0 = <&xclkout0>;
790 cirrus,sysclk = <1 4 98304000>;
791 cirrus,dspclk = <8 4 147456000>;
792 cirrus,fll1-refclk = <1 0 26000000 98304000>;
794 cirrus,opclk = <3 0 12288000>;
796 gpios = <&gpm25 0 0>;
799 "HEADSETMIC", "MICBIAS1B",
800 "IN1BR", "HEADSETMIC",
801 "DMIC1", "MICBIAS2A",
803 "DMIC2", "MICBIAS2A",
805 "DMIC3", "MICBIAS2B",
807 "RECEIVER", "EPOUTN",
808 "RECEIVER", "EPOUTP",
809 "HEADPHONE", "HPOUTL",
810 "HEADPHONE", "HPOUTR",
811 "AIF2 Playback", "OPCLK",
812 "AIF2 Capture", "OPCLK",
813 "VOUTPUT", "ABOX UAIF0 Playback",
814 "SPEAKER", "Left SPK",
815 "VOUTPUTCALL", "ABOX SIFS0 Playback",
816 "ABOX SIFS0 Capture", "VINPUTCALL";
818 samsung,codec = <&abox &abox_uaif_0 &abox_uaif_1 &abox_uaif_2
819 &abox_uaif_4 &abox_dsif &abox_spdy &cs35l41_left>;
820 samsung,prefix = "ABOX", "ABOX", "ABOX", "ABOX",
821 "ABOX", "ABOX", "ABOX", "SPK";
822 samsung,aux = <&abox_effect &abox_bt>;
826 sound-dai = <&abox 0>;
829 sound-dai = <&abox_rdma_0>;
832 sound-dai = <&dummy_audio_codec>;
837 sound-dai = <&abox 1>;
840 sound-dai = <&abox_rdma_1>;
843 sound-dai = <&dummy_audio_codec>;
848 sound-dai = <&abox 2>;
851 sound-dai = <&abox_rdma_2>;
854 sound-dai = <&dummy_audio_codec>;
859 sound-dai = <&abox 3>;
862 sound-dai = <&abox_rdma_3>;
865 sound-dai = <&dummy_audio_codec>;
870 sound-dai = <&abox 4>;
873 sound-dai = <&abox_rdma_4>;
876 sound-dai = <&dummy_audio_codec>;
881 sound-dai = <&abox 5>;
884 sound-dai = <&abox_rdma_5>;
887 sound-dai = <&dummy_audio_codec>;
892 sound-dai = <&abox 6>;
895 sound-dai = <&abox_rdma_6>;
898 sound-dai = <&dummy_audio_codec>;
903 sound-dai = <&abox 7>;
906 sound-dai = <&abox_rdma_7>;
909 sound-dai = <&dummy_audio_codec>;
914 sound-dai = <&abox 8>;
917 sound-dai = <&abox_wdma_0>;
920 sound-dai = <&dummy_audio_codec>;
925 sound-dai = <&abox 9>;
928 sound-dai = <&abox_wdma_1>;
931 sound-dai = <&dummy_audio_codec>;
936 sound-dai = <&abox 10>;
939 sound-dai = <&abox_wdma_2>;
942 sound-dai = <&dummy_audio_codec>;
947 sound-dai = <&abox 11>;
950 sound-dai = <&abox_wdma_3>;
953 sound-dai = <&dummy_audio_codec>;
958 sound-dai = <&abox 12>;
961 sound-dai = <&abox_wdma_4>;
964 sound-dai = <&dummy_audio_codec>;
967 /** ToDo: enable dp_audio link after enabling DP Audio
970 * sound-dai = <&dummy_audio_cpu>;
973 * sound-dai = <&dummy_audio_codec>;
980 sound-dai = <&abox_uaif_0>;
983 sound-dai = <&cs47l35 0>;
989 sound-dai = <&abox_uaif_1>;
992 sound-dai = <&dummy_audio_codec>;
998 sound-dai = <&abox_uaif_2>;
1001 sound-dai = <&cs47l35 2>;
1009 sound-dai = <&abox_uaif_4>;
1012 sound-dai = <&dummy_audio_codec>;
1018 sound-dai = <&abox_dsif>;
1021 sound-dai = <&dummy_audio_codec>;
1026 sound-dai = <&abox_spdy>;
1029 sound-dai = <&dummy_audio_codec>;
1034 sound-dai = <&abox 13>;
1037 sound-dai = <&dummy_audio_codec>;
1042 sound-dai = <&abox 14>;
1045 sound-dai = <&dummy_audio_codec>;
1050 sound-dai = <&abox 15>;
1053 sound-dai = <&dummy_audio_codec>;
1061 sound-dai = <&cs47l35 1>;
1064 sound-dai = <&cs35l41_left 0>;
1068 cpu-dsp-voice-control@0 {
1070 sound-dai = <&cs47l35 3>;
1073 sound-dai = <&dummy_audio_codec>;
1079 sound-dai = <&cs47l35 4>;
1082 sound-dai = <&dummy_audio_codec>;
1088 sound-dai = <&cs47l35 5>;
1091 sound-dai = <&dummy_audio_codec>;
1097 sound-dai = <&cs47l35 6>;
1100 sound-dai = <&dummy_audio_codec>;
1106 sound-dai = <&cs47l35 7>;
1109 sound-dai = <&dummy_audio_codec>;
1113 }; /* end of __overlay__ */
1114 }; /* end of fragment */
1115 }; /* end of root */
1118 #address-cells = <1>;
1121 s2mu106-fuelgauge@3B {
1122 compatible = "samsung,s2mu106-fuelgauge";
1124 pinctrl-names = "default";
1125 pinctrl-0 = <&fuel_irq>;
1126 fuelgauge,fuel_int = <&gpa2 3 0>;
1127 fuelgauge,fuel_alert_vol = <3400>;
1128 fuelgauge,fuel_alert_soc = <1>;
1129 fuelgauge,type_str = "SDI";
1130 fuelgauge,model_type = <1>;
1134 compatible = "sec-usbpd,i2c";
1136 pinctrl-names = "default";
1137 pinctrl-0 = <&usbpd_irq>;
1138 usbpd,usbpd_int = <&gpa2 2 0>;
1142 pdic,max_power = <5000>;
1143 pdic,op_power = <2500>;
1144 pdic,max_voltage = <6000>;
1145 pdic,max_current = <2000>;
1146 pdic,min_current = <500>;
1148 pdic,giveback = <0>;
1149 pdic,usb_com_capable = <1>;
1150 pdic,no_usb_suspend = <1>;
1153 source,max_voltage = <5000>;
1154 source,min_voltage = <4000>;
1155 source,max_power = <2500>;
1158 sink,capable_max_voltage = <9000>;
1164 #address-cells = <1>;
1168 compatible = "samsung,s2mu106mfd";
1170 pinctrl-names = "default";
1171 pinctrl-0 = <&if_pmic_irq>;
1172 s2mu106,irq-gpio = <&gpa2 1 0>;
1177 muic,uart_addr = "11850000.pinctrl";
1178 muic,uart_rxd = "gpq0-3";
1179 muic,uart_txd = "gpq0-4";
1185 haptic,pwm_id = <1>;
1186 haptic,operation_mode = <2>; /* 0 : ERM_I2C, 1 : ERM_GPIO, 2 : LRA */
1188 haptic,hbst_automode;
1189 haptic,boost_level = <5000>;
1192 s2mcs02-charger@41 {
1193 compatible = "samsung,s2mcs02-charger";
1195 default-clk = <100000000>;
1199 /* Change here if you want to use FLED_EN pin
1200 fled-en1-gpio = <&gpg1 2 0>;
1201 fled-en2-gpio = <&gpg1 2 0>;
1202 fled-en3-gpio = <&gpg1 2 0>;
1203 fled-en4-gpio = <&gpg1 2 0>;
1206 default_current = <50>;
1207 max_current = <200>;
1208 default_timer = <0>;
1237 battery,charger_name = "s2mu106-charger";
1238 battery,chg_gpio_en = <0>;
1239 battery,chg_polarity_en = <0>;
1240 battery,chg_gpio_status = <0>;
1241 battery,chg_polarity_status = <0>;
1242 battery,chg_float_voltage = <4350>;
1243 battery,chg_recharge_vcell = <4250>;
1244 battery,chg_full_vcell = <4300>;
1245 battery,full_check_type = <2>;
1246 battery,full_check_type_2nd = <2>;
1247 battery,input_current_limit = <
1248 500 450 500 1200 500 1200 1200 1000 1000 1000
1249 1000 500 500 1200 1000 500 450>;
1250 battery,fast_charging_current = <
1251 500 450 500 1200 500 1200 1200 1000 1000 1000
1252 1000 500 500 1200 1000 500 450>;
1253 battery,full_check_current_1st = <
1254 300 0 300 300 300 300 300 300 300 300
1255 300 300 300 300 300 300 0>;
1256 battery,full_check_current_2nd = <
1257 100 0 100 100 100 100 100 100 100 100
1258 100 100 100 100 100 100 0>;
1265 compatible = "murata,ncp03wf104";
1267 pullup-uv = <1800000>;
1268 pullup-ohm = <100000>;
1270 io-channels = <&exynos_adc 0>;
1271 io-channel-names = "cpu_therm";
1273 battery_thermistor {
1274 compatible = "murata,ncp15xh103";
1276 pullup-uv = <1800000>;
1277 pullup-ohm = <100000>;
1279 io-channels = <&exynos_adc 1>;
1280 io-channel-names = "bat_therm";
1283 compatible = "murata,ncp15xh103";
1285 pullup-uv = <1800000>;
1287 pulldown-ohm = <10000>;
1288 io-channels = <&exynos_adc 4>;
1289 io-channel-names = "pa_therm";
1293 compatible = "murata,ncp03wf104";
1295 pullup-uv = <1800000>;
1296 pullup-ohm = <100000>;
1298 io-channels = <&exynos_adc 7>;
1299 io-channel-names = "board_therm";
1301 usb_con_thermistor {
1302 compatible = "murata,ncp03wf104";
1304 pullup-uv = <1800000>;
1305 pullup-ohm = <100000>;
1307 io-channels = <&exynos_adc 8>;
1308 io-channel-names = "usb_con_therm";
1313 #address-cells = <1>;
1317 samsung,i2c-max-bus-freq = <600000>;
1320 compatible = "sec-nfc";
1323 sec-nfc,ven-gpio = <&gpg0 0 0>;
1324 sec-nfc,firm-gpio = <&gpg0 2 0>;
1326 sec-nfc,irq-gpio = <&gpa1 2 0>;
1327 sec-nfc,clk_req-gpio = <&gpg0 1 0>;
1328 sec-nfc,ldo_en = <&gpm22 0 0>;
1330 clock-names = "OSC_NFC";
1331 clocks = <&clock OSC_NFC>;
1332 pinctrl-names = "default";
1333 pinctrl-0 = <&xclkout1>;
1339 pinctrl-names = "default";
1340 pinctrl-0 = <&motor_pwm>;
1345 exynos,block-type = "sda";
1346 exynos,fips-block_offset = <5>;
1350 /* chub irq pin lists */
1351 chub-irq-pin = <162>;
1354 <&clock UMUX_CLKCMU_SHUB_BUS>,
1355 /* MAG. SENSOR : AK09918C */
1356 <&clock CMGP01_USI>,
1357 /* PROX. SENSOR : TMD3702 */
1358 <&clock CMGP03_USI>,
1359 /* ALS SENSOR : BH1726 */
1366 os-type = "os.checked_0.bin";
1370 pmic_irq: pmic-irq {
1371 samsung,pins = "gpa2-0";
1372 samsung,pin-pud = <3>;
1373 samsung,pin-drv = <3>;
1376 sub_pmic_irq: sub-pmic-irq {
1377 samsung,pins = "gpa1-3";
1378 samsung,pin-function = <0>;
1379 samsung,pin-pud = <0>;
1380 samsung,pin-drv = <0>;
1384 key_voldown: key-voldown {
1385 samsung,pins = "gpa1-6";
1386 samsung,pin-function = <0xf>;
1387 samsung,pin-pud = <0>;
1388 samsung,pin-drv = <0>;
1391 key_volup: key-volup {
1392 samsung,pins = "gpa1-5";
1393 samsung,pin-function = <0xf>;
1394 samsung,pin-pud = <0>;
1395 samsung,pin-drv = <0>;
1398 key_power: key-power {
1399 samsung,pins = "gpa1-7";
1400 samsung,pin-function = <0xf>;
1401 samsung,pin-pud = <0>;
1402 samsung,pin-drv = <0>;
1405 dwmmc2_cd_ext_irq: dwmmc2_cd_ext_irq {
1406 samsung,pins = "gpa0-7";
1407 samsung,pin-function = <0xf>;
1408 samsung,pin-pud = <0>;
1409 samsung,pin-drv = <3>;
1412 attn_irq: attn-irq {
1413 samsung,pins = "gpa2-4";
1414 samsung,pin-function = <0xf>;
1415 samsung,pin-pud = <0>;
1416 samsung,pin-drv = <0>;
1419 attn_input: attn-input {
1420 samsung,pins = "gpa2-4";
1421 samsung,pin-function = <0>;
1422 samsung,pin-pud = <1>;
1425 if_pmic_irq: if-pmic-irq {
1426 samsung,pins = "gpa2-1";
1427 samsung,pin-function = <0>;
1428 samsung,pin-pud = <0>;
1429 samsung,pin-drv = <0>;
1432 fuel_irq: fuel-irq {
1433 samsung,pins = "gpa2-3";
1434 samsung,pin-function = <0>;
1435 samsung,pin-pud = <0>;
1436 samsung,pin-drv = <0>;
1439 usbpd_irq: usbpd-irq {
1440 samsung,pins = "gpa2-2";
1441 samsung,pin-function = <0xf>;
1442 samsung,pin-pud = <3>;
1443 samsung,pin-drv = <3>;
1445 /* TODO: Need to check pin number
1446 small_charger_irq: small-charger-irq {
1447 samsung,pins = "gpa2-5";
1448 samsung,pin-function = <0>;
1449 samsung,pin-pud = <0>;
1450 samsung,pin-drv = <0>;
1453 cap_int_status: cap_int_status {
1454 samsung,pins = "gpa2-6";
1455 samsung,pin-function = <0>;
1456 samsung,pin-val = <1>;
1457 samsung,pin-pud = <1>;
1462 /* Warm reset information from AP */
1463 pm_wrsti: pm-wrsti {
1464 samsung,pins = "gpg0-7";
1465 samsung,pin-con-pdn = <3>;
1468 motor_pwm: motor_pwm {
1469 samsung,pins = "gpg4-2";
1470 samsung,pin-function = <2>;
1471 samsung,pin-pud = <1>;
1472 samsung,pin-drv = <0>;
1476 samsung,pins ="gpg3-4";
1477 samsung,pin-function = <1>;
1478 samsung,pin-val = <1>;
1479 samsung,pin-pud = <3>;
1483 samsung,pins ="gpg3-4";
1484 samsung,pin-function = <0>;
1485 samsung,pin-val = <0>;
1486 samsung,pin-pud = <1>;
1489 lcd_reset: lcd_reset {
1490 samsung,pins = "gpg1-4";
1491 samsung,pin-function = <1>;
1492 samsung,pin-pud = <3>;
1493 samsung,pin-val = <1>;
1494 samsung,pin-con-pdn =<3>;
1495 samsung,pin-pud-pdn = <3>;
1498 codec_reset: codec-reset {
1499 samsung,pins ="gpg3-2";
1500 samsung,pin-pud = <0>;
1501 samsung,pin-con-pdn =<3>;
1502 samsung,pin-pud-pdn = <0>;
1505 codec_en: codec_en {
1506 samsung,pins = "gpg1-1";
1507 samsung,pin-function = <1>;
1508 samsung,pin-pud = <3>;
1509 samsung,pin-val = <1>;
1510 samsung,pin-con-pdn =<3>;
1511 samsung,pin-pud-pdn = <3>;
1514 pa_reset: pa-reset {
1515 samsung,pins ="gpg3-3";
1516 samsung,pin-con-pdn =<3>;
1517 samsung,pin-pud-pdn = <3>;
1527 maximum-speed = "high-speed";
1532 usb3phy-isolation = <1>;
1534 hs_tune_param = <&usb_hs_tune>;
1539 usb3phy-isolation = <1>;
1541 hs_tune_param = <&usb3_hs_tune>;
1542 ss_tune_param = <&usb3_ss_tune>;
1550 lcd_info = <&nt36672a>;
1551 /* reset, lcd_bias_enp, lcd_bias_enn, lcd_bl_en*/
1552 gpios = <&gpg1 4 0x1>, <&gpg3 1 0x1>, <&gpg3 0 0x1>, <&gpg2 1 0x1>;
1553 pinctrl-names = "lcd_reset";
1554 pinctrl-0 = <&lcd_reset>;
1559 usi_v2_mode = "spi";
1563 /* USI_SHUB_0_I2C */
1565 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1566 status = "disabled";
1571 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1572 usi_v2_mode = "i2c";
1576 /* USI_0_CMGP_I2C */
1578 usi_v2_mode = "i2c";
1584 usi_v2_mode = "i2c";
1588 /* USI_1_CMGP_I2C */
1590 usi_v2_mode = "i2c";
1596 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1597 usi_v2_mode = "i2c";
1601 /* USI_2_CMGP_I2C */
1603 usi_v2_mode = "i2c";
1609 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1610 status = "disabled";
1613 /* USI_3_CMGP_I2C */
1615 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1616 status = "disabled";
1621 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1622 status = "disabled";
1625 /* USI_4_CMGP_I2C */
1627 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1628 status = "disabled";
1633 usi_v2_mode = "uart";
1637 /* USI_PERI_CAMI2C_0 */
1638 &usi_peri_cami2c_0 {
1639 usi_v2_mode = "i2c";
1643 /* USI_PERI_CAMI2C_1 */
1644 &usi_peri_cami2c_1 {
1645 usi_v2_mode = "i2c";
1649 /* USI_PERI_CAMI2C_2 */
1650 &usi_peri_cami2c_2 {
1651 usi_v2_mode = "i2c";
1655 /* USI_PERI_CAMI2C_3 */
1656 &usi_peri_cami2c_3 {
1657 usi_v2_mode = "i2c";
1661 /* USI_PERI_SPI_0 */
1663 usi_v2_mode = "spi";
1667 /* USI_PERI_SPI_1 */
1669 usi_v2_mode = "spi";
1673 /* USI_PERI_USI_0 */
1675 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1676 status = "disabled";
1679 /* USI_PERI_USI_0_I2C */
1680 &usi_peri_usi_0_i2c {
1681 /* usi_v2_mode = "i2c" or "spi" or "uart" */
1682 status = "disabled";
1685 /* USI_PERI_SPI_2 */
1687 usi_v2_mode = "spi";
1693 pinctrl-names = "default";
1694 pinctrl-0 = <&spi6_bus &spi6_cs_func &pa_reset>;
1695 /*cs-gpios = <&gpp2 3 0>;*/
1698 #address-cells = <1>;
1700 cs35l41_left: cs35l41@0 {
1701 compatible = "cirrus,cs35l41";
1704 spi-max-frequency = <9600000>;
1706 interrupts = <2 0 0>;
1707 interrupt-controller;
1708 interrupt-parent = <&gpa0>;
1709 reset-gpios = <&gpg3 3 0>;
1710 #sound-dai-cells = <1>;
1712 VA-supply = <&l42_reg>;
1713 VP-supply = <&V_SYS>;
1715 cirrus,boost-peak-milliamp = <4500>;
1716 cirrus,boost-ind-nanohenry = <1000>;
1717 cirrus,boost-cap-microfarad = <15>;
1718 cirrus,asp-sdout-hiz = <0x1>;
1719 cirrus,gpio-config2 {
1720 cirrus,gpio-src-select = <0x4>;
1721 cirrus,gpio-output-enable;
1725 #address-cells = <1>;
1727 prince_l_dsp: adsp@2b80000 {
1730 protectionsp_default {
1732 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
1733 cirrus,bin-file = "cs35l41-dsp1-spk-prot-music-aac.bin";
1735 protectionsp_music_aac {
1737 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
1738 cirrus,bin-file = "cs35l41-dsp1-spk-prot-music-aac.bin";
1740 protectionsp_voice_aac {
1742 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
1743 cirrus,bin-file = "cs35l41-dsp1-spk-prot-voice-aac.bin";
1745 protectionsp_ringtone_aac {
1747 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
1748 cirrus,bin-file = "cs35l41-dsp1-spk-prot-ringtone-aac.bin";
1750 protectionsp_notification_aac {
1752 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
1753 cirrus,bin-file = "cs35l41-dsp1-spk-prot-notification-aac.bin";
1755 protectionsp_music_qisheng {
1757 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
1758 cirrus,bin-file = "cs35l41-dsp1-spk-prot-music-qisheng.bin";
1760 protectionsp_voice_qisheng {
1762 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
1763 cirrus,bin-file = "cs35l41-dsp1-spk-prot-voice-qisheng.bin";
1765 protectionsp_ringtone_qisheng{
1767 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
1768 cirrus,bin-file = "cs35l41-dsp1-spk-prot-ringtone-qisheng.bin";
1770 protectionsp_notification_qisheng {
1772 cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
1773 cirrus,bin-file = "cs35l41-dsp1-spk-prot-notification-qisheng.bin";
1777 cirrus,wmfw-file = "cs35l41-dsp1-diag.wmfw";
1778 cirrus,bin-file = "cs35l41-dsp1-aac-cali.bin";
1780 calibration_qisheng{
1782 cirrus,wmfw-file = "cs35l41-dsp1-diag.wmfw";
1783 cirrus,bin-file = "cs35l41-dsp1-qissheng-cali.bin";
1789 /*cs-gpio = <gpm8 0 0>*/
1790 /*cs-gpios = <&gpp2 3 0>;*/
1791 samsung,spi-feedback-delay = <1>;
1792 samsung,spi-chip-select-mode = <0>;
1798 pinctrl-names = "default";
1799 pinctrl-0 = <&spi9_bus &spi9_cs_func &codec_en>;
1801 #address-cells = <1>;
1803 cs47l35: cs47l35@0 {
1804 compatible = "cirrus,cs47l35";
1807 spi-max-frequency = <11000000>;
1809 interrupts = <6 8 0>;
1810 interrupt-controller;
1811 #interrupt-cells = <2>;
1812 interrupt-parent = <&gpa0>;
1815 #sound-dai-cells = <1>;
1817 AVDD-supply = <&l42_reg>;
1818 DBVDD1-supply = <&l42_reg>;
1819 DBVDD2-supply = <&l42_reg>;
1820 CPVDD1-supply = <&l42_reg>;
1822 /*CPVDD2-supply = <&l44_reg>;*/
1823 /*DCVDD-supply = <&l44_reg>;*/
1824 SPKVDD-supply = <&V_SYS>;
1826 reset-gpios = <&gpg3 2 0>;
1828 cirrus,dmic-ref = <0 0 0>;
1834 cirrus,gpsw = <1 0>;
1836 pinctrl-names = "probe", "active";
1837 pinctrl-0 = <&codec_reset>;
1838 pinctrl-1 = <&codec_reset &cs47l35_defaults>;
1840 madera_pinctrl: madera-pinctrl {
1841 compatible = "cirrus,madera-pinctrl";
1842 cs47l35_defaults: cs47l35-gpio-defaults {
1861 gpio6 { /* Amp Clock */
1868 gpio5 { /* Mic Polarity Flip */
1877 regulator-min-microvolt = <3000000>;
1878 regulator-max-microvolt = <3000000>;
1882 regulator-min-microvolt = <2800000>;
1883 regulator-max-microvolt = <2800000>;
1884 cirrus,ext-cap = <1>;
1887 regulator-active-discharge = <1>;
1890 regulator-active-discharge = <1>;
1894 regulator-min-microvolt = <2800000>;
1895 regulator-max-microvolt = <2800000>;
1896 cirrus,ext-cap = <1>;
1900 regulator-active-discharge = <1>;
1903 regulator-active-discharge = <1>;
1907 #address-cells = <1>;
1913 cirrus,micd-configs = <
1916 cirrus,micd-bias-start-time = <8>;
1917 cirrus,micd-rate = <6>;
1918 /*cirrus,micd-pol-gpios = <&cs47l35 4 0>;*/
1919 cirrus,micd-detect-debounce-ms = <500>;
1920 /*cirrus,jd-use-jd2;*/
1921 /*cirrus,micd-clamp-mode = <0x8>;*/
1926 #address-cells = <1>;
1932 wlf,wmfw-file = "marley-dsp2-aov-frontend.wmfw";
1933 wlf,bin-file = "marley-dsp2-aov-vrgain.bin";
1941 wlf,wmfw-file = "marley-dsp3-aov-control.wmfw";
1942 wlf,bin-file = "marley-dsp3-aov-model.bin";
1949 samsung,spi-feedback-delay = <1>;
1950 samsung,spi-chip-select-mode = <0>;