--- /dev/null
+/*
+ * SAMSUNG EXYNOS9610 board device tree source
+ *
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * http://www.samsung.com
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include "exynos9610_battery_data.dtsi"
+#include <dt-bindings/clock/exynos9610.h>
+#include "modem-ss360ap-sit-pdata.dtsi"
+#include "exynos9610-display-lcd.dtsi"
+#include "exynos9610-robusta2-camera.dtsi"
+#include "novatek-nt36xxx-i2c.dtsi"
+#include "himax-hx83112a-i2c.dtsi"
+#include "wing-sensor.dtsi"
+#include "exynos9610-robusta2-motor.dtsi"
+
+/ {
+ fragment@common {
+ target-path = "/";
+ __overlay__ {
+ #address-cells = <2>;
+ #size-cells = <1>;
+
+ ect {
+ parameter_address = <0x90000000>;
+ parameter_size = <0x19000>;
+ };
+
+ chosen {
+ bootargs = "console=ram skip_initramfs rootwait ro init=/init clk_ignore_unused bcm_setup=0xffffff80f8e00000 androidboot.hardware=exynos9610 androidboot.selinux=permissive androidboot.debug_level=0x4948 firmware_class.path=/vendor/firmware ecd_setup=disable reserve-fimc=0xffffff80fa000000 pmic_info=0x3 ccic_info=0x1 epx_activate=true ";
+ linux,initrd-start = <0x84000000>;
+ linux,initrd-end = <0x841FFFFF>;
+ };
+
+ fixed-rate-clocks {
+ oscclk {
+ compatible = "samsung,exynos9610-oscclk";
+ clock-frequency = <26000000>;
+ };
+ };
+
+ firmware {
+ android {
+ compatible = "android,firmware";
+ vbmeta {
+ compatible = "android,vbmeta";
+ parts = "vbmeta,boot,system,vendor";
+ };
+ fstab {
+ compatible = "android,fstab";
+ vendor {
+ compatible = "android,vendor";
+ dev = "/dev/block/platform/13520000.ufs/by-name/vendor";
+ type = "ext4";
+ mnt_flags = "ro";
+ fsmgr_flags = "wait,avb,slotselect";
+ };
+ };
+ };
+ };
+
+ ifconn {
+ status = "okay";
+ compatible = "samsung,ifconn";
+ ifconn,usbpd = "s2mm005";
+ ifconn,muic = "s2mu106-muic";
+ };
+
+ /*Fingerprint start*/
+ et320: et320{
+ compatible = "egistec,et320";
+ status = "ok";
+ reg = <0>;
+ clocks = <&clock GATE_SPI_1_QCH>, <&clock SPI1>;
+ clock-names = "spi", "spi_busclk0";
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi7_bus &spi7_cs_func>;
+ egistec,gpio_irq = <&gpa0 5 0>;
+ egistec,gpio_rst = <&gpa1 1 0>;
+ egistec,gpio_ldo3p3_en = <&gpg2 0 0>;
+ egistec,gpio_ldo1p8_en = <&gpg2 2 0>;
+ };
+ /*Fingerprint end*/
+
+ speedy@11a10000 {
+ status = "okay";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ s2mpu09mfd@00 {
+ compatible = "samsung,s2mpu09mfd";
+ acpm-ipc-channel = <2>;
+ i2c-speedy-address;
+ s2mpu09,wakeup = "enabled";
+ s2mpu09,irq-gpio = <&gpa2 0 0>;
+ reg = <0x00>;
+ interrupts = <2 0 0>;
+ interrupt-parent = <&gpa2>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pmic_irq &pm_wrsti>;
+ /* RTC: wtsr/smpl */
+ wtsr_en = "enabled"; /* enable */
+ smpl_en = "enabled"; /* enable */
+ wtsr_timer_val = <3>; /* 1000ms */
+ smpl_timer_val = <4>; /* 500ms */
+ check_jigon = <0>; /* do not check jigon */
+ /* RTC: If it's first boot, reset rtc to 1/1/2017 12:00:00(Sun) */
+ init_time,sec = <0>;
+ init_time,min = <0>;
+ init_time,hour = <12>;
+ init_time,mday = <1>;
+ init_time,mon = <0>;
+ init_time,year = <117>;
+ init_time,wday = <0>;
+
+ regulators {
+ b1_reg: BUCK1 {
+ regulator-name = "vdd_mif";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-always-on;
+ regulator-ramp-delay = <12000>;
+ regulator-initial-mode = <2>;
+ };
+
+ b2_reg: BUCK2 {
+ regulator-name = "vdd_cpucl1";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-always-on;
+ regulator-ramp-delay = <12000>;
+ regulator-initial-mode = <1>;
+ };
+
+ b3_reg: BUCK3 {
+ regulator-name = "vdd_cpucl0";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-always-on;
+ regulator-ramp-delay = <12000>;
+ regulator-initial-mode = <1>;
+ };
+
+ b4_reg: BUCK4{
+ regulator-name = "vdd_int";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-always-on;
+ regulator-ramp-delay = <12000>;
+ regulator-initial-mode = <2>;
+ };
+
+ b5_reg: BUCK5 {
+ regulator-name = "vdd_g3d";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ regulator-ramp-delay = <12000>;
+ regulator-initial-mode = <2>;
+ };
+
+ b6_reg: BUCK6 {
+ regulator-name = "vdd_cam_vipx";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-always-on;
+ regulator-ramp-delay = <12000>;
+ regulator-initial-mode = <2>;
+ };
+
+ b7_reg: BUCK7 {
+ regulator-name = "vdd2_mem";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-always-on;
+ regulator-ramp-delay = <12000>;
+ regulator-initial-mode = <3>;
+ };
+
+ b8_reg: BUCK8 {
+ regulator-name = "vdd_lldo";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1500000>;
+ regulator-always-on;
+ regulator-ramp-delay = <12000>;
+ regulator-initial-mode = <3>;
+ };
+
+ b9_reg: BUCK9 {
+ regulator-name = "vdd_mldo";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <2100000>;
+ regulator-always-on;
+ regulator-ramp-delay = <12000>;
+ regulator-initial-mode = <3>;
+ };
+
+ l1_reg: LDO1 {
+ regulator-name = "vdd_ldo1";
+ regulator-min-microvolt = <700000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-always-on;
+ regulator-ramp-delay = <12000>;
+ regulator-initial-mode = <3>;
+ };
+
+ l2_reg: LDO2 {
+ regulator-name = "vqmmc";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3375000>;
+ regulator-ramp-delay = <12000>;
+ };
+
+ l3_reg: LDO3 {
+ regulator-name = "vdd_ldo3";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1950000>;
+ regulator-always-on;
+ regulator-ramp-delay = <12000>;
+ regulator-initial-mode = <3>;
+ };
+
+ l4_reg: LDO4 {
+ regulator-name = "vdd_ldo4";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-always-on;
+ regulator-ramp-delay = <12000>;
+ regulator-initial-mode = <1>;
+ };
+
+ l5_reg: LDO5 {
+ regulator-name = "vdd_ldo5";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-always-on;
+ regulator-ramp-delay = <12000>;
+ regulator-initial-mode = <1>;
+ };
+
+ l6_reg: LDO6 {
+ regulator-name = "vdd_ldo6";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-always-on;
+ regulator-ramp-delay = <12000>;
+ regulator-initial-mode = <1>;
+ };
+
+ l7_reg: LDO7 {
+ regulator-name = "vdd_ldo7";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1950000>;
+ regulator-always-on;
+ regulator-ramp-delay = <12000>;
+ regulator-initial-mode = <1>;
+ };
+
+ l8_reg: LDO8 {
+ regulator-name = "vdd_ldo8";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-always-on;
+ regulator-ramp-delay = <12000>;
+ regulator-initial-mode = <1>;
+ };
+
+ l9_reg: LDO9 {
+ regulator-name = "vdd_ldo9";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-always-on;
+ regulator-ramp-delay = <12000>;
+ regulator-initial-mode = <1>;
+ };
+
+ l10_reg: LDO10 {
+ regulator-name = "vdd_ldo10";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-always-on;
+ regulator-ramp-delay = <12000>;
+ regulator-initial-mode = <1>;
+ };
+
+ l11_reg: LDO11 {
+ regulator-name = "vdd_ldo11";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-always-on;
+ regulator-ramp-delay = <12000>;
+ regulator-initial-mode = <1>;
+ };
+
+ l12_reg: LDO12 {
+ regulator-name = "vdd_ldo12";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-always-on;
+ regulator-ramp-delay = <12000>;
+ regulator-initial-mode = <1>;
+ };
+
+ l13_reg: LDO13 {
+ regulator-name = "vdd_ldo13";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1950000>;
+ regulator-always-on;
+ regulator-ramp-delay = <12000>;
+ regulator-initial-mode = <1>;
+ };
+
+ l14_reg: LDO14 {
+ regulator-name = "vdd_ldo14";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3375000>;
+ regulator-always-on;
+ regulator-ramp-delay = <12000>;
+ regulator-initial-mode = <1>;
+ };
+
+ l33_reg: LDO33 {
+ regulator-name = "vdd_ldo33";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1950000>;
+ regulator-ramp-delay = <12000>;
+ };
+
+ l34_reg: LDO34 {
+ regulator-name = "vdd_ldo34";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3375000>;
+ regulator-ramp-delay = <12000>;
+ };
+
+ l35_reg: LDO35 {
+ regulator-name = "vmmc";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3375000>;
+ regulator-ramp-delay = <12000>;
+ };
+
+ l36_reg: LDO36 {
+ regulator-name = "vdd_ldo36";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-always-on;
+ regulator-ramp-delay = <12000>;
+ regulator-initial-mode = <1>;
+ };
+
+ l37_reg: LDO37 {
+ regulator-name = "vdd_ldo37";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-ramp-delay = <12000>;
+ regulator-always-on;
+ };
+
+ l38_reg: LDO38 {
+ regulator-name = "VLDO38_PMIC_RCAM_AFVCC_2P8";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-ramp-delay = <12000>;
+ };
+
+ l39_reg: LDO39 {
+ regulator-name = "vdd_ldo39";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1950000>;
+ regulator-ramp-delay = <12000>;
+ regulator-always-on;
+ };
+
+ l40_reg: LDO40 {
+ regulator-name = "vdd_ldo40";
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-ramp-delay = <12000>;
+ regulator-initial-mode = <3>;
+ regulator-always-on;
+ };
+
+ l41_reg: LDO41 {
+ regulator-name = "VLDO41_PMIC_FCAM_AVDD_2P8";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-ramp-delay = <12000>;
+ };
+
+ l42_reg: LDO42 {
+ regulator-name = "vdd_ldo42";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1950000>;
+ regulator-ramp-delay = <12000>;
+ regulator-always-on;
+ };
+
+ l43_reg: LDO43 {
+ regulator-name = "vdd_ldo43";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-always-on;
+ regulator-ramp-delay = <12000>;
+ regulator-initial-mode = <1>;
+ };
+
+ l44_reg: LDO44 {
+ regulator-name = "VLDO44_PMIC_DCAM_DVDD_1P2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-ramp-delay = <12000>;
+ };
+ };
+ };
+ };
+
+
+ exynos_rgt {
+ compatible = "samsung,exynos-rgt";
+ };
+
+ mailbox_cp: mcu_ipc@11920000 {
+ compatible = "samsung,exynos-shd-ipc-mailbox";
+ reg = <0x0 0x11920000 0x180>;
+ mcu,name = "mcu_ipc_cp";
+ mcu,id = <0>;
+ interrupts = <0 40 0 >;
+ };
+
+ mailbox_gnss: mcu_ipc@11A00000 {
+ compatible = "samsung,exynos-shd-ipc-mailbox";
+ reg = <0x0 0x11A00000 0x180>;
+ mcu,name = "mcu_ipc_gnss";
+ mcu,id = <1>;
+ interrupts = <0 43 0>; /* INTREQ__MAILBOX_GNSS2AP */
+ };
+
+ gnss_pdata {
+ status = "okay";
+
+ compatible = "samsung,gnss_shdmem_if";
+ shmem,name = "KEPLER";
+ shmem,device_node_name = "gnss_ipc";
+
+ /* INTREQ__ALIVE_GNSS_ACTIVE, INTREQ__GNSS2AP_WDOG_RESET, INTREQ__GNSS2AP_WAKEUP, INTREQ__GNSS2AP */
+ interrupts = <0 27 0>, <0 81 0>, <0 80 0>, <0 79 0>;
+ interrupt-names = "ACTIVE", "WATCHDOG", "WAKEUP", "REQ_INIT";
+
+ memory-region = <&gnss_reserved>;
+ mbox_info = <&mailbox_gnss>;
+
+ mbx,int_ap2gnss_bcmd = <0>;
+ mbx,int_ap2gnss_req_fault_info = <1>;
+ mbx,int_ap2gnss_ipc_msg = <2>;
+ mbx,int_ap2gnss_ack_wake_set = <3>;
+ mbx,int_ap2gnss_ack_wake_clr = <4>;
+
+ mbx,irq_gnss2ap_bcmd = <0>;
+ mbx,irq_gnss2ap_rsp_fault_info = <1>;
+ mbx,irq_gnss2ap_ipc_msg = <2>;
+ mbx,irq_gnss2ap_req_wake_clr = <4>;
+
+ mbx,reg_bcmd_ctrl = <0>, <1>, <2>, <3>;
+
+ reg_rx_ipc_msg = <1 5>;
+ reg_tx_ipc_msg = <1 4>;
+ reg_rx_head = <1 3>;
+ reg_rx_tail = <1 2>;
+ reg_tx_head = <1 1>;
+ reg_tx_tail = <1 0>;
+ fault_info = <1 0x200000 0x180000>;
+
+ shmem,ipc_offset = <0x380000>;
+ shmem,ipc_size = <0x80000>;
+ shmem,ipc_reg_cnt = <32>;
+ };
+
+ gpio_keys {
+ status = "okay";
+ compatible = "gpio-keys";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&key_voldown &key_volup &key_power>;
+ button@1 {
+ label = "gpio-keys: KEY_VOLUMEDOWN";
+ linux,code = <114>;
+ gpios = <&gpa1 6 0xf>;
+ };
+ button@2 {
+ label = "gpio-keys: KEY_VOLUMEUP";
+ linux,code = <115>;
+ gpios = <&gpa1 5 0xf>;
+ };
+ button@3 {
+ label = "gpio-keys: KEY_POWER";
+ linux,code = <116>;
+ gpios = <&gpa1 7 0xf>;
+ gpio-key,wakeup = <1>;
+ };
+ };
+
+ dwmmc2@13550000 {
+ status = "okay";
+ num-slots = <1>;
+ supports-4bit;
+ supports-cmd23;
+ supports-erase;
+ supports-highspeed;
+ card-detect-invert;
+ card-detect-gpio;
+ bypass-for-allpass;
+ card-init-hwacg-ctrl;
+ skip-init-mmc-scan;
+ qos-dvfs-level = <100000>;
+ fifo-depth = <0x40>;
+ desc-size = <4>;
+ card-detect-delay = <200>;
+ data-timeout = <200>;
+ hto-timeout = <80>;
+ samsung,dw-mshc-ciu-div = <3>;
+ clock-frequency = <800000000>;
+ samsung,dw-mshc-sdr-timing = <3 0 2 0>;
+ samsung,dw-mshc-ddr-timing = <3 0 2 1>;
+ samsung,dw-mshc-sdr50-timing = <3 0 4 2>;
+ samsung,dw-mshc-sdr104-timing = <3 0 3 0>;
+
+ num-ref-clks = <9>;
+ ciu_clkin = <25 50 50 25 50 100 200 50 50>;
+
+ /* Swapping clock drive strength */
+ clk-drive-number = <4>;
+ pinctrl-names = "default",
+ "fast-slew-rate-1x",
+ "fast-slew-rate-2x",
+ "fast-slew-rate-3x",
+ "fast-slew-rate-4x";
+ pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4 &dwmmc2_cd_ext_irq>;
+ pinctrl-1 = <&sd2_clk_fast_slew_rate_1x>;
+ pinctrl-2 = <&sd2_clk_fast_slew_rate_2x>;
+ pinctrl-3 = <&sd2_clk_fast_slew_rate_3x>;
+ pinctrl-4 = <&sd2_clk_fast_slew_rate_4x>;
+
+ card-detect = <&gpa0 7 0xf>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ slot@0 {
+ reg = <0>;
+ bus-width = <4>;
+ disable-wp;
+ };
+ };
+
+ usb_notifier {
+ compatible = "samsung,usb-notifier";
+ udc = <&udc>;
+ };
+
+ usb_hs_tune:usb_hs_tune {
+ hs_tune_cnt = <12>;
+
+ /* value = <device host> */
+ hs_tune1 {
+ tune_name = "tx_vref";
+ tune_value = <0xf 0xf>;
+ };
+
+ hs_tune2 {
+ tune_name = "tx_pre_emp";
+ tune_value = <0x3 0x3>;
+ };
+
+ hs_tune3 {
+ tune_name = "tx_pre_emp_plus";
+ tune_value = <0x0 0x0>;
+ };
+
+ hs_tune4 {
+ tune_name = "tx_res";
+ tune_value = <0x3 0x3>;
+ };
+
+ hs_tune5 {
+ tune_name = "tx_rise";
+ tune_value = <0x3 0x3>;
+ };
+
+ hs_tune6 {
+ tune_name = "tx_hsxv";
+ tune_value = <0x3 0x3>;
+ };
+
+ hs_tune7 {
+ tune_name = "tx_fsls";
+ tune_value = <0x3 0x3>;
+ };
+
+ hs_tune8 {
+ tune_name = "rx_sqrx";
+ tune_value = <0x7 0x7>;
+ };
+
+ hs_tune9 {
+ tune_name = "compdis";
+ tune_value = <0x7 0x7>;
+ };
+
+ hs_tune10 {
+ tune_name = "otg";
+ tune_value = <0x2 0x2>;
+ };
+
+ hs_tune11 {
+ /* true : 1, false: 0 */
+ /* <enable_user_imp user_imp_value> */
+ tune_name = "enable_user_imp";
+ tune_value = <0x0 0x0>;
+ };
+
+ hs_tune12 {
+ /* PHY clk : 1 , FREE clk : 0 */
+ tune_name = "is_phyclock";
+ tune_value = <0x1 0x1>;
+ };
+ };
+
+ usb3_ss_tune:ss_tune {
+ ss_tune_cnt = <15>;
+
+ /* value = <device host> */
+ ss_tune1 {
+ tune_name = "tx0_term_offset";
+ tune_value = <0x0 0x0>;
+ };
+
+ ss_tune2 {
+ tune_name = "pcs_tx_swing_full";
+ tune_value = <0x7f 0x7f>;
+ };
+
+ ss_tune3 {
+ tune_name = "pcs_tx_deemph_6db";
+ tune_value = <0x1c 0x1c>;
+ };
+
+ ss_tune4 {
+ tune_name = "pcs_tx_deemph_3p5db";
+ tune_value = <0x1c 0x1c>;
+ };
+
+ ss_tune5 {
+ tune_name = "tx_vboost_lvl_sstx";
+ tune_value = <0x7 0x7>;
+ };
+
+ ss_tune6 {
+ tune_name = "tx_vboost_lvl";
+ tune_value = <0x4 0x4>;
+ };
+
+ ss_tune7 {
+ tune_name = "los_level";
+ tune_value = <0x9 0x9>;
+ };
+
+ ss_tune8 {
+ tune_name = "los_bias";
+ tune_value = <0x5 0x5>;
+ };
+
+ ss_tune9 {
+ tune_name = "pcs_rx_los_mask_val";
+ tune_value = <0x104 0x104>;
+ };
+
+ ss_tune10 {
+ tune_name = "tx_eye_height_cntl_en";
+ tune_value = <0x1 0x1>;
+ };
+
+ ss_tune11 {
+ tune_name = "pipe_tx_deemph_update_delay";
+ tune_value = <0x2 0x2>;
+ };
+
+ ss_tune12 {
+ tune_name = "pcs_tx_swing_full_sstx";
+ tune_value = <0x7f 0x7f>;
+ };
+ ss_tune13 {
+ tune_name = "rx_eq_fix_val";
+ tune_value = <0x2 0x2>;
+ };
+
+ ss_tune14 {
+ tune_name = "rx_decode_mode";
+ tune_value = <0x1 0x1>;
+ };
+
+ ss_tune15 {
+ tune_name = "decrese_ss_tx_imp";
+ tune_value = <0x1 0x1>;
+ };
+ };
+
+ usb3_hs_tune:usb3_hs_tune {
+ hs_tune_cnt = <10>;
+
+ /* value = <device host> */
+ hs_tune1 {
+ tune_name = "tx_pre_emp";
+ tune_value = <0x3 0x3>;
+ };
+
+ hs_tune2 {
+ tune_name = "tx_pre_emp_plus";
+ tune_value = <0x0 0x0>;
+ };
+
+ hs_tune3 {
+ tune_name = "tx_vref";
+ tune_value = <0x7 0x7>;
+ };
+
+ hs_tune4 {
+ tune_name = "rx_sqrx";
+ tune_value = <0x7 0x7>;
+ };
+
+ hs_tune5 {
+ tune_name = "tx_rise";
+ tune_value = <0x3 0x3>;
+ };
+
+ hs_tune6 {
+ tune_name = "compdis";
+ tune_value = <0x7 0x7>;
+ };
+
+ hs_tune7 {
+ tune_name = "tx_hsxv";
+ tune_value = <0x3 0x3>;
+ };
+
+ hs_tune8 {
+ tune_name = "tx_fsls";
+ tune_value = <0x3 0x3>;
+ };
+
+ hs_tune9 {
+ tune_name = "tx_res";
+ tune_value = <0x3 0x3>;
+ };
+
+ hs_tune10 {
+ tune_name = "utim_clk";
+ tune_value = <0x1 0x1>;
+ };
+ };
+
+ /* Secure RPMB */
+ ufs-srpmb {
+ compatible = "samsung,ufs-srpmb";
+ interrupts = <0 460 0>;
+ };
+
+ V_SYS: fixedregulator@0 {
+ compatible = "regulator-fixed";
+ regulator-name = "V_SYS";
+ regulator-min-microvolt = <4200000>;
+ regulator-max-microvolt = <4200000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+
+ dummy_audio_codec: audio_codec_dummy {
+ status = "okay";
+ compatible = "snd-soc-dummy";
+ };
+
+ dummy_audio_cpu: audio_cpu_dummy {
+ compatible = "samsung,dummy-cpu";
+ status = "okay";
+ };
+
+ sound {
+ status = "okay";
+ compatible = "samsung,exynos9610-madera";
+
+ clock-names = "xclkout";
+ clocks = <&clock OSC_AUD>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&xclkout0>;
+
+ cirrus,sysclk = <1 4 98304000>;
+ cirrus,dspclk = <8 4 147456000>;
+ cirrus,fll1-refclk = <1 0 26000000 98304000>;
+
+ cirrus,opclk = <3 0 12288000>;
+
+ gpios = <&gpm25 0 0>;
+
+ samsung,routing =
+ "HEADSETMIC", "MICBIAS1B",
+ "IN1BR", "HEADSETMIC",
+ "DMIC1", "MICBIAS2A",
+ "IN1AL", "DMIC1",
+ "DMIC2", "MICBIAS2A",
+ "IN2L", "DMIC2",
+ "DMIC3", "MICBIAS2B",
+ "IN2R", "DMIC3",
+ "RECEIVER", "EPOUTN",
+ "RECEIVER", "EPOUTP",
+ "HEADPHONE", "HPOUTL",
+ "HEADPHONE", "HPOUTR",
+ "AIF2 Playback", "OPCLK",
+ "AIF2 Capture", "OPCLK",
+ "VOUTPUT", "ABOX UAIF0 Playback",
+ "SPEAKER", "Left SPK",
+ "VOUTPUTCALL", "ABOX SIFS0 Playback",
+ "ABOX SIFS0 Capture", "VINPUTCALL";
+
+ samsung,codec = <&abox &abox_uaif_0 &abox_uaif_1 &abox_uaif_2
+ &abox_uaif_4 &abox_dsif &abox_spdy &cs35l41_left>;
+ samsung,prefix = "ABOX", "ABOX", "ABOX", "ABOX",
+ "ABOX", "ABOX", "ABOX", "SPK";
+ samsung,aux = <&abox_effect &abox_bt>;
+
+ rdma@0 {
+ cpu {
+ sound-dai = <&abox 0>;
+ };
+ platform {
+ sound-dai = <&abox_rdma_0>;
+ };
+ codec {
+ sound-dai = <&dummy_audio_codec>;
+ };
+ };
+ rdma@1 {
+ cpu {
+ sound-dai = <&abox 1>;
+ };
+ platform {
+ sound-dai = <&abox_rdma_1>;
+ };
+ codec {
+ sound-dai = <&dummy_audio_codec>;
+ };
+ };
+ rdma@2 {
+ cpu {
+ sound-dai = <&abox 2>;
+ };
+ platform {
+ sound-dai = <&abox_rdma_2>;
+ };
+ codec {
+ sound-dai = <&dummy_audio_codec>;
+ };
+ };
+ rdma@3 {
+ cpu {
+ sound-dai = <&abox 3>;
+ };
+ platform {
+ sound-dai = <&abox_rdma_3>;
+ };
+ codec {
+ sound-dai = <&dummy_audio_codec>;
+ };
+ };
+ rdma@4 {
+ cpu {
+ sound-dai = <&abox 4>;
+ };
+ platform {
+ sound-dai = <&abox_rdma_4>;
+ };
+ codec {
+ sound-dai = <&dummy_audio_codec>;
+ };
+ };
+ rdma@5 {
+ cpu {
+ sound-dai = <&abox 5>;
+ };
+ platform {
+ sound-dai = <&abox_rdma_5>;
+ };
+ codec {
+ sound-dai = <&dummy_audio_codec>;
+ };
+ };
+ rdma@6 {
+ cpu {
+ sound-dai = <&abox 6>;
+ };
+ platform {
+ sound-dai = <&abox_rdma_6>;
+ };
+ codec {
+ sound-dai = <&dummy_audio_codec>;
+ };
+ };
+ rdma@7 {
+ cpu {
+ sound-dai = <&abox 7>;
+ };
+ platform {
+ sound-dai = <&abox_rdma_7>;
+ };
+ codec {
+ sound-dai = <&dummy_audio_codec>;
+ };
+ };
+ wdma@0 {
+ cpu {
+ sound-dai = <&abox 8>;
+ };
+ platform {
+ sound-dai = <&abox_wdma_0>;
+ };
+ codec {
+ sound-dai = <&dummy_audio_codec>;
+ };
+ };
+ wdma@1 {
+ cpu {
+ sound-dai = <&abox 9>;
+ };
+ platform {
+ sound-dai = <&abox_wdma_1>;
+ };
+ codec {
+ sound-dai = <&dummy_audio_codec>;
+ };
+ };
+ wdma@2 {
+ cpu {
+ sound-dai = <&abox 10>;
+ };
+ platform {
+ sound-dai = <&abox_wdma_2>;
+ };
+ codec {
+ sound-dai = <&dummy_audio_codec>;
+ };
+ };
+ wdma@3 {
+ cpu {
+ sound-dai = <&abox 11>;
+ };
+ platform {
+ sound-dai = <&abox_wdma_3>;
+ };
+ codec {
+ sound-dai = <&dummy_audio_codec>;
+ };
+ };
+ wdma@4 {
+ cpu {
+ sound-dai = <&abox 12>;
+ };
+ platform {
+ sound-dai = <&abox_wdma_4>;
+ };
+ codec {
+ sound-dai = <&dummy_audio_codec>;
+ };
+ };
+ /** ToDo: enable dp_audio link after enabling DP Audio
+ * dp_audio@0 {
+ * cpu {
+ * sound-dai = <&dummy_audio_cpu>;
+ * };
+ * codec {
+ * sound-dai = <&dummy_audio_codec>;
+ * };
+ * };
+ */
+ uaif@0 {
+ format = "i2s";
+ cpu {
+ sound-dai = <&abox_uaif_0>;
+ };
+ codec {
+ sound-dai = <&cs47l35 0>;
+ };
+ };
+ uaif@1 {
+ format = "i2s";
+ cpu {
+ sound-dai = <&abox_uaif_1>;
+ };
+ codec {
+ sound-dai = <&dummy_audio_codec>;
+ };
+ };
+ uaif@2 {
+ format = "i2s";
+ cpu {
+ sound-dai = <&abox_uaif_2>;
+ };
+ codec {
+ sound-dai = <&cs47l35 2>;
+ };
+ };
+ uaif@4 {
+ format = "i2s";
+ bitclock-master;
+ frame-master;
+ cpu {
+ sound-dai = <&abox_uaif_4>;
+ };
+ codec {
+ sound-dai = <&dummy_audio_codec>;
+ };
+ };
+ dsif@0 {
+ format = "pdm";
+ cpu {
+ sound-dai = <&abox_dsif>;
+ };
+ codec {
+ sound-dai = <&dummy_audio_codec>;
+ };
+ };
+ spdy@0 {
+ cpu {
+ sound-dai = <&abox_spdy>;
+ };
+ codec {
+ sound-dai = <&dummy_audio_codec>;
+ };
+ };
+ sifs0@0 {
+ cpu {
+ sound-dai = <&abox 13>;
+ };
+ codec {
+ sound-dai = <&dummy_audio_codec>;
+ };
+ };
+ sifs1@0 {
+ cpu {
+ sound-dai = <&abox 14>;
+ };
+ codec {
+ sound-dai = <&dummy_audio_codec>;
+ };
+ };
+ sifs2@0 {
+ cpu {
+ sound-dai = <&abox 15>;
+ };
+ codec {
+ sound-dai = <&dummy_audio_codec>;
+ };
+ };
+
+ codec-left-amp@0 {
+ format = "i2s";
+
+ cpu {
+ sound-dai = <&cs47l35 1>;
+ };
+ codec {
+ sound-dai = <&cs35l41_left 0>;
+ };
+ };
+
+ cpu-dsp-voice-control@0 {
+ cpu {
+ sound-dai = <&cs47l35 3>;
+ };
+ codec {
+ sound-dai = <&dummy_audio_codec>;
+ };
+ };
+
+ cpu-dsp-trace@0 {
+ cpu {
+ sound-dai = <&cs47l35 4>;
+ };
+ codec {
+ sound-dai = <&dummy_audio_codec>;
+ };
+ };
+
+ cpu-dsp2-text@0 {
+ cpu {
+ sound-dai = <&cs47l35 5>;
+ };
+ codec {
+ sound-dai = <&dummy_audio_codec>;
+ };
+ };
+
+ cpu-dsp3-text@0 {
+ cpu {
+ sound-dai = <&cs47l35 6>;
+ };
+ codec {
+ sound-dai = <&dummy_audio_codec>;
+ };
+ };
+
+ cpu-dsp1-text@0 {
+ cpu {
+ sound-dai = <&cs47l35 7>;
+ };
+ codec {
+ sound-dai = <&dummy_audio_codec>;
+ };
+ };
+ };
+ }; /* end of __overlay__ */
+ }; /* end of fragment */
+}; /* end of root */
+
+&i2c_0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+ s2mu106-fuelgauge@3B {
+ compatible = "samsung,s2mu106-fuelgauge";
+ reg = <0x3B>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&fuel_irq>;
+ fuelgauge,fuel_int = <&gpa2 3 0>;
+ fuelgauge,fuel_alert_vol = <3400>;
+ fuelgauge,fuel_alert_soc = <1>;
+ fuelgauge,type_str = "SDI";
+ fuelgauge,model_type = <1>;
+ };
+
+ usbpd-s2mu106@3C {
+ compatible = "sec-usbpd,i2c";
+ reg = <0x3C>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&usbpd_irq>;
+ usbpd,usbpd_int = <&gpa2 2 0>;
+
+ pdic-manager {
+ /* sink */
+ pdic,max_power = <5000>;
+ pdic,op_power = <2500>;
+ pdic,max_voltage = <6000>;
+ pdic,max_current = <2000>;
+ pdic,min_current = <500>;
+
+ pdic,giveback = <0>;
+ pdic,usb_com_capable = <1>;
+ pdic,no_usb_suspend = <1>;
+
+ /* source */
+ source,max_voltage = <5000>;
+ source,min_voltage = <4000>;
+ source,max_power = <2500>;
+
+ /* sink cap */
+ sink,capable_max_voltage = <9000>;
+ };
+ };
+};
+
+&i2c_1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+ s2mu106@3d {
+ compatible = "samsung,s2mu106mfd";
+ reg = <0x3d>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&if_pmic_irq>;
+ s2mu106,irq-gpio = <&gpa2 1 0>;
+ s2mu106,wakeup;
+
+ muic {
+ status = "okay";
+ muic,uart_addr = "11850000.pinctrl";
+ muic,uart_rxd = "gpq0-3";
+ muic,uart_txd = "gpq0-4";
+ };
+ };
+
+ s2mu106-haptic {
+ status = "okay";
+ haptic,pwm_id = <1>;
+ haptic,operation_mode = <2>; /* 0 : ERM_I2C, 1 : ERM_GPIO, 2 : LRA */
+ haptic,hbst_en;
+ haptic,hbst_automode;
+ haptic,boost_level = <5000>;
+ };
+
+ s2mcs02-charger@41 {
+ compatible = "samsung,s2mcs02-charger";
+ reg = <0x41>;
+ default-clk = <100000000>;
+ };
+
+ flash_led {
+ /* Change here if you want to use FLED_EN pin
+ fled-en1-gpio = <&gpg1 2 0>;
+ fled-en2-gpio = <&gpg1 2 0>;
+ fled-en3-gpio = <&gpg1 2 0>;
+ fled-en4-gpio = <&gpg1 2 0>;
+ */
+ status = "okay";
+ default_current = <50>;
+ max_current = <200>;
+ default_timer = <0>;
+
+ s2mu106-channel1 {
+ id = <0>;
+ /*
+ current = <100>;
+ timer = <200>;
+ */
+ };
+
+ s2mu106-channel2 {
+ id = <1>;
+ /*
+ current = <100>;
+ timer = <200>;
+ */
+ };
+
+ s2mu106-channel3 {
+ id = <2>;
+ /*
+ current = <100>;
+ timer = <200>;
+ */
+ };
+ };
+
+ s2mu106-charger {
+ status = "okay";
+ battery,charger_name = "s2mu106-charger";
+ battery,chg_gpio_en = <0>;
+ battery,chg_polarity_en = <0>;
+ battery,chg_gpio_status = <0>;
+ battery,chg_polarity_status = <0>;
+ battery,chg_float_voltage = <4350>;
+ battery,chg_recharge_vcell = <4250>;
+ battery,chg_full_vcell = <4300>;
+ battery,full_check_type = <2>;
+ battery,full_check_type_2nd = <2>;
+ battery,input_current_limit = <
+ 500 450 500 1200 500 1200 1200 1000 1000 1000
+ 1000 500 500 1200 1000 500 450>;
+ battery,fast_charging_current = <
+ 500 450 500 1200 500 1200 1200 1000 1000 1000
+ 1000 500 500 1200 1000 500 450>;
+ battery,full_check_current_1st = <
+ 300 0 300 300 300 300 300 300 300 300
+ 300 300 300 300 300 300 0>;
+ battery,full_check_current_2nd = <
+ 100 0 100 100 100 100 100 100 100 100
+ 100 100 100 100 100 100 0>;
+ };
+};
+
+&exynos_adc {
+ status = "okay";
+ cpu_thermistor {
+ compatible = "murata,ncp03wf104";
+ status = "okay";
+ pullup-uv = <1800000>;
+ pullup-ohm = <100000>;
+ pulldown-ohm = <0>;
+ io-channels = <&exynos_adc 0>;
+ io-channel-names = "cpu_therm";
+ };
+ battery_thermistor {
+ compatible = "murata,ncp15xh103";
+ status = "okay";
+ pullup-uv = <1800000>;
+ pullup-ohm = <100000>;
+ pulldown-ohm = <0>;
+ io-channels = <&exynos_adc 1>;
+ io-channel-names = "bat_therm";
+ };
+ pa_thermistor {
+ compatible = "murata,ncp15xh103";
+ status = "okay";
+ pullup-uv = <1800000>;
+ pullup-ohm = <0>;
+ pulldown-ohm = <10000>;
+ io-channels = <&exynos_adc 4>;
+ io-channel-names = "pa_therm";
+ connected-positive;
+ };
+ board_thermistor {
+ compatible = "murata,ncp03wf104";
+ status = "okay";
+ pullup-uv = <1800000>;
+ pullup-ohm = <100000>;
+ pulldown-ohm = <0>;
+ io-channels = <&exynos_adc 7>;
+ io-channel-names = "board_therm";
+ };
+ usb_con_thermistor {
+ compatible = "murata,ncp03wf104";
+ status = "okay";
+ pullup-uv = <1800000>;
+ pullup-ohm = <100000>;
+ pulldown-ohm = <0>;
+ io-channels = <&exynos_adc 8>;
+ io-channel-names = "usb_con_therm";
+ };
+};
+
+&i2c_2 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ samsung,i2c-max-bus-freq = <600000>;
+
+ sec-nfc@27 {
+ compatible = "sec-nfc";
+ reg = <0x27>;
+
+ sec-nfc,ven-gpio = <&gpg0 0 0>;
+ sec-nfc,firm-gpio = <&gpg0 2 0>;
+
+ sec-nfc,irq-gpio = <&gpa1 2 0>;
+ sec-nfc,clk_req-gpio = <&gpg0 1 0>;
+ sec-nfc,ldo_en = <&gpm22 0 0>;
+
+ clock-names = "OSC_NFC";
+ clocks = <&clock OSC_NFC>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&xclkout1>;
+ };
+};
+
+&sec_pwm {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&motor_pwm>;
+};
+
+
+&fmp_0 {
+ exynos,block-type = "sda";
+ exynos,fips-block_offset = <5>;
+};
+
+&contexthub_0 {
+ /* chub irq pin lists */
+ chub-irq-pin = <162>;
+ clocks =
+ /* SHUB */
+ <&clock UMUX_CLKCMU_SHUB_BUS>,
+ /* MAG. SENSOR : AK09918C */
+ <&clock CMGP01_USI>,
+ /* PROX. SENSOR : TMD3702 */
+ <&clock CMGP03_USI>,
+ /* ALS SENSOR : BH1726 */
+ <&clock CMGP_I2C>;
+ clock-names =
+ "chub_bus",
+ "cmgp_usi01",
+ "cmgp_usi03",
+ "cmgp_i2c";
+ os-type = "os.checked_0.bin";
+};
+
+&pinctrl_0 {
+ pmic_irq: pmic-irq {
+ samsung,pins = "gpa2-0";
+ samsung,pin-pud = <3>;
+ samsung,pin-drv = <3>;
+ };
+
+ sub_pmic_irq: sub-pmic-irq {
+ samsung,pins = "gpa1-3";
+ samsung,pin-function = <0>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <0>;
+ };
+
+
+ key_voldown: key-voldown {
+ samsung,pins = "gpa1-6";
+ samsung,pin-function = <0xf>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <0>;
+ };
+
+ key_volup: key-volup {
+ samsung,pins = "gpa1-5";
+ samsung,pin-function = <0xf>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <0>;
+ };
+
+ key_power: key-power {
+ samsung,pins = "gpa1-7";
+ samsung,pin-function = <0xf>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <0>;
+ };
+
+ dwmmc2_cd_ext_irq: dwmmc2_cd_ext_irq {
+ samsung,pins = "gpa0-7";
+ samsung,pin-function = <0xf>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <3>;
+ };
+
+ attn_irq: attn-irq {
+ samsung,pins = "gpa2-4";
+ samsung,pin-function = <0xf>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <0>;
+ };
+
+ attn_input: attn-input {
+ samsung,pins = "gpa2-4";
+ samsung,pin-function = <0>;
+ samsung,pin-pud = <1>;
+ };
+
+ if_pmic_irq: if-pmic-irq {
+ samsung,pins = "gpa2-1";
+ samsung,pin-function = <0>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <0>;
+ };
+
+ fuel_irq: fuel-irq {
+ samsung,pins = "gpa2-3";
+ samsung,pin-function = <0>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <0>;
+ };
+
+ usbpd_irq: usbpd-irq {
+ samsung,pins = "gpa2-2";
+ samsung,pin-function = <0xf>;
+ samsung,pin-pud = <3>;
+ samsung,pin-drv = <3>;
+ };
+/* TODO: Need to check pin number
+ small_charger_irq: small-charger-irq {
+ samsung,pins = "gpa2-5";
+ samsung,pin-function = <0>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <0>;
+ };
+*/
+ cap_int_status: cap_int_status {
+ samsung,pins = "gpa2-6";
+ samsung,pin-function = <0>;
+ samsung,pin-val = <1>;
+ samsung,pin-pud = <1>;
+ };
+};
+
+&pinctrl_4 {
+ /* Warm reset information from AP */
+ pm_wrsti: pm-wrsti {
+ samsung,pins = "gpg0-7";
+ samsung,pin-con-pdn = <3>;
+ };
+
+ motor_pwm: motor_pwm {
+ samsung,pins = "gpg4-2";
+ samsung,pin-function = <2>;
+ samsung,pin-pud = <1>;
+ samsung,pin-drv = <0>;
+ };
+
+ vdd_on: vdd-on {
+ samsung,pins ="gpg3-4";
+ samsung,pin-function = <1>;
+ samsung,pin-val = <1>;
+ samsung,pin-pud = <3>;
+ };
+
+ vdd_off: vdd-off {
+ samsung,pins ="gpg3-4";
+ samsung,pin-function = <0>;
+ samsung,pin-val = <0>;
+ samsung,pin-pud = <1>;
+ };
+
+ codec_reset: codec-reset {
+ samsung,pins ="gpg3-2";
+ samsung,pin-pud = <0>;
+ samsung,pin-con-pdn =<3>;
+ samsung,pin-pud-pdn = <0>;
+ };
+
+ codec_en: codec_en {
+ samsung,pins = "gpg1-1";
+ samsung,pin-function = <1>;
+ samsung,pin-pud = <3>;
+ samsung,pin-val = <1>;
+ };
+
+ pa_reset: pa-reset {
+ samsung,pins ="gpg3-3";
+ samsung,pin-con-pdn =<3>;
+ samsung,pin-pud-pdn = <3>;
+ };
+};
+
+&udc {
+ status = "okay";
+};
+
+&usbdrd_dwc3 {
+ dr_mode = "otg";
+ maximum-speed = "high-speed";
+};
+
+&usbdrd_phy {
+ status = "okay";
+ usb3phy-isolation = <1>;
+
+ hs_tune_param = <&usb_hs_tune>;
+};
+
+&usbdrd3_phy {
+ status = "okay";
+ usb3phy-isolation = <1>;
+
+ hs_tune_param = <&usb3_hs_tune>;
+ ss_tune_param = <&usb3_ss_tune>;
+};
+
+&serial_0 {
+ status = "okay";
+};
+
+&dsim_0 {
+ lcd_info = <&nt36672a>;
+ /* reset, lcd_bias_enp, lcd_bias_enn, lcd_bl_en*/
+ gpios = <&gpg1 4 0x1>, <&gpg3 1 0x1>, <&gpg3 0 0x1>, <&gpg2 1 0x1>;
+};
+
+/* USI_0_SHUB */
+&usi_0_shub {
+ usi_v2_mode = "spi";
+ status = "okay";
+};
+
+/* USI_SHUB_0_I2C */
+&usi_0_shub_i2c {
+ /* usi_v2_mode = "i2c" or "spi" or "uart" */
+ status = "disabled";
+};
+
+/* USI_0_CMGP */
+&usi_0_cmgp {
+ /* usi_v2_mode = "i2c" or "spi" or "uart" */
+ usi_v2_mode = "i2c";
+ status = "okay";
+};
+
+/* USI_0_CMGP_I2C */
+&usi_0_cmgp_i2c {
+ usi_v2_mode = "i2c";
+ status = "okay";
+};
+
+/* USI_1_CMGP */
+&usi_1_cmgp {
+ usi_v2_mode = "i2c";
+ status = "okay";
+};
+
+/* USI_1_CMGP_I2C */
+&usi_1_cmgp_i2c {
+ usi_v2_mode = "i2c";
+ status = "okay";
+};
+
+/* USI_2_CMGP */
+&usi_2_cmgp {
+ /* usi_v2_mode = "i2c" or "spi" or "uart" */
+ usi_v2_mode = "i2c";
+ status = "okay";
+};
+
+/* USI_2_CMGP_I2C */
+&usi_2_cmgp_i2c {
+ usi_v2_mode = "i2c";
+ status = "okay";
+};
+
+/* USI_3_CMGP */
+&usi_3_cmgp {
+ /* usi_v2_mode = "i2c" or "spi" or "uart" */
+ status = "disabled";
+};
+
+/* USI_3_CMGP_I2C */
+&usi_3_cmgp_i2c {
+ /* usi_v2_mode = "i2c" or "spi" or "uart" */
+ status = "disabled";
+};
+
+/* USI_4_CMGP */
+&usi_4_cmgp {
+ /* usi_v2_mode = "i2c" or "spi" or "uart" */
+ status = "disabled";
+};
+
+/* USI_4_CMGP_I2C */
+&usi_4_cmgp_i2c {
+ /* usi_v2_mode = "i2c" or "spi" or "uart" */
+ status = "disabled";
+};
+
+/* USI_PERI_UART */
+&usi_peri_uart {
+ usi_v2_mode = "uart";
+ status = "okay";
+};
+
+/* USI_PERI_CAMI2C_0 */
+&usi_peri_cami2c_0 {
+ usi_v2_mode = "i2c";
+ status = "okay";
+};
+
+/* USI_PERI_CAMI2C_1 */
+&usi_peri_cami2c_1 {
+ usi_v2_mode = "i2c";
+ status = "okay";
+};
+
+/* USI_PERI_CAMI2C_2 */
+&usi_peri_cami2c_2 {
+ usi_v2_mode = "i2c";
+ status = "okay";
+};
+
+/* USI_PERI_CAMI2C_3 */
+&usi_peri_cami2c_3 {
+ usi_v2_mode = "i2c";
+ status = "okay";
+};
+
+/* USI_PERI_SPI_0 */
+&usi_peri_spi_0 {
+ usi_v2_mode = "spi";
+ status = "okay";
+};
+
+/* USI_PERI_SPI_1 */
+&usi_peri_spi_1 {
+ usi_v2_mode = "spi";
+ status = "okay";
+};
+
+/* USI_PERI_USI_0 */
+&usi_peri_usi_0 {
+ /* usi_v2_mode = "i2c" or "spi" or "uart" */
+ status = "disabled";
+};
+
+/* USI_PERI_USI_0_I2C */
+&usi_peri_usi_0_i2c {
+ /* usi_v2_mode = "i2c" or "spi" or "uart" */
+ status = "disabled";
+};
+
+/* USI_PERI_SPI_2 */
+&usi_peri_spi_2 {
+ usi_v2_mode = "spi";
+ status = "okay";
+};
+
+&spi_6 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi6_bus &spi6_cs_func &pa_reset>;
+ /*cs-gpios = <&gpp2 3 0>;*/
+ /*gpp2[3]*/
+ /*num-cs = <1>;*/
+ #address-cells = <1>;
+ #size-cells = <0>;
+ cs35l41_left: cs35l41@0 {
+ compatible = "cirrus,cs35l41";
+ reg = <0x0>;
+
+ spi-max-frequency = <9600000>;
+
+ interrupts = <2 0 0>;
+ interrupt-controller;
+ interrupt-parent = <&gpa0>;
+ reset-gpios = <&gpg3 3 0>;
+ #sound-dai-cells = <1>;
+
+ VA-supply = <&l42_reg>;
+ VP-supply = <&V_SYS>;
+
+ cirrus,boost-peak-milliamp = <4500>;
+ cirrus,boost-ind-nanohenry = <1000>;
+ cirrus,boost-cap-microfarad = <15>;
+ cirrus,asp-sdout-hiz = <0x1>;
+ cirrus,gpio-config2 {
+ cirrus,gpio-src-select = <0x4>;
+ cirrus,gpio-output-enable;
+ };
+
+ adsps {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ prince_l_dsp: adsp@2b80000 {
+ reg = <0x2b80000>;
+ firmware {
+ protection_music_aac {
+ cirrus,full-name;
+ cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
+ cirrus,bin-file = "cs35l41-dsp1-spk-prot-music-aac.bin";
+ };
+ protection_voice_aac {
+ cirrus,full-name;
+ cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
+ cirrus,bin-file = "cs35l41-dsp1-spk-prot-voice-aac.bin";
+ };
+ protection_ringtone_aac {
+ cirrus,full-name;
+ cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
+ cirrus,bin-file = "cs35l41-dsp1-spk-prot-ringtone-aac.bin";
+ };
+ protection_notification_aac {
+ cirrus,full-name;
+ cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
+ cirrus,bin-file = "cs35l41-dsp1-spk-prot-notification-aac.bin";
+ };
+ protection_music_qisheng {
+ cirrus,full-name;
+ cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
+ cirrus,bin-file = "cs35l41-dsp1-spk-prot-music-qisheng.bin";
+ };
+ protection_voice_qisheng {
+ cirrus,full-name;
+ cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
+ cirrus,bin-file = "cs35l41-dsp1-spk-prot-voice-qisheng.bin";
+ };
+ protection_ringtone_qisheng{
+ cirrus,full-name;
+ cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
+ cirrus,bin-file = "cs35l41-dsp1-spk-prot-ringtone-qisheng.bin";
+ };
+ protection_notification_qisheng {
+ cirrus,full-name;
+ cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
+ cirrus,bin-file = "cs35l41-dsp1-spk-prot-notification-qisheng.bin";
+ };
+ calibration_aac {
+ cirrus,full-name;
+ cirrus,wmfw-file = "cs35l41-dsp1-diag.wmfw";
+ cirrus,bin-file = "cs35l41-dsp1-aac-cali.bin";
+ };
+ calibration_qisheng{
+ cirrus,full-name;
+ cirrus,wmfw-file = "cs35l41-dsp1-diag.wmfw";
+ cirrus,bin-file = "cs35l41-dsp1-qissheng-cali.bin";
+ };
+ };
+ };
+ };
+ controller-data {
+ /*cs-gpio = <gpm8 0 0>*/
+ /*cs-gpios = <&gpp2 3 0>;*/
+ samsung,spi-feedback-delay = <1>;
+ samsung,spi-chip-select-mode = <0>;
+ };
+ };
+};
+
+&spi_9 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi9_bus &spi9_cs_func &codec_en>;
+ status = "okay";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ cs47l35: cs47l35@0 {
+ compatible = "cirrus,cs47l35";
+ reg = <0x0>;
+
+ spi-max-frequency = <11000000>;
+
+ interrupts = <6 8 0>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&gpa0>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ #sound-dai-cells = <1>;
+
+ AVDD-supply = <&l42_reg>;
+ DBVDD1-supply = <&l42_reg>;
+ DBVDD2-supply = <&l42_reg>;
+ CPVDD1-supply = <&l42_reg>;
+ /*Not used LDO44*/
+ /*CPVDD2-supply = <&l44_reg>;*/
+ /*DCVDD-supply = <&l44_reg>;*/
+ SPKVDD-supply = <&V_SYS>;
+
+ reset-gpios = <&gpg3 2 0>;
+
+ cirrus,dmic-ref = <0 0 0>;
+ cirrus,inmode = <
+ 0 0 0 0 /* IN1 */
+ 0 0 0 0 /* IN2 */
+ >;
+
+ cirrus,gpsw = <1 0>;
+
+ pinctrl-names = "probe", "active";
+ pinctrl-0 = <&codec_reset>;
+ pinctrl-1 = <&codec_reset &cs47l35_defaults>;
+
+ madera_pinctrl: madera-pinctrl {
+ compatible = "cirrus,madera-pinctrl";
+ cs47l35_defaults: cs47l35-gpio-defaults {
+ aif1 {
+ groups = "aif1";
+ function = "aif1";
+ bias-bus-hold;
+ };
+
+ aif2 {
+ groups = "aif2";
+ function = "aif2";
+ bias-bus-hold;
+ };
+
+ aif3 {
+ groups = "aif3";
+ function = "aif3";
+ bias-bus-hold;
+ };
+
+ gpio6 { /* Amp Clock */
+ groups = "gpio6";
+ function = "opclk";
+ bias-pull-up;
+ output-low;
+ };
+
+ gpio5 { /* Mic Polarity Flip */
+ groups = "gpio5";
+ function = "io";
+ };
+ };
+ };
+
+
+ micvdd {
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+ };
+
+ MICBIAS1 {
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ cirrus,ext-cap = <1>;
+ };
+ MICBIAS1A {
+ regulator-active-discharge = <1>;
+ };
+ MICBIAS1B {
+ regulator-active-discharge = <1>;
+ };
+
+ MICBIAS2 {
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ cirrus,ext-cap = <1>;
+ };
+
+ MICBIAS2A {
+ regulator-active-discharge = <1>;
+ };
+ MICBIAS2B {
+ regulator-active-discharge = <1>;
+ };
+
+ cirrus,accdet {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ acc@1 {
+ reg = <1>;
+
+ cirrus,micd-configs = <
+ 0 0 2 0 0
+ >;
+ cirrus,micd-bias-start-time = <8>;
+ cirrus,micd-rate = <6>;
+ /*cirrus,micd-pol-gpios = <&cs47l35 4 0>;*/
+ cirrus,micd-detect-debounce-ms = <500>;
+ /*cirrus,jd-use-jd2;*/
+ /*cirrus,micd-clamp-mode = <0x8>;*/
+ };
+ };
+
+ adsps {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ adsp@17fe00 {
+ reg = <0x17fe00>;
+ firmware {
+ frontend {
+ wlf,wmfw-file = "marley-dsp2-aov-frontend.wmfw";
+ wlf,bin-file = "marley-dsp2-aov-vrgain.bin";
+ };
+ };
+ };
+ adsp@1ffe00 {
+ reg = <0x1ffe00>;
+ firmware {
+ aov {
+ wlf,wmfw-file = "marley-dsp3-aov-control.wmfw";
+ wlf,bin-file = "marley-dsp3-aov-model.bin";
+ };
+ };
+ };
+ };
+
+ controller-data {
+ samsung,spi-feedback-delay = <1>;
+ samsung,spi-chip-select-mode = <0>;
+ };
+ };
+};
/dts-v1/;
/plugin/;
-#include "exynos9610_battery_data.dtsi"
+#include "exynos9609-robusta2_common.dtsi"
#include "exynos9610-mot-kane.dtsi"
-#include <dt-bindings/clock/exynos9610.h>
-#include "modem-ss360ap-sit-pdata.dtsi"
-#include "exynos9610-display-lcd.dtsi"
-#include "exynos9610-robusta2-camera.dtsi"
-#include "novatek-nt36xxx-i2c.dtsi"
-#include "himax-hx83112a-i2c.dtsi"
-#include "wing-sensor.dtsi"
-#include "exynos9610-robusta2-motor.dtsi"
/ {
compatible = "samsung,exynos9610", "samsung,Robusta2 EVB";
#address-cells = <2>;
#size-cells = <1>;
model = "Samsung Robusta2 EVB board based on EXYNOS9610";
-
- ect {
- parameter_address = <0x90000000>;
- parameter_size = <0x19000>;
- };
-
- chosen {
- bootargs = "console=ram skip_initramfs rootwait ro init=/init clk_ignore_unused bcm_setup=0xffffff80f8e00000 androidboot.hardware=exynos9610 androidboot.selinux=permissive androidboot.debug_level=0x4948 firmware_class.path=/vendor/firmware ecd_setup=disable reserve-fimc=0xffffff80fa000000 pmic_info=0x3 ccic_info=0x1 epx_activate=true ";
- linux,initrd-start = <0x84000000>;
- linux,initrd-end = <0x841FFFFF>;
- };
-
- fixed-rate-clocks {
- oscclk {
- compatible = "samsung,exynos9610-oscclk";
- clock-frequency = <26000000>;
- };
- };
-
- firmware {
- android {
- compatible = "android,firmware";
- vbmeta {
- compatible = "android,vbmeta";
- parts = "vbmeta,boot,system,vendor";
- };
- fstab {
- compatible = "android,fstab";
- vendor {
- compatible = "android,vendor";
- dev = "/dev/block/platform/13520000.ufs/by-name/vendor";
- type = "ext4";
- mnt_flags = "ro";
- fsmgr_flags = "wait,avb,slotselect";
- };
- };
- };
- };
-
- ifconn {
- status = "okay";
- compatible = "samsung,ifconn";
- ifconn,usbpd = "s2mm005";
- ifconn,muic = "s2mu106-muic";
- };
-
- /*Fingerprint start*/
- et320: et320{
- compatible = "egistec,et320";
- status = "ok";
- reg = <0>;
- clocks = <&clock GATE_SPI_1_QCH>, <&clock SPI1>;
- clock-names = "spi", "spi_busclk0";
- pinctrl-names = "default";
- pinctrl-0 = <&spi7_bus &spi7_cs_func>;
- egistec,gpio_irq = <&gpa0 5 0>;
- egistec,gpio_rst = <&gpa1 1 0>;
- egistec,gpio_ldo3p3_en = <&gpg2 0 0>;
- egistec,gpio_ldo1p8_en = <&gpg2 2 0>;
- };
- /*Fingerprint end*/
-
- speedy@11a10000 {
- status = "okay";
- #address-cells = <1>;
- #size-cells = <0>;
- s2mpu09mfd@00 {
- compatible = "samsung,s2mpu09mfd";
- acpm-ipc-channel = <2>;
- i2c-speedy-address;
- s2mpu09,wakeup = "enabled";
- s2mpu09,irq-gpio = <&gpa2 0 0>;
- reg = <0x00>;
- interrupts = <2 0 0>;
- interrupt-parent = <&gpa2>;
- pinctrl-names = "default";
- pinctrl-0 = <&pmic_irq &pm_wrsti>;
- /* RTC: wtsr/smpl */
- wtsr_en = "enabled"; /* enable */
- smpl_en = "enabled"; /* enable */
- wtsr_timer_val = <3>; /* 1000ms */
- smpl_timer_val = <4>; /* 500ms */
- check_jigon = <0>; /* do not check jigon */
- /* RTC: If it's first boot, reset rtc to 1/1/2017 12:00:00(Sun) */
- init_time,sec = <0>;
- init_time,min = <0>;
- init_time,hour = <12>;
- init_time,mday = <1>;
- init_time,mon = <0>;
- init_time,year = <117>;
- init_time,wday = <0>;
-
- regulators {
- b1_reg: BUCK1 {
- regulator-name = "vdd_mif";
- regulator-min-microvolt = <500000>;
- regulator-max-microvolt = <1100000>;
- regulator-always-on;
- regulator-ramp-delay = <12000>;
- regulator-initial-mode = <2>;
- };
-
- b2_reg: BUCK2 {
- regulator-name = "vdd_cpucl1";
- regulator-min-microvolt = <500000>;
- regulator-max-microvolt = <1300000>;
- regulator-always-on;
- regulator-ramp-delay = <12000>;
- regulator-initial-mode = <1>;
- };
-
- b3_reg: BUCK3 {
- regulator-name = "vdd_cpucl0";
- regulator-min-microvolt = <500000>;
- regulator-max-microvolt = <1300000>;
- regulator-always-on;
- regulator-ramp-delay = <12000>;
- regulator-initial-mode = <1>;
- };
-
- b4_reg: BUCK4{
- regulator-name = "vdd_int";
- regulator-min-microvolt = <500000>;
- regulator-max-microvolt = <1100000>;
- regulator-always-on;
- regulator-ramp-delay = <12000>;
- regulator-initial-mode = <2>;
- };
-
- b5_reg: BUCK5 {
- regulator-name = "vdd_g3d";
- regulator-min-microvolt = <500000>;
- regulator-max-microvolt = <1200000>;
- regulator-always-on;
- regulator-ramp-delay = <12000>;
- regulator-initial-mode = <2>;
- };
-
- b6_reg: BUCK6 {
- regulator-name = "vdd_cam_vipx";
- regulator-min-microvolt = <500000>;
- regulator-max-microvolt = <1300000>;
- regulator-always-on;
- regulator-ramp-delay = <12000>;
- regulator-initial-mode = <2>;
- };
-
- b7_reg: BUCK7 {
- regulator-name = "vdd2_mem";
- regulator-min-microvolt = <500000>;
- regulator-max-microvolt = <1300000>;
- regulator-always-on;
- regulator-ramp-delay = <12000>;
- regulator-initial-mode = <3>;
- };
-
- b8_reg: BUCK8 {
- regulator-name = "vdd_lldo";
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1500000>;
- regulator-always-on;
- regulator-ramp-delay = <12000>;
- regulator-initial-mode = <3>;
- };
-
- b9_reg: BUCK9 {
- regulator-name = "vdd_mldo";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <2100000>;
- regulator-always-on;
- regulator-ramp-delay = <12000>;
- regulator-initial-mode = <3>;
- };
-
- l1_reg: LDO1 {
- regulator-name = "vdd_ldo1";
- regulator-min-microvolt = <700000>;
- regulator-max-microvolt = <1300000>;
- regulator-always-on;
- regulator-ramp-delay = <12000>;
- regulator-initial-mode = <3>;
- };
-
- l2_reg: LDO2 {
- regulator-name = "vqmmc";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <3375000>;
- regulator-ramp-delay = <12000>;
- };
-
- l3_reg: LDO3 {
- regulator-name = "vdd_ldo3";
- regulator-min-microvolt = <800000>;
- regulator-max-microvolt = <1950000>;
- regulator-always-on;
- regulator-ramp-delay = <12000>;
- regulator-initial-mode = <3>;
- };
-
- l4_reg: LDO4 {
- regulator-name = "vdd_ldo4";
- regulator-min-microvolt = <500000>;
- regulator-max-microvolt = <1100000>;
- regulator-always-on;
- regulator-ramp-delay = <12000>;
- regulator-initial-mode = <1>;
- };
-
- l5_reg: LDO5 {
- regulator-name = "vdd_ldo5";
- regulator-min-microvolt = <800000>;
- regulator-max-microvolt = <1300000>;
- regulator-always-on;
- regulator-ramp-delay = <12000>;
- regulator-initial-mode = <1>;
- };
-
- l6_reg: LDO6 {
- regulator-name = "vdd_ldo6";
- regulator-min-microvolt = <800000>;
- regulator-max-microvolt = <1300000>;
- regulator-always-on;
- regulator-ramp-delay = <12000>;
- regulator-initial-mode = <1>;
- };
-
- l7_reg: LDO7 {
- regulator-name = "vdd_ldo7";
- regulator-min-microvolt = <800000>;
- regulator-max-microvolt = <1950000>;
- regulator-always-on;
- regulator-ramp-delay = <12000>;
- regulator-initial-mode = <1>;
- };
-
- l8_reg: LDO8 {
- regulator-name = "vdd_ldo8";
- regulator-min-microvolt = <500000>;
- regulator-max-microvolt = <1300000>;
- regulator-always-on;
- regulator-ramp-delay = <12000>;
- regulator-initial-mode = <1>;
- };
-
- l9_reg: LDO9 {
- regulator-name = "vdd_ldo9";
- regulator-min-microvolt = <500000>;
- regulator-max-microvolt = <1300000>;
- regulator-always-on;
- regulator-ramp-delay = <12000>;
- regulator-initial-mode = <1>;
- };
-
- l10_reg: LDO10 {
- regulator-name = "vdd_ldo10";
- regulator-min-microvolt = <500000>;
- regulator-max-microvolt = <1300000>;
- regulator-always-on;
- regulator-ramp-delay = <12000>;
- regulator-initial-mode = <1>;
- };
-
- l11_reg: LDO11 {
- regulator-name = "vdd_ldo11";
- regulator-min-microvolt = <500000>;
- regulator-max-microvolt = <1300000>;
- regulator-always-on;
- regulator-ramp-delay = <12000>;
- regulator-initial-mode = <1>;
- };
-
- l12_reg: LDO12 {
- regulator-name = "vdd_ldo12";
- regulator-min-microvolt = <800000>;
- regulator-max-microvolt = <1300000>;
- regulator-always-on;
- regulator-ramp-delay = <12000>;
- regulator-initial-mode = <1>;
- };
-
- l13_reg: LDO13 {
- regulator-name = "vdd_ldo13";
- regulator-min-microvolt = <800000>;
- regulator-max-microvolt = <1950000>;
- regulator-always-on;
- regulator-ramp-delay = <12000>;
- regulator-initial-mode = <1>;
- };
-
- l14_reg: LDO14 {
- regulator-name = "vdd_ldo14";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <3375000>;
- regulator-always-on;
- regulator-ramp-delay = <12000>;
- regulator-initial-mode = <1>;
- };
-
- l33_reg: LDO33 {
- regulator-name = "vdd_ldo33";
- regulator-min-microvolt = <800000>;
- regulator-max-microvolt = <1950000>;
- regulator-ramp-delay = <12000>;
- };
-
- l34_reg: LDO34 {
- regulator-name = "vdd_ldo34";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <3375000>;
- regulator-ramp-delay = <12000>;
- };
-
- l35_reg: LDO35 {
- regulator-name = "vmmc";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <3375000>;
- regulator-ramp-delay = <12000>;
- };
-
- l36_reg: LDO36 {
- regulator-name = "vdd_ldo36";
- regulator-min-microvolt = <500000>;
- regulator-max-microvolt = <1300000>;
- regulator-always-on;
- regulator-ramp-delay = <12000>;
- regulator-initial-mode = <1>;
- };
-
- l37_reg: LDO37 {
- regulator-name = "vdd_ldo37";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- regulator-ramp-delay = <12000>;
- regulator-always-on;
- };
-
- l38_reg: LDO38 {
- regulator-name = "VLDO38_PMIC_RCAM_AFVCC_2P8";
- regulator-min-microvolt = <2800000>;
- regulator-max-microvolt = <2800000>;
- regulator-ramp-delay = <12000>;
- };
-
- l39_reg: LDO39 {
- regulator-name = "vdd_ldo39";
- regulator-min-microvolt = <800000>;
- regulator-max-microvolt = <1950000>;
- regulator-ramp-delay = <12000>;
- regulator-always-on;
- };
-
- l40_reg: LDO40 {
- regulator-name = "vdd_ldo40";
- regulator-min-microvolt = <3000000>;
- regulator-max-microvolt = <3000000>;
- regulator-ramp-delay = <12000>;
- regulator-initial-mode = <3>;
- regulator-always-on;
- };
-
- l41_reg: LDO41 {
- regulator-name = "VLDO41_PMIC_FCAM_AVDD_2P8";
- regulator-min-microvolt = <2800000>;
- regulator-max-microvolt = <2800000>;
- regulator-ramp-delay = <12000>;
- };
-
- l42_reg: LDO42 {
- regulator-name = "vdd_ldo42";
- regulator-min-microvolt = <800000>;
- regulator-max-microvolt = <1950000>;
- regulator-ramp-delay = <12000>;
- regulator-always-on;
- };
-
- l43_reg: LDO43 {
- regulator-name = "vdd_ldo43";
- regulator-min-microvolt = <500000>;
- regulator-max-microvolt = <1300000>;
- regulator-always-on;
- regulator-ramp-delay = <12000>;
- regulator-initial-mode = <1>;
- };
-
- l44_reg: LDO44 {
- regulator-name = "VLDO44_PMIC_DCAM_DVDD_1P2";
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1200000>;
- regulator-ramp-delay = <12000>;
- };
- };
- };
- };
-
-
- exynos_rgt {
- compatible = "samsung,exynos-rgt";
- };
-
- mailbox_cp: mcu_ipc@11920000 {
- compatible = "samsung,exynos-shd-ipc-mailbox";
- reg = <0x0 0x11920000 0x180>;
- mcu,name = "mcu_ipc_cp";
- mcu,id = <0>;
- interrupts = <0 40 0 >;
- };
-
- mailbox_gnss: mcu_ipc@11A00000 {
- compatible = "samsung,exynos-shd-ipc-mailbox";
- reg = <0x0 0x11A00000 0x180>;
- mcu,name = "mcu_ipc_gnss";
- mcu,id = <1>;
- interrupts = <0 43 0>; /* INTREQ__MAILBOX_GNSS2AP */
- };
-
- gnss_pdata {
- status = "okay";
-
- compatible = "samsung,gnss_shdmem_if";
- shmem,name = "KEPLER";
- shmem,device_node_name = "gnss_ipc";
-
- /* INTREQ__ALIVE_GNSS_ACTIVE, INTREQ__GNSS2AP_WDOG_RESET, INTREQ__GNSS2AP_WAKEUP, INTREQ__GNSS2AP */
- interrupts = <0 27 0>, <0 81 0>, <0 80 0>, <0 79 0>;
- interrupt-names = "ACTIVE", "WATCHDOG", "WAKEUP", "REQ_INIT";
-
- memory-region = <&gnss_reserved>;
- mbox_info = <&mailbox_gnss>;
-
- mbx,int_ap2gnss_bcmd = <0>;
- mbx,int_ap2gnss_req_fault_info = <1>;
- mbx,int_ap2gnss_ipc_msg = <2>;
- mbx,int_ap2gnss_ack_wake_set = <3>;
- mbx,int_ap2gnss_ack_wake_clr = <4>;
-
- mbx,irq_gnss2ap_bcmd = <0>;
- mbx,irq_gnss2ap_rsp_fault_info = <1>;
- mbx,irq_gnss2ap_ipc_msg = <2>;
- mbx,irq_gnss2ap_req_wake_clr = <4>;
-
- mbx,reg_bcmd_ctrl = <0>, <1>, <2>, <3>;
-
- reg_rx_ipc_msg = <1 5>;
- reg_tx_ipc_msg = <1 4>;
- reg_rx_head = <1 3>;
- reg_rx_tail = <1 2>;
- reg_tx_head = <1 1>;
- reg_tx_tail = <1 0>;
- fault_info = <1 0x200000 0x180000>;
-
- shmem,ipc_offset = <0x380000>;
- shmem,ipc_size = <0x80000>;
- shmem,ipc_reg_cnt = <32>;
- };
-
- gpio_keys {
- status = "okay";
- compatible = "gpio-keys";
- #address-cells = <1>;
- #size-cells = <0>;
- pinctrl-names = "default";
- pinctrl-0 = <&key_voldown &key_volup &key_power>;
- button@1 {
- label = "gpio-keys: KEY_VOLUMEDOWN";
- linux,code = <114>;
- gpios = <&gpa1 6 0xf>;
- };
- button@2 {
- label = "gpio-keys: KEY_VOLUMEUP";
- linux,code = <115>;
- gpios = <&gpa1 5 0xf>;
- };
- button@3 {
- label = "gpio-keys: KEY_POWER";
- linux,code = <116>;
- gpios = <&gpa1 7 0xf>;
- gpio-key,wakeup = <1>;
- };
- };
-
- dwmmc2@13550000 {
- status = "okay";
- num-slots = <1>;
- supports-4bit;
- supports-cmd23;
- supports-erase;
- supports-highspeed;
- card-detect-invert;
- card-detect-gpio;
- bypass-for-allpass;
- card-init-hwacg-ctrl;
- skip-init-mmc-scan;
- qos-dvfs-level = <100000>;
- fifo-depth = <0x40>;
- desc-size = <4>;
- card-detect-delay = <200>;
- data-timeout = <200>;
- hto-timeout = <80>;
- samsung,dw-mshc-ciu-div = <3>;
- clock-frequency = <800000000>;
- samsung,dw-mshc-sdr-timing = <3 0 2 0>;
- samsung,dw-mshc-ddr-timing = <3 0 2 1>;
- samsung,dw-mshc-sdr50-timing = <3 0 4 2>;
- samsung,dw-mshc-sdr104-timing = <3 0 3 0>;
-
- num-ref-clks = <9>;
- ciu_clkin = <25 50 50 25 50 100 200 50 50>;
-
- /* Swapping clock drive strength */
- clk-drive-number = <4>;
- pinctrl-names = "default",
- "fast-slew-rate-1x",
- "fast-slew-rate-2x",
- "fast-slew-rate-3x",
- "fast-slew-rate-4x";
- pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4 &dwmmc2_cd_ext_irq>;
- pinctrl-1 = <&sd2_clk_fast_slew_rate_1x>;
- pinctrl-2 = <&sd2_clk_fast_slew_rate_2x>;
- pinctrl-3 = <&sd2_clk_fast_slew_rate_3x>;
- pinctrl-4 = <&sd2_clk_fast_slew_rate_4x>;
-
- card-detect = <&gpa0 7 0xf>;
- #address-cells = <1>;
- #size-cells = <0>;
- slot@0 {
- reg = <0>;
- bus-width = <4>;
- disable-wp;
- };
- };
-
- usb_notifier {
- compatible = "samsung,usb-notifier";
- udc = <&udc>;
- };
-
- usb_hs_tune:usb_hs_tune {
- hs_tune_cnt = <12>;
-
- /* value = <device host> */
- hs_tune1 {
- tune_name = "tx_vref";
- tune_value = <0xf 0xf>;
- };
-
- hs_tune2 {
- tune_name = "tx_pre_emp";
- tune_value = <0x3 0x3>;
- };
-
- hs_tune3 {
- tune_name = "tx_pre_emp_plus";
- tune_value = <0x0 0x0>;
- };
-
- hs_tune4 {
- tune_name = "tx_res";
- tune_value = <0x3 0x3>;
- };
-
- hs_tune5 {
- tune_name = "tx_rise";
- tune_value = <0x3 0x3>;
- };
-
- hs_tune6 {
- tune_name = "tx_hsxv";
- tune_value = <0x3 0x3>;
- };
-
- hs_tune7 {
- tune_name = "tx_fsls";
- tune_value = <0x3 0x3>;
- };
-
- hs_tune8 {
- tune_name = "rx_sqrx";
- tune_value = <0x7 0x7>;
- };
-
- hs_tune9 {
- tune_name = "compdis";
- tune_value = <0x7 0x7>;
- };
-
- hs_tune10 {
- tune_name = "otg";
- tune_value = <0x2 0x2>;
- };
-
- hs_tune11 {
- /* true : 1, false: 0 */
- /* <enable_user_imp user_imp_value> */
- tune_name = "enable_user_imp";
- tune_value = <0x0 0x0>;
- };
-
- hs_tune12 {
- /* PHY clk : 1 , FREE clk : 0 */
- tune_name = "is_phyclock";
- tune_value = <0x1 0x1>;
- };
- };
-
- usb3_ss_tune:ss_tune {
- ss_tune_cnt = <15>;
-
- /* value = <device host> */
- ss_tune1 {
- tune_name = "tx0_term_offset";
- tune_value = <0x0 0x0>;
- };
-
- ss_tune2 {
- tune_name = "pcs_tx_swing_full";
- tune_value = <0x7f 0x7f>;
- };
-
- ss_tune3 {
- tune_name = "pcs_tx_deemph_6db";
- tune_value = <0x1c 0x1c>;
- };
-
- ss_tune4 {
- tune_name = "pcs_tx_deemph_3p5db";
- tune_value = <0x1c 0x1c>;
- };
-
- ss_tune5 {
- tune_name = "tx_vboost_lvl_sstx";
- tune_value = <0x7 0x7>;
- };
-
- ss_tune6 {
- tune_name = "tx_vboost_lvl";
- tune_value = <0x4 0x4>;
- };
-
- ss_tune7 {
- tune_name = "los_level";
- tune_value = <0x9 0x9>;
- };
-
- ss_tune8 {
- tune_name = "los_bias";
- tune_value = <0x5 0x5>;
- };
-
- ss_tune9 {
- tune_name = "pcs_rx_los_mask_val";
- tune_value = <0x104 0x104>;
- };
-
- ss_tune10 {
- tune_name = "tx_eye_height_cntl_en";
- tune_value = <0x1 0x1>;
- };
-
- ss_tune11 {
- tune_name = "pipe_tx_deemph_update_delay";
- tune_value = <0x2 0x2>;
- };
-
- ss_tune12 {
- tune_name = "pcs_tx_swing_full_sstx";
- tune_value = <0x7f 0x7f>;
- };
- ss_tune13 {
- tune_name = "rx_eq_fix_val";
- tune_value = <0x2 0x2>;
- };
-
- ss_tune14 {
- tune_name = "rx_decode_mode";
- tune_value = <0x1 0x1>;
- };
-
- ss_tune15 {
- tune_name = "decrese_ss_tx_imp";
- tune_value = <0x1 0x1>;
- };
- };
-
- usb3_hs_tune:usb3_hs_tune {
- hs_tune_cnt = <10>;
-
- /* value = <device host> */
- hs_tune1 {
- tune_name = "tx_pre_emp";
- tune_value = <0x3 0x3>;
- };
-
- hs_tune2 {
- tune_name = "tx_pre_emp_plus";
- tune_value = <0x0 0x0>;
- };
-
- hs_tune3 {
- tune_name = "tx_vref";
- tune_value = <0x7 0x7>;
- };
-
- hs_tune4 {
- tune_name = "rx_sqrx";
- tune_value = <0x7 0x7>;
- };
-
- hs_tune5 {
- tune_name = "tx_rise";
- tune_value = <0x3 0x3>;
- };
-
- hs_tune6 {
- tune_name = "compdis";
- tune_value = <0x7 0x7>;
- };
-
- hs_tune7 {
- tune_name = "tx_hsxv";
- tune_value = <0x3 0x3>;
- };
-
- hs_tune8 {
- tune_name = "tx_fsls";
- tune_value = <0x3 0x3>;
- };
-
- hs_tune9 {
- tune_name = "tx_res";
- tune_value = <0x3 0x3>;
- };
-
- hs_tune10 {
- tune_name = "utim_clk";
- tune_value = <0x1 0x1>;
- };
- };
-
- /* Secure RPMB */
- ufs-srpmb {
- compatible = "samsung,ufs-srpmb";
- interrupts = <0 460 0>;
- };
-
- V_SYS: fixedregulator@0 {
- compatible = "regulator-fixed";
- regulator-name = "V_SYS";
- regulator-min-microvolt = <4200000>;
- regulator-max-microvolt = <4200000>;
- regulator-boot-on;
- regulator-always-on;
- };
-
-
- dummy_audio_codec: audio_codec_dummy {
- status = "okay";
- compatible = "snd-soc-dummy";
- };
-
- dummy_audio_cpu: audio_cpu_dummy {
- compatible = "samsung,dummy-cpu";
- status = "okay";
- };
-
- sound {
- status = "okay";
- compatible = "samsung,exynos9610-madera";
-
- clock-names = "xclkout";
- clocks = <&clock OSC_AUD>;
- pinctrl-names = "default";
- pinctrl-0 = <&xclkout0>;
-
- cirrus,sysclk = <1 4 98304000>;
- cirrus,dspclk = <8 4 147456000>;
- cirrus,fll1-refclk = <1 0 26000000 98304000>;
-
- cirrus,opclk = <3 0 12288000>;
-
- gpios = <&gpm25 0 0>;
-
- samsung,routing =
- "HEADSETMIC", "MICBIAS1B",
- "IN1BR", "HEADSETMIC",
- "DMIC1", "MICBIAS2A",
- "IN1AL", "DMIC1",
- "DMIC2", "MICBIAS2A",
- "IN2L", "DMIC2",
- "DMIC3", "MICBIAS2B",
- "IN2R", "DMIC3",
- "RECEIVER", "EPOUTN",
- "RECEIVER", "EPOUTP",
- "HEADPHONE", "HPOUTL",
- "HEADPHONE", "HPOUTR",
- "AIF2 Playback", "OPCLK",
- "AIF2 Capture", "OPCLK",
- "VOUTPUT", "ABOX UAIF0 Playback",
- "SPEAKER", "Left SPK",
- "VOUTPUTCALL", "ABOX SIFS0 Playback",
- "ABOX SIFS0 Capture", "VINPUTCALL";
-
- samsung,codec = <&abox &abox_uaif_0 &abox_uaif_1 &abox_uaif_2
- &abox_uaif_4 &abox_dsif &abox_spdy &cs35l41_left>;
- samsung,prefix = "ABOX", "ABOX", "ABOX", "ABOX",
- "ABOX", "ABOX", "ABOX", "SPK";
- samsung,aux = <&abox_effect &abox_bt>;
-
- rdma@0 {
- cpu {
- sound-dai = <&abox 0>;
- };
- platform {
- sound-dai = <&abox_rdma_0>;
- };
- codec {
- sound-dai = <&dummy_audio_codec>;
- };
- };
- rdma@1 {
- cpu {
- sound-dai = <&abox 1>;
- };
- platform {
- sound-dai = <&abox_rdma_1>;
- };
- codec {
- sound-dai = <&dummy_audio_codec>;
- };
- };
- rdma@2 {
- cpu {
- sound-dai = <&abox 2>;
- };
- platform {
- sound-dai = <&abox_rdma_2>;
- };
- codec {
- sound-dai = <&dummy_audio_codec>;
- };
- };
- rdma@3 {
- cpu {
- sound-dai = <&abox 3>;
- };
- platform {
- sound-dai = <&abox_rdma_3>;
- };
- codec {
- sound-dai = <&dummy_audio_codec>;
- };
- };
- rdma@4 {
- cpu {
- sound-dai = <&abox 4>;
- };
- platform {
- sound-dai = <&abox_rdma_4>;
- };
- codec {
- sound-dai = <&dummy_audio_codec>;
- };
- };
- rdma@5 {
- cpu {
- sound-dai = <&abox 5>;
- };
- platform {
- sound-dai = <&abox_rdma_5>;
- };
- codec {
- sound-dai = <&dummy_audio_codec>;
- };
- };
- rdma@6 {
- cpu {
- sound-dai = <&abox 6>;
- };
- platform {
- sound-dai = <&abox_rdma_6>;
- };
- codec {
- sound-dai = <&dummy_audio_codec>;
- };
- };
- rdma@7 {
- cpu {
- sound-dai = <&abox 7>;
- };
- platform {
- sound-dai = <&abox_rdma_7>;
- };
- codec {
- sound-dai = <&dummy_audio_codec>;
- };
- };
- wdma@0 {
- cpu {
- sound-dai = <&abox 8>;
- };
- platform {
- sound-dai = <&abox_wdma_0>;
- };
- codec {
- sound-dai = <&dummy_audio_codec>;
- };
- };
- wdma@1 {
- cpu {
- sound-dai = <&abox 9>;
- };
- platform {
- sound-dai = <&abox_wdma_1>;
- };
- codec {
- sound-dai = <&dummy_audio_codec>;
- };
- };
- wdma@2 {
- cpu {
- sound-dai = <&abox 10>;
- };
- platform {
- sound-dai = <&abox_wdma_2>;
- };
- codec {
- sound-dai = <&dummy_audio_codec>;
- };
- };
- wdma@3 {
- cpu {
- sound-dai = <&abox 11>;
- };
- platform {
- sound-dai = <&abox_wdma_3>;
- };
- codec {
- sound-dai = <&dummy_audio_codec>;
- };
- };
- wdma@4 {
- cpu {
- sound-dai = <&abox 12>;
- };
- platform {
- sound-dai = <&abox_wdma_4>;
- };
- codec {
- sound-dai = <&dummy_audio_codec>;
- };
- };
- /** ToDo: enable dp_audio link after enabling DP Audio
- * dp_audio@0 {
- * cpu {
- * sound-dai = <&dummy_audio_cpu>;
- * };
- * codec {
- * sound-dai = <&dummy_audio_codec>;
- * };
- * };
- */
- uaif@0 {
- format = "i2s";
- cpu {
- sound-dai = <&abox_uaif_0>;
- };
- codec {
- sound-dai = <&cs47l35 0>;
- };
- };
- uaif@1 {
- format = "i2s";
- cpu {
- sound-dai = <&abox_uaif_1>;
- };
- codec {
- sound-dai = <&dummy_audio_codec>;
- };
- };
- uaif@2 {
- format = "i2s";
- cpu {
- sound-dai = <&abox_uaif_2>;
- };
- codec {
- sound-dai = <&cs47l35 2>;
- };
- };
- uaif@4 {
- format = "i2s";
- bitclock-master;
- frame-master;
- cpu {
- sound-dai = <&abox_uaif_4>;
- };
- codec {
- sound-dai = <&dummy_audio_codec>;
- };
- };
- dsif@0 {
- format = "pdm";
- cpu {
- sound-dai = <&abox_dsif>;
- };
- codec {
- sound-dai = <&dummy_audio_codec>;
- };
- };
- spdy@0 {
- cpu {
- sound-dai = <&abox_spdy>;
- };
- codec {
- sound-dai = <&dummy_audio_codec>;
- };
- };
- sifs0@0 {
- cpu {
- sound-dai = <&abox 13>;
- };
- codec {
- sound-dai = <&dummy_audio_codec>;
- };
- };
- sifs1@0 {
- cpu {
- sound-dai = <&abox 14>;
- };
- codec {
- sound-dai = <&dummy_audio_codec>;
- };
- };
- sifs2@0 {
- cpu {
- sound-dai = <&abox 15>;
- };
- codec {
- sound-dai = <&dummy_audio_codec>;
- };
- };
-
- codec-left-amp@0 {
- format = "i2s";
-
- cpu {
- sound-dai = <&cs47l35 1>;
- };
- codec {
- sound-dai = <&cs35l41_left 0>;
- };
- };
-
- cpu-dsp-voice-control@0 {
- cpu {
- sound-dai = <&cs47l35 3>;
- };
- codec {
- sound-dai = <&dummy_audio_codec>;
- };
- };
-
- cpu-dsp-trace@0 {
- cpu {
- sound-dai = <&cs47l35 4>;
- };
- codec {
- sound-dai = <&dummy_audio_codec>;
- };
- };
-
- cpu-dsp2-text@0 {
- cpu {
- sound-dai = <&cs47l35 5>;
- };
- codec {
- sound-dai = <&dummy_audio_codec>;
- };
- };
-
- cpu-dsp3-text@0 {
- cpu {
- sound-dai = <&cs47l35 6>;
- };
- codec {
- sound-dai = <&dummy_audio_codec>;
- };
- };
-
- cpu-dsp1-text@0 {
- cpu {
- sound-dai = <&cs47l35 7>;
- };
- codec {
- sound-dai = <&dummy_audio_codec>;
- };
- };
- };
}; /* end of __overlay__ */
}; /* end of fragment */
}; /* end of root */
-
-&i2c_0 {
- #address-cells = <1>;
- #size-cells = <0>;
- status = "okay";
- s2mu106-fuelgauge@3B {
- compatible = "samsung,s2mu106-fuelgauge";
- reg = <0x3B>;
- pinctrl-names = "default";
- pinctrl-0 = <&fuel_irq>;
- fuelgauge,fuel_int = <&gpa2 3 0>;
- fuelgauge,fuel_alert_vol = <3400>;
- fuelgauge,fuel_alert_soc = <1>;
- fuelgauge,type_str = "SDI";
- fuelgauge,model_type = <1>;
- };
-
- usbpd-s2mu106@3C {
- compatible = "sec-usbpd,i2c";
- reg = <0x3C>;
- pinctrl-names = "default";
- pinctrl-0 = <&usbpd_irq>;
- usbpd,usbpd_int = <&gpa2 2 0>;
-
- pdic-manager {
- /* sink */
- pdic,max_power = <5000>;
- pdic,op_power = <2500>;
- pdic,max_voltage = <6000>;
- pdic,max_current = <2000>;
- pdic,min_current = <500>;
-
- pdic,giveback = <0>;
- pdic,usb_com_capable = <1>;
- pdic,no_usb_suspend = <1>;
-
- /* source */
- source,max_voltage = <5000>;
- source,min_voltage = <4000>;
- source,max_power = <2500>;
-
- /* sink cap */
- sink,capable_max_voltage = <9000>;
- };
- };
-};
-
-&i2c_1 {
- #address-cells = <1>;
- #size-cells = <0>;
- status = "okay";
- s2mu106@3d {
- compatible = "samsung,s2mu106mfd";
- reg = <0x3d>;
- pinctrl-names = "default";
- pinctrl-0 = <&if_pmic_irq>;
- s2mu106,irq-gpio = <&gpa2 1 0>;
- s2mu106,wakeup;
-
- muic {
- status = "okay";
- muic,uart_addr = "11850000.pinctrl";
- muic,uart_rxd = "gpq0-3";
- muic,uart_txd = "gpq0-4";
- };
- };
-
- s2mu106-haptic {
- status = "okay";
- haptic,pwm_id = <1>;
- haptic,operation_mode = <2>; /* 0 : ERM_I2C, 1 : ERM_GPIO, 2 : LRA */
- haptic,hbst_en;
- haptic,hbst_automode;
- haptic,boost_level = <5000>;
- };
-
- s2mcs02-charger@41 {
- compatible = "samsung,s2mcs02-charger";
- reg = <0x41>;
- default-clk = <100000000>;
- };
-
- flash_led {
- /* Change here if you want to use FLED_EN pin
- fled-en1-gpio = <&gpg1 2 0>;
- fled-en2-gpio = <&gpg1 2 0>;
- fled-en3-gpio = <&gpg1 2 0>;
- fled-en4-gpio = <&gpg1 2 0>;
- */
- status = "okay";
- default_current = <50>;
- max_current = <200>;
- default_timer = <0>;
-
- s2mu106-channel1 {
- id = <0>;
- /*
- current = <100>;
- timer = <200>;
- */
- };
-
- s2mu106-channel2 {
- id = <1>;
- /*
- current = <100>;
- timer = <200>;
- */
- };
-
- s2mu106-channel3 {
- id = <2>;
- /*
- current = <100>;
- timer = <200>;
- */
- };
- };
-
- s2mu106-charger {
- status = "okay";
- battery,charger_name = "s2mu106-charger";
- battery,chg_gpio_en = <0>;
- battery,chg_polarity_en = <0>;
- battery,chg_gpio_status = <0>;
- battery,chg_polarity_status = <0>;
- battery,chg_float_voltage = <4350>;
- battery,chg_recharge_vcell = <4250>;
- battery,chg_full_vcell = <4300>;
- battery,full_check_type = <2>;
- battery,full_check_type_2nd = <2>;
- battery,input_current_limit = <
- 500 450 500 1200 500 1200 1200 1000 1000 1000
- 1000 500 500 1200 1000 500 450>;
- battery,fast_charging_current = <
- 500 450 500 1200 500 1200 1200 1000 1000 1000
- 1000 500 500 1200 1000 500 450>;
- battery,full_check_current_1st = <
- 300 0 300 300 300 300 300 300 300 300
- 300 300 300 300 300 300 0>;
- battery,full_check_current_2nd = <
- 100 0 100 100 100 100 100 100 100 100
- 100 100 100 100 100 100 0>;
- };
-};
-
-&exynos_adc {
- status = "okay";
- cpu_thermistor {
- compatible = "murata,ncp03wf104";
- status = "okay";
- pullup-uv = <1800000>;
- pullup-ohm = <100000>;
- pulldown-ohm = <0>;
- io-channels = <&exynos_adc 0>;
- io-channel-names = "cpu_therm";
- };
- battery_thermistor {
- compatible = "murata,ncp15xh103";
- status = "okay";
- pullup-uv = <1800000>;
- pullup-ohm = <100000>;
- pulldown-ohm = <0>;
- io-channels = <&exynos_adc 1>;
- io-channel-names = "bat_therm";
- };
- pa_thermistor {
- compatible = "murata,ncp15xh103";
- status = "okay";
- pullup-uv = <1800000>;
- pullup-ohm = <0>;
- pulldown-ohm = <10000>;
- io-channels = <&exynos_adc 4>;
- io-channel-names = "pa_therm";
- connected-positive;
- };
- board_thermistor {
- compatible = "murata,ncp03wf104";
- status = "okay";
- pullup-uv = <1800000>;
- pullup-ohm = <100000>;
- pulldown-ohm = <0>;
- io-channels = <&exynos_adc 7>;
- io-channel-names = "board_therm";
- };
- usb_con_thermistor {
- compatible = "murata,ncp03wf104";
- status = "okay";
- pullup-uv = <1800000>;
- pullup-ohm = <100000>;
- pulldown-ohm = <0>;
- io-channels = <&exynos_adc 8>;
- io-channel-names = "usb_con_therm";
- };
-};
-
-&i2c_2 {
- #address-cells = <1>;
- #size-cells = <0>;
- status = "okay";
-
- samsung,i2c-max-bus-freq = <600000>;
-
- sec-nfc@27 {
- compatible = "sec-nfc";
- reg = <0x27>;
-
- sec-nfc,ven-gpio = <&gpg0 0 0>;
- sec-nfc,firm-gpio = <&gpg0 2 0>;
-
- sec-nfc,irq-gpio = <&gpa1 2 0>;
- sec-nfc,clk_req-gpio = <&gpg0 1 0>;
- sec-nfc,ldo_en = <&gpm22 0 0>;
-
- clock-names = "OSC_NFC";
- clocks = <&clock OSC_NFC>;
- pinctrl-names = "default";
- pinctrl-0 = <&xclkout1>;
- };
-};
-
-&sec_pwm {
- status = "okay";
- pinctrl-names = "default";
- pinctrl-0 = <&motor_pwm>;
-};
-
-
-&fmp_0 {
- exynos,block-type = "sda";
- exynos,fips-block_offset = <5>;
-};
-
-&contexthub_0 {
- /* chub irq pin lists */
- chub-irq-pin = <162>;
- clocks =
- /* SHUB */
- <&clock UMUX_CLKCMU_SHUB_BUS>,
- /* MAG. SENSOR : AK09918C */
- <&clock CMGP01_USI>,
- /* PROX. SENSOR : TMD3702 */
- <&clock CMGP03_USI>,
- /* ALS SENSOR : BH1726 */
- <&clock CMGP_I2C>;
- clock-names =
- "chub_bus",
- "cmgp_usi01",
- "cmgp_usi03",
- "cmgp_i2c";
- os-type = "os.checked_0.bin";
-};
-
-&pinctrl_0 {
- pmic_irq: pmic-irq {
- samsung,pins = "gpa2-0";
- samsung,pin-pud = <3>;
- samsung,pin-drv = <3>;
- };
-
- sub_pmic_irq: sub-pmic-irq {
- samsung,pins = "gpa1-3";
- samsung,pin-function = <0>;
- samsung,pin-pud = <0>;
- samsung,pin-drv = <0>;
- };
-
-
- key_voldown: key-voldown {
- samsung,pins = "gpa1-6";
- samsung,pin-function = <0xf>;
- samsung,pin-pud = <0>;
- samsung,pin-drv = <0>;
- };
-
- key_volup: key-volup {
- samsung,pins = "gpa1-5";
- samsung,pin-function = <0xf>;
- samsung,pin-pud = <0>;
- samsung,pin-drv = <0>;
- };
-
- key_power: key-power {
- samsung,pins = "gpa1-7";
- samsung,pin-function = <0xf>;
- samsung,pin-pud = <0>;
- samsung,pin-drv = <0>;
- };
-
- dwmmc2_cd_ext_irq: dwmmc2_cd_ext_irq {
- samsung,pins = "gpa0-7";
- samsung,pin-function = <0xf>;
- samsung,pin-pud = <0>;
- samsung,pin-drv = <3>;
- };
-
- attn_irq: attn-irq {
- samsung,pins = "gpa2-4";
- samsung,pin-function = <0xf>;
- samsung,pin-pud = <0>;
- samsung,pin-drv = <0>;
- };
-
- attn_input: attn-input {
- samsung,pins = "gpa2-4";
- samsung,pin-function = <0>;
- samsung,pin-pud = <1>;
- };
-
- if_pmic_irq: if-pmic-irq {
- samsung,pins = "gpa2-1";
- samsung,pin-function = <0>;
- samsung,pin-pud = <0>;
- samsung,pin-drv = <0>;
- };
-
- fuel_irq: fuel-irq {
- samsung,pins = "gpa2-3";
- samsung,pin-function = <0>;
- samsung,pin-pud = <0>;
- samsung,pin-drv = <0>;
- };
-
- usbpd_irq: usbpd-irq {
- samsung,pins = "gpa2-2";
- samsung,pin-function = <0xf>;
- samsung,pin-pud = <3>;
- samsung,pin-drv = <3>;
- };
-/* TODO: Need to check pin number
- small_charger_irq: small-charger-irq {
- samsung,pins = "gpa2-5";
- samsung,pin-function = <0>;
- samsung,pin-pud = <0>;
- samsung,pin-drv = <0>;
- };
-*/
- cap_int_status: cap_int_status {
- samsung,pins = "gpa2-6";
- samsung,pin-function = <0>;
- samsung,pin-val = <1>;
- samsung,pin-pud = <1>;
- };
-};
-
-&pinctrl_4 {
- /* Warm reset information from AP */
- pm_wrsti: pm-wrsti {
- samsung,pins = "gpg0-7";
- samsung,pin-con-pdn = <3>;
- };
-
- motor_pwm: motor_pwm {
- samsung,pins = "gpg4-2";
- samsung,pin-function = <2>;
- samsung,pin-pud = <1>;
- samsung,pin-drv = <0>;
- };
-
- vdd_on: vdd-on {
- samsung,pins ="gpg3-4";
- samsung,pin-function = <1>;
- samsung,pin-val = <1>;
- samsung,pin-pud = <3>;
- };
-
- vdd_off: vdd-off {
- samsung,pins ="gpg3-4";
- samsung,pin-function = <0>;
- samsung,pin-val = <0>;
- samsung,pin-pud = <1>;
- };
-
- codec_reset: codec-reset {
- samsung,pins ="gpg3-2";
- samsung,pin-pud = <0>;
- samsung,pin-con-pdn =<3>;
- samsung,pin-pud-pdn = <0>;
- };
-
- codec_en: codec_en {
- samsung,pins = "gpg1-1";
- samsung,pin-function = <1>;
- samsung,pin-pud = <3>;
- samsung,pin-val = <1>;
- };
-
- pa_reset: pa-reset {
- samsung,pins ="gpg3-3";
- samsung,pin-con-pdn =<3>;
- samsung,pin-pud-pdn = <3>;
- };
-};
-
-&udc {
- status = "okay";
-};
-
-&usbdrd_dwc3 {
- dr_mode = "otg";
- maximum-speed = "high-speed";
-};
-
-&usbdrd_phy {
- status = "okay";
- usb3phy-isolation = <1>;
-
- hs_tune_param = <&usb_hs_tune>;
-};
-
-&usbdrd3_phy {
- status = "okay";
- usb3phy-isolation = <1>;
-
- hs_tune_param = <&usb3_hs_tune>;
- ss_tune_param = <&usb3_ss_tune>;
-};
-
-&serial_0 {
- status = "okay";
-};
-
-&dsim_0 {
- lcd_info = <&nt36672a>;
- /* reset, lcd_bias_enp, lcd_bias_enn, lcd_bl_en*/
- gpios = <&gpg1 4 0x1>, <&gpg3 1 0x1>, <&gpg3 0 0x1>, <&gpg2 1 0x1>;
-};
-
-/* USI_0_SHUB */
-&usi_0_shub {
- usi_v2_mode = "spi";
- status = "okay";
-};
-
-/* USI_SHUB_0_I2C */
-&usi_0_shub_i2c {
- /* usi_v2_mode = "i2c" or "spi" or "uart" */
- status = "disabled";
-};
-
-/* USI_0_CMGP */
-&usi_0_cmgp {
- /* usi_v2_mode = "i2c" or "spi" or "uart" */
- usi_v2_mode = "i2c";
- status = "okay";
-};
-
-/* USI_0_CMGP_I2C */
-&usi_0_cmgp_i2c {
- usi_v2_mode = "i2c";
- status = "okay";
-};
-
-/* USI_1_CMGP */
-&usi_1_cmgp {
- usi_v2_mode = "i2c";
- status = "okay";
-};
-
-/* USI_1_CMGP_I2C */
-&usi_1_cmgp_i2c {
- usi_v2_mode = "i2c";
- status = "okay";
-};
-
-/* USI_2_CMGP */
-&usi_2_cmgp {
- /* usi_v2_mode = "i2c" or "spi" or "uart" */
- usi_v2_mode = "i2c";
- status = "okay";
-};
-
-/* USI_2_CMGP_I2C */
-&usi_2_cmgp_i2c {
- usi_v2_mode = "i2c";
- status = "okay";
-};
-
-/* USI_3_CMGP */
-&usi_3_cmgp {
- /* usi_v2_mode = "i2c" or "spi" or "uart" */
- status = "disabled";
-};
-
-/* USI_3_CMGP_I2C */
-&usi_3_cmgp_i2c {
- /* usi_v2_mode = "i2c" or "spi" or "uart" */
- status = "disabled";
-};
-
-/* USI_4_CMGP */
-&usi_4_cmgp {
- /* usi_v2_mode = "i2c" or "spi" or "uart" */
- status = "disabled";
-};
-
-/* USI_4_CMGP_I2C */
-&usi_4_cmgp_i2c {
- /* usi_v2_mode = "i2c" or "spi" or "uart" */
- status = "disabled";
-};
-
-/* USI_PERI_UART */
-&usi_peri_uart {
- usi_v2_mode = "uart";
- status = "okay";
-};
-
-/* USI_PERI_CAMI2C_0 */
-&usi_peri_cami2c_0 {
- usi_v2_mode = "i2c";
- status = "okay";
-};
-
-/* USI_PERI_CAMI2C_1 */
-&usi_peri_cami2c_1 {
- usi_v2_mode = "i2c";
- status = "okay";
-};
-
-/* USI_PERI_CAMI2C_2 */
-&usi_peri_cami2c_2 {
- usi_v2_mode = "i2c";
- status = "okay";
-};
-
-/* USI_PERI_CAMI2C_3 */
-&usi_peri_cami2c_3 {
- usi_v2_mode = "i2c";
- status = "okay";
-};
-
-/* USI_PERI_SPI_0 */
-&usi_peri_spi_0 {
- usi_v2_mode = "spi";
- status = "okay";
-};
-
-/* USI_PERI_SPI_1 */
-&usi_peri_spi_1 {
- usi_v2_mode = "spi";
- status = "okay";
-};
-
-/* USI_PERI_USI_0 */
-&usi_peri_usi_0 {
- /* usi_v2_mode = "i2c" or "spi" or "uart" */
- status = "disabled";
-};
-
-/* USI_PERI_USI_0_I2C */
-&usi_peri_usi_0_i2c {
- /* usi_v2_mode = "i2c" or "spi" or "uart" */
- status = "disabled";
-};
-
-/* USI_PERI_SPI_2 */
-&usi_peri_spi_2 {
- usi_v2_mode = "spi";
- status = "okay";
-};
-
-&spi_6 {
- status = "okay";
- pinctrl-names = "default";
- pinctrl-0 = <&spi6_bus &spi6_cs_func &pa_reset>;
- /*cs-gpios = <&gpp2 3 0>;*/
- /*gpp2[3]*/
- /*num-cs = <1>;*/
- #address-cells = <1>;
- #size-cells = <0>;
- cs35l41_left: cs35l41@0 {
- compatible = "cirrus,cs35l41";
- reg = <0x0>;
-
- spi-max-frequency = <9600000>;
-
- interrupts = <2 0 0>;
- interrupt-controller;
- interrupt-parent = <&gpa0>;
- reset-gpios = <&gpg3 3 0>;
- #sound-dai-cells = <1>;
-
- VA-supply = <&l42_reg>;
- VP-supply = <&V_SYS>;
-
- cirrus,boost-peak-milliamp = <4500>;
- cirrus,boost-ind-nanohenry = <1000>;
- cirrus,boost-cap-microfarad = <15>;
- cirrus,asp-sdout-hiz = <0x1>;
- cirrus,gpio-config2 {
- cirrus,gpio-src-select = <0x4>;
- cirrus,gpio-output-enable;
- };
-
- adsps {
- #address-cells = <1>;
- #size-cells = <0>;
- prince_l_dsp: adsp@2b80000 {
- reg = <0x2b80000>;
- firmware {
- protection_music_aac {
- cirrus,full-name;
- cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
- cirrus,bin-file = "cs35l41-dsp1-spk-prot-music-aac.bin";
- };
- protection_voice_aac {
- cirrus,full-name;
- cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
- cirrus,bin-file = "cs35l41-dsp1-spk-prot-voice-aac.bin";
- };
- protection_ringtone_aac {
- cirrus,full-name;
- cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
- cirrus,bin-file = "cs35l41-dsp1-spk-prot-ringtone-aac.bin";
- };
- protection_notification_aac {
- cirrus,full-name;
- cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
- cirrus,bin-file = "cs35l41-dsp1-spk-prot-notification-aac.bin";
- };
- protection_music_qisheng {
- cirrus,full-name;
- cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
- cirrus,bin-file = "cs35l41-dsp1-spk-prot-music-qisheng.bin";
- };
- protection_voice_qisheng {
- cirrus,full-name;
- cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
- cirrus,bin-file = "cs35l41-dsp1-spk-prot-voice-qisheng.bin";
- };
- protection_ringtone_qisheng{
- cirrus,full-name;
- cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
- cirrus,bin-file = "cs35l41-dsp1-spk-prot-ringtone-qisheng.bin";
- };
- protection_notification_qisheng {
- cirrus,full-name;
- cirrus,wmfw-file = "cs35l41-dsp1-prot.wmfw";
- cirrus,bin-file = "cs35l41-dsp1-spk-prot-notification-qisheng.bin";
- };
- calibration_aac {
- cirrus,full-name;
- cirrus,wmfw-file = "cs35l41-dsp1-diag.wmfw";
- cirrus,bin-file = "cs35l41-dsp1-aac-cali.bin";
- };
- calibration_qisheng{
- cirrus,full-name;
- cirrus,wmfw-file = "cs35l41-dsp1-diag.wmfw";
- cirrus,bin-file = "cs35l41-dsp1-qissheng-cali.bin";
- };
- };
- };
- };
- controller-data {
- /*cs-gpio = <gpm8 0 0>*/
- /*cs-gpios = <&gpp2 3 0>;*/
- samsung,spi-feedback-delay = <1>;
- samsung,spi-chip-select-mode = <0>;
- };
- };
-};
-
-&spi_9 {
- pinctrl-names = "default";
- pinctrl-0 = <&spi9_bus &spi9_cs_func &codec_en>;
- status = "okay";
- #address-cells = <1>;
- #size-cells = <0>;
- cs47l35: cs47l35@0 {
- compatible = "cirrus,cs47l35";
- reg = <0x0>;
-
- spi-max-frequency = <11000000>;
-
- interrupts = <6 8 0>;
- interrupt-controller;
- #interrupt-cells = <2>;
- interrupt-parent = <&gpa0>;
- gpio-controller;
- #gpio-cells = <2>;
- #sound-dai-cells = <1>;
-
- AVDD-supply = <&l42_reg>;
- DBVDD1-supply = <&l42_reg>;
- DBVDD2-supply = <&l42_reg>;
- CPVDD1-supply = <&l42_reg>;
- /*Not used LDO44*/
- /*CPVDD2-supply = <&l44_reg>;*/
- /*DCVDD-supply = <&l44_reg>;*/
- SPKVDD-supply = <&V_SYS>;
-
- reset-gpios = <&gpg3 2 0>;
-
- cirrus,dmic-ref = <0 0 0>;
- cirrus,inmode = <
- 0 0 0 0 /* IN1 */
- 0 0 0 0 /* IN2 */
- >;
-
- cirrus,gpsw = <1 0>;
-
- pinctrl-names = "probe", "active";
- pinctrl-0 = <&codec_reset>;
- pinctrl-1 = <&codec_reset &cs47l35_defaults>;
-
- madera_pinctrl: madera-pinctrl {
- compatible = "cirrus,madera-pinctrl";
- cs47l35_defaults: cs47l35-gpio-defaults {
- aif1 {
- groups = "aif1";
- function = "aif1";
- bias-bus-hold;
- };
-
- aif2 {
- groups = "aif2";
- function = "aif2";
- bias-bus-hold;
- };
-
- aif3 {
- groups = "aif3";
- function = "aif3";
- bias-bus-hold;
- };
-
- gpio6 { /* Amp Clock */
- groups = "gpio6";
- function = "opclk";
- bias-pull-up;
- output-low;
- };
-
- gpio5 { /* Mic Polarity Flip */
- groups = "gpio5";
- function = "io";
- };
- };
- };
-
-
- micvdd {
- regulator-min-microvolt = <3000000>;
- regulator-max-microvolt = <3000000>;
- };
-
- MICBIAS1 {
- regulator-min-microvolt = <2800000>;
- regulator-max-microvolt = <2800000>;
- cirrus,ext-cap = <1>;
- };
- MICBIAS1A {
- regulator-active-discharge = <1>;
- };
- MICBIAS1B {
- regulator-active-discharge = <1>;
- };
-
- MICBIAS2 {
- regulator-min-microvolt = <2800000>;
- regulator-max-microvolt = <2800000>;
- cirrus,ext-cap = <1>;
- };
-
- MICBIAS2A {
- regulator-active-discharge = <1>;
- };
- MICBIAS2B {
- regulator-active-discharge = <1>;
- };
-
- cirrus,accdet {
- #address-cells = <1>;
- #size-cells = <0>;
-
- acc@1 {
- reg = <1>;
-
- cirrus,micd-configs = <
- 0 0 2 0 0
- >;
- cirrus,micd-bias-start-time = <8>;
- cirrus,micd-rate = <6>;
- /*cirrus,micd-pol-gpios = <&cs47l35 4 0>;*/
- cirrus,micd-detect-debounce-ms = <500>;
- /*cirrus,jd-use-jd2;*/
- /*cirrus,micd-clamp-mode = <0x8>;*/
- };
- };
-
- adsps {
- #address-cells = <1>;
- #size-cells = <0>;
- adsp@17fe00 {
- reg = <0x17fe00>;
- firmware {
- frontend {
- wlf,wmfw-file = "marley-dsp2-aov-frontend.wmfw";
- wlf,bin-file = "marley-dsp2-aov-vrgain.bin";
- };
- };
- };
- adsp@1ffe00 {
- reg = <0x1ffe00>;
- firmware {
- aov {
- wlf,wmfw-file = "marley-dsp3-aov-control.wmfw";
- wlf,bin-file = "marley-dsp3-aov-model.bin";
- };
- };
- };
- };
-
- controller-data {
- samsung,spi-feedback-delay = <1>;
- samsung,spi-chip-select-mode = <0>;
- };
- };
-};