--- /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.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "exynos9610_battery_data.dtsi"
+#include <dt-bindings/clock/exynos9610.h>
+#include "modem-ss360ap-sit-pdata.dtsi"
+#include "exynos9610-display-lcd.dtsi"
+#include "novatek-nt36xxx-i2c.dtsi"
+#include "wing-sensor.dtsi"
+
+/ {
+ compatible = "samsung,exynos9610", "samsung,Robusta2 EVB";
+ board_id = <0x1>;
+ board_rev = <0x0>;
+
+ fragment@model {
+ target-path = "/";
+ __overlay__ {
+ #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>;
+ };
+ /*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 = "vdd_ldo38";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3375000>;
+ regulator-ramp-delay = <12000>;
+ regulator-always-on;
+ };
+
+ 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 = <1800000>;
+ regulator-max-microvolt = <3375000>;
+ regulator-ramp-delay = <12000>;
+ regulator-initial-mode = <3>;
+ regulator-always-on;
+ };
+
+ l41_reg: LDO41 {
+ regulator-name = "vdd_ldo41";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3375000>;
+ 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 = "vdd_ldo44";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-ramp-delay = <12000>;
+ regulator-always-on;
+ };
+ };
+ };
+ };
+
+
+ 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;
+ sd-uhs-sdr50;
+ sd-uhs-sdr104;
+ 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>;
+
+ 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", "Left";
+ 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>;
+ };
+ };
+
+#if 0 /*ToDo: enable speaker amp on EVB board*/
+ codec-left-amp@0 {
+ format = "i2s";
+
+ cpu {
+ sound-dai = <&cs47l35 1>;
+ };
+ codec {
+ sound-dai = <&cs35l41_left 0>;
+ };
+ };
+#endif
+ };
+
+
+#if 0
+ fimc_is@144B0000 {
+ vender {
+ rear_sensor_id = <47>; /* 46: RPB, 20: 2P8, 47: 2P7SQ */
+ front_sensor_id = <7>; /* 6B2 */
+ rear_second_sensor_id = <48>; /* 48: 2T7SX */
+ secure_sensor_id = <22>; /* 5E2 */
+ };
+
+ fimc_is_dvfs {
+ #define DVFS_INT_CAM_L0 690000
+ #define DVFS_INT_CAM_L1 680000
+ #define DVFS_INT_CAM_L2 670000
+ #define DVFS_INT_CAM_L3 660000
+ #define DVFS_INT_CAM_L4 650000
+
+ #define DVFS_INT_L0 667000
+ #define DVFS_INT_L1 533000
+ #define DVFS_INT_L2 400000
+ #define DVFS_INT_L3 200000
+ #define DVFS_INT_L4 100000
+
+ #define DVFS_CAM_L0 690000
+ #define DVFS_CAM_L1 680000
+ #define DVFS_CAM_L2 670000
+ #define DVFS_CAM_L3 660000
+ #define DVFS_CAM_L4 650000
+ #define DVFS_CAM_L5 640000
+
+ #define DVFS_MIF_L0 2093000
+ #define DVFS_MIF_L1 2002000
+ #define DVFS_MIF_L2 1794000
+ #define DVFS_MIF_L3 1539000
+ #define DVFS_MIF_L4 1352000
+ #define DVFS_MIF_L5 1014000
+ #define DVFS_MIF_L6 845000
+ #define DVFS_MIF_L7 676000
+ #define DVFS_MIF_L8 546000
+ #define DVFS_MIF_L9 419000
+
+ table0 {
+ desc = "dvfs table v0.0 for 16M/2M";
+
+ default_int_cam = <DVFS_INT_CAM_L0>;
+ default_cam = <DVFS_CAM_L0>;
+ default_mif = <DVFS_MIF_L0>;
+ default_int = <DVFS_INT_L0>;
+ default_hpg = <1>;
+
+ front_preview_int_cam = <DVFS_INT_CAM_L0>;
+ front_preview_cam = <DVFS_CAM_L0>;
+ front_preview_mif = <DVFS_MIF_L0>;
+ front_preview_int = <DVFS_INT_L0>;
+ front_preview_hpg = <1>;
+
+ front_preview_full_int_cam = <DVFS_INT_CAM_L0>;
+ front_preview_full_cam = <DVFS_CAM_L0>;
+ front_preview_full_mif = <DVFS_MIF_L0>;
+ front_preview_full_int = <DVFS_INT_L0>;
+ front_preview_full_hpg = <1>;
+
+ front_capture_int_cam = <DVFS_INT_CAM_L0>;
+ front_capture_cam = <DVFS_CAM_L0>;
+ front_capture_mif = <DVFS_MIF_L0>;
+ front_capture_int = <DVFS_INT_L0>;
+ front_capture_hpg = <1>;
+
+ front_video_int_cam = <DVFS_INT_CAM_L0>;
+ front_video_cam = <DVFS_CAM_L0>;
+ front_video_mif = <DVFS_MIF_L0>;
+ front_video_int = <DVFS_INT_L0>;
+ front_video_hpg = <1>;
+
+ front_video_capture_int_cam = <DVFS_INT_CAM_L0>;
+ front_video_capture_cam = <DVFS_CAM_L0>;
+ front_video_capture_mif = <DVFS_MIF_L0>;
+ front_video_capture_int = <DVFS_INT_L0>;
+ front_video_capture_hpg = <1>;
+
+ front_wide_selfie_int_cam = <DVFS_INT_CAM_L0>;
+ front_wide_selfie_cam = <DVFS_CAM_L0>;
+ front_wide_selfie_mif = <DVFS_MIF_L0>;
+ front_wide_selfie_int = <DVFS_INT_L0>;
+ front_wide_selfie_hpg = <1>;
+
+ front_vt1_int_cam = <DVFS_INT_CAM_L0>;
+ front_vt1_cam = <DVFS_CAM_L0>;
+ front_vt1_mif = <DVFS_MIF_L0>;
+ front_vt1_int = <DVFS_INT_L0>;
+ front_vt1_hpg = <1>;
+
+ front_vt2_int_cam = <DVFS_INT_CAM_L0>;
+ front_vt2_cam = <DVFS_CAM_L0>;
+ front_vt2_mif = <DVFS_MIF_L0>;
+ front_vt2_int = <DVFS_INT_L0>;
+ front_vt2_hpg = <1>;
+
+ front_vt4_int_cam = <DVFS_INT_CAM_L0>;
+ front_vt4_cam = <DVFS_CAM_L0>;
+ front_vt4_mif = <DVFS_MIF_L0>;
+ front_vt4_int = <DVFS_INT_L0>;
+ front_vt4_hpg = <1>;
+
+ rear_preview_fhd_int_cam = <DVFS_INT_CAM_L0>;
+ rear_preview_fhd_cam = <DVFS_CAM_L0>;
+ rear_preview_fhd_mif = <DVFS_MIF_L0>;
+ rear_preview_fhd_int = <DVFS_INT_L0>;
+ rear_preview_fhd_hpg = <1>;
+
+ rear_preview_hd_int_cam = <DVFS_INT_CAM_L0>;
+ rear_preview_hd_cam = <DVFS_CAM_L0>;
+ rear_preview_hd_mif = <DVFS_MIF_L0>;
+ rear_preview_hd_int = <DVFS_INT_L0>;
+ rear_preview_hd_hpg = <1>;
+
+ rear_preview_uhd_int_cam = <DVFS_INT_CAM_L0>;
+ rear_preview_uhd_cam = <DVFS_CAM_L0>;
+ rear_preview_uhd_mif = <DVFS_MIF_L0>;
+ rear_preview_uhd_int = <DVFS_INT_L0>;
+ rear_preview_uhd_hpg = <1>;
+
+ rear_preview_full_int_cam = <DVFS_INT_CAM_L0>;
+ rear_preview_full_cam = <DVFS_CAM_L0>;
+ rear_preview_full_mif = <DVFS_MIF_L0>;
+ rear_preview_full_int = <DVFS_INT_L0>;
+ rear_preview_full_hpg = <1>;
+
+ rear_capture_int_cam = <DVFS_INT_CAM_L0>;
+ rear_capture_cam = <DVFS_CAM_L0>;
+ rear_capture_mif = <DVFS_MIF_L0>;
+ rear_capture_int = <DVFS_INT_L0>;
+ rear_capture_hpg = <1>;
+
+ rear_video_fhd_int_cam = <DVFS_INT_CAM_L0>;
+ rear_video_fhd_cam = <DVFS_CAM_L0>;
+ rear_video_fhd_mif = <DVFS_MIF_L0>;
+ rear_video_fhd_int = <DVFS_INT_L0>;
+ rear_video_fhd_hpg = <1>;
+
+ rear_video_hd_int_cam = <DVFS_INT_CAM_L0>;
+ rear_video_hd_cam = <DVFS_CAM_L0>;
+ rear_video_hd_mif = <DVFS_MIF_L0>;
+ rear_video_hd_int = <DVFS_INT_L0>;
+ rear_video_hd_hpg = <1>;
+
+ rear_video_uhd_int_cam = <DVFS_INT_CAM_L0>;
+ rear_video_uhd_cam = <DVFS_CAM_L0>;
+ rear_video_uhd_mif = <DVFS_MIF_L0>;
+ rear_video_uhd_int = <DVFS_INT_L0>;
+ rear_video_uhd_hpg = <1>;
+
+ rear_video_fhd_capture_int_cam = <DVFS_INT_CAM_L0>;
+ rear_video_fhd_capture_cam = <DVFS_CAM_L0>;
+ rear_video_fhd_capture_mif = <DVFS_MIF_L0>;
+ rear_video_fhd_capture_int = <DVFS_INT_L0>;
+ rear_video_fhd_capture_hpg = <1>;
+
+ rear_video_hd_capture_int_cam = <DVFS_INT_CAM_L0>;
+ rear_video_hd_capture_cam = <DVFS_CAM_L0>;
+ rear_video_hd_capture_mif = <DVFS_MIF_L0>;
+ rear_video_hd_capture_int = <DVFS_INT_L0>;
+ rear_video_hd_capture_hpg = <1>;
+
+ rear_video_uhd_capture_int_cam = <DVFS_INT_CAM_L0>;
+ rear_video_uhd_capture_cam = <DVFS_CAM_L0>;
+ rear_video_uhd_capture_mif = <DVFS_MIF_L0>;
+ rear_video_uhd_capture_int = <DVFS_INT_L0>;
+ rear_video_uhd_capture_hpg = <1>;
+
+ secure_front_int_cam = <DVFS_INT_CAM_L0>;
+ secure_front_cam = <DVFS_CAM_L0>;
+ secure_front_mif = <DVFS_MIF_L0>;
+ secure_front_int = <DVFS_INT_L0>;
+ secure_front_hpg = <1>;
+
+ pip_preview_int_cam = <DVFS_INT_CAM_L0>;
+ pip_preview_cam = <DVFS_CAM_L0>;
+ pip_preview_mif = <DVFS_MIF_L0>;
+ pip_preview_int = <DVFS_INT_L0>;
+ pip_preview_hpg = <1>;
+
+ pip_capture_int_cam = <DVFS_INT_CAM_L0>;
+ pip_capture_cam = <DVFS_CAM_L0>;
+ pip_capture_mif = <DVFS_MIF_L0>;
+ pip_capture_int = <DVFS_INT_L0>;
+ pip_capture_hpg = <1>;
+
+ pip_video_int_cam = <DVFS_INT_CAM_L0>;
+ pip_video_cam = <DVFS_CAM_L0>;
+ pip_video_mif = <DVFS_MIF_L0>;
+ pip_video_int = <DVFS_INT_L0>;
+ pip_video_hpg = <1>;
+
+ pip_video_capture_int_cam = <DVFS_INT_CAM_L0>;
+ pip_video_capture_cam = <DVFS_CAM_L0>;
+ pip_video_capture_mif = <DVFS_MIF_L0>;
+ pip_video_capture_int = <DVFS_INT_L0>;
+ pip_video_capture_hpg = <1>;
+
+ preview_high_speed_fps_int_cam = <DVFS_INT_CAM_L1>;
+ preview_high_speed_fps_cam = <DVFS_CAM_L3>;
+ preview_high_speed_fps_mif = <DVFS_MIF_L5>;
+ preview_high_speed_fps_int = <DVFS_INT_L0>;
+ preview_high_speed_fps_hpg = <1>;
+
+ video_high_speed_60fps_int_cam = <DVFS_INT_CAM_L0>;
+ video_high_speed_60fps_cam = <DVFS_CAM_L0>;
+ video_high_speed_60fps_mif = <DVFS_MIF_L0>;
+ video_high_speed_60fps_int = <DVFS_INT_L0>;
+ video_high_speed_60fps_hpg = <1>;
+
+ video_high_speed_480fps_int_cam = <DVFS_INT_CAM_L0>;
+ video_high_speed_480fps_cam = <DVFS_CAM_L0>;
+ video_high_speed_480fps_mif = <DVFS_MIF_L0>;
+ video_high_speed_480fps_int = <DVFS_INT_L0>;
+ video_high_speed_480fps_hpg = <1>;
+
+ video_high_speed_60fps_capture_int_cam = <DVFS_INT_CAM_L0>;
+ video_high_speed_60fps_capture_cam = <DVFS_CAM_L0>;
+ video_high_speed_60fps_capture_mif = <DVFS_MIF_L0>;
+ video_high_speed_60fps_capture_int = <DVFS_INT_L0>;
+ video_high_speed_60fps_capture_hpg = <1>;
+
+ ext_front_int_cam = <DVFS_INT_CAM_L0>;
+ ext_front_cam = <DVFS_CAM_L0>;
+ ext_front_mif = <DVFS_MIF_L0>;
+ ext_front_int = <DVFS_INT_L0>;
+ ext_front_hpg = <1>;
+
+ ext_secure_int_cam = <DVFS_INT_CAM_L3>;
+ ext_secure_cam = <DVFS_CAM_L4>;
+ ext_secure_mif = <DVFS_MIF_L7>;
+ ext_secure_int = <DVFS_INT_L4>;
+ ext_secure_hpg = <1>;
+
+ max_int_cam = <DVFS_INT_CAM_L0>;
+ max_cam = <DVFS_CAM_L0>;
+ max_mif = <DVFS_MIF_L0>;
+ max_int = <DVFS_INT_L0>;
+ max_hpg = <1>;
+ };
+ };
+ };
+
+ fimc_is_flash_gpio: fimc-is-flash-gpio@0 {
+ compatible = "samsung,sensor-flash-gpio";
+ id = <0>;
+ status = "okay";
+
+ torch-gpio = <&gpg3 1 0x1>;
+ flash-gpio = <&gpg3 0 0x1>;
+ };
+
+ fimc_is_sensor_2p7sq: fimc-is_sensor_2p7sq@47 {
+ compatible = "samsung,sensor-module-2p7sq";
+
+ pinctrl-names = "pin0", "pin1", "pin2", "release";
+ pinctrl-0 = <>;
+ pinctrl-1 = <&fimc_is_mclk0_out>;
+ pinctrl-2 = <&fimc_is_mclk0_fn>;
+ pinctrl-3 = <>;
+
+ position = <0>; /* Rear:0. Front:1. Rear_sub:2. Secure:3. */
+ id = <0>; /* fimc_is_sensor id */
+ mclk_ch = <0>;
+ sensor_i2c_ch = <0>; /* SENSOR_CONTROL_I2C0 */
+
+ gpio_mclk = <&gpc2 0 0x1>;
+ gpio_reset = <&gpc1 0 0x1>; /* sensor reset */
+
+ power_seq_id = <1>; /* Rumba S6 Compatible */
+
+ status = "okay";
+
+ af {
+ product_name = <20>; /* ACTUATOR_NAME_LC898217 */
+ i2c_ch = <0>; /* SENSOR_CONTROL_I2C0 */
+ };
+
+ flash {
+ product_name = <11>; /* FLASH_GPIO */
+ };
+ };
+
+ fimc_is_sensor_2t7sx: fimc-is_sensor_2t7sx@48 {
+ compatible = "samsung,sensor-module-2t7sx";
+
+ pinctrl-names = "pin0", "pin1", "pin2", "release";
+ pinctrl-0 = <>;
+ pinctrl-1 = <&fimc_is_mclk2_out>;
+ pinctrl-2 = <&fimc_is_mclk2_fn>;
+ pinctrl-3 = <>;
+
+ position = <2>; /* Rear:0. Front:1. Rear_sub:2. Secure:3. */
+ id = <2>; /* fimc_is_sensor id */
+ mclk_ch = <2>;
+ sensor_i2c_ch = <1>; /* SENSOR_CONTROL_I2C1 */
+
+ gpio_mclk = <&gpc2 2 0x1>;
+ gpio_reset = <&gpc0 6 0x1>; /* sensor reset */
+
+ power_seq_id = <1>; /* Rumba S6 Compatible */
+
+ status = "okay";
+
+ af {
+ product_name = <20>; /* ACTUATOR_NAME_LC898217 */
+ i2c_ch = <1>; /* SENSOR_CONTROL_I2C1 */
+ };
+
+ flash {
+ product_name = <11>; /* FLASH_GPIO */
+ };
+ };
+
+ /* FRONT CAMERA */
+ fimc_is_sensor_6b2: fimc-is_sensor_6b2@7 {
+ compatible = "samsung,sensor-module-6b2";
+
+ pinctrl-names = "pin0", "pin1", "pin2", "release";
+ pinctrl-0 = <>;
+ pinctrl-1 = <&fimc_is_mclk1_out>;
+ pinctrl-2 = <&fimc_is_mclk1_fn>;
+ pinctrl-3 = <>;
+
+ position = <1>; /* Rear:0. Front:1. Rear_sub:2. Secure:3. */
+ id = <1>; /* fimc_is_sensor id */
+ mclk_ch = <1>;
+ sensor_i2c_ch = <2>; /* SENSOR_CONTROL_I2C4 */
+
+ gpio_mclk = <&gpc2 1 0x1>;
+ gpio_reset = <&gpc1 2 0x1>; /* sensor reset */
+ status = "okay";
+
+ af {
+ product_name = <100>; /* NOTHING */
+ i2c_ch = <2>; /* SENSOR_CONTROL_I2C2 */
+ };
+
+ flash {
+ product_name = <100>; /* NOTHING */
+ };
+
+ ois {
+ product_name = <100>; /* NOTHING */
+ };
+
+ internal_vc {
+ /* DUMMY */
+ };
+ };
+
+ /* I2C_CAM0 */ /* SENSOR_CONTROL_I2C0 */
+ hsi2c_12: hsi2c@138A0000 {
+ gpios = <&gpc0 0 0 &gpc0 1 0>;
+ status = "okay";
+ clock-frequency = <400000>;
+ samsung,reset-before-trans;
+ samsung,polling-mode;
+
+ fimc-is-2p7sq@2d {
+ compatible = "samsung,exynos5-fimc-is-cis-2p7sq";
+ reg = <0x2d>; /* 1 bit right shift */
+ id = <0>; /* matching fimc_is_sensor id */
+ setfile = "setA";
+ };
+
+ fimc-is-actuator@72 {
+ compatible = "samsung,exynos5-fimc-is-actuator-lc898217";
+ reg = <0x72>; /* 1 bit right shift */
+ id = <0>; /* matching fimc_is_sensor id */
+ place = <0>;
+ };
+ };
+
+ /* I2C_CAM1 */ /* SENSOR_CONTROL_I2C1 */
+ hsi2c_13: hsi2c@138B0000 {
+ gpios = <&gpc0 2 0 &gpc0 3 0>;
+ status = "okay";
+ clock-frequency = <400000>;
+ samsung,reset-before-trans;
+ samsung,polling-mode;
+
+ fimc-is-2t7sx@10 {
+ compatible = "samsung,exynos5-fimc-is-cis-2t7sx";
+ reg = <0x10>; /* 1 bit right shift */
+ id = <2>; /* matching fimc_is_sensor id */
+ setfile = "setA";
+ };
+
+ fimc-is-actuator@74 {
+ compatible = "samsung,exynos5-fimc-is-actuator-lc898217";
+ reg = <0x74>; /* 1 bit right shift */
+ id = <2>; /* matching fimc_is_sensor id */
+ place = <1>; /* HACK */
+ };
+ };
+
+ /* I2C_CAM2 */ /* SENSOR_CONTROL_I2C2 */
+ hsi2c_14: hsi2c@138C0000 {
+ gpios = <&gpc0 4 0 &gpc0 5 0>;
+ status = "okay";
+ clock-frequency = <400000>;
+ samsung,reset-before-trans;
+
+ fimc-is-6b2@35 {
+ compatible = "samsung,exynos5-fimc-is-cis-6b2";
+ reg = <0x35>; /* 1 bit right shift */
+ id = <1>; /* matching fimc_is_sensor id */
+ setfile = "setA";
+ };
+ };
+
+ /* I2C_CAM3 */ /* SENSOR_CONTROL_I2C3 */
+ hsi2c_15: hsi2c@138D0000 {
+ gpios = <&gpc0 6 0 &gpc0 7 0>;
+ status = "okay";
+ clock-frequency = <400000>;
+ samsung,reset-before-trans;
+
+ fimc-is-actuator@72 {
+ compatible = "samsung,exynos5-fimc-is-actuator-dw9780";
+ reg = <0x72>; /* 1 bit right shift */
+ id = <0>; /* matching fimc_is_sensor id */
+ place = <1>; /* HACK */
+ };
+ };
+
+ fimc_is_sensor0: fimc_is_sensor@14400000 {
+ scenario = <SENSOR_SCENARIO_NORMAL>; /* Normal, Vision, OIS etc */
+ id = <0>;
+ csi_ch = <0>;
+ dma_ch = <0 0 0 0 0 1 1 1>;
+ vc_ch = <0 1 2 3 0 1 2 3>;
+ flite_ch = <FLITE_ID_NOTHING>;
+ is_bns = <0>;
+ /* use_ssvc1_internal; */
+ /* use_ssvc2_internal; */
+ status = "okay";
+ };
+
+ fimc_is_sensor1: fimc_is_sensor@14410000 {
+ scenario = <SENSOR_SCENARIO_NORMAL>; /* Normal, Vision, OIS etc */
+ id = <1>;
+ csi_ch = <1>;
+ dma_ch = <1 1 1 1 1 1 1 1>;
+ vc_ch = <0 1 2 3 0 1 2 3>;
+ flite_ch = <FLITE_ID_NOTHING>;
+ is_bns = <0>;
+ status = "okay";
+ };
+
+ fimc_is_sensor2: fimc_is_sensor@14420000 {
+ scenario = <SENSOR_SCENARIO_NORMAL>; /* Normal, Vision, OIS etc */
+ id = <2>;
+ csi_ch = <2>;
+ dma_ch = <2 2 2 2>;
+ vc_ch = <0 1 2 3>;
+ flite_ch = <FLITE_ID_NOTHING>;
+ is_bns = <0>;
+ status = "okay";
+ };
+
+ fimc_is_sensor3: fimc_is_sensor@14430000 {
+ scenario = <SENSOR_SCENARIO_SECURE>; /* Normal, Vision, OIS etc */
+ id = <3>;
+ csi_ch = <3>;
+ dma_ch = <3 3 3 3>;
+ vc_ch = <0 1 2 3>;
+ flite_ch = <FLITE_ID_NOTHING>;
+ is_bns = <0>;
+ status = "okay";
+ };
+#endif
+ }; /* 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>;
+ };
+};
+
+&i2c_2 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ 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";
+};
+
+&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>;
+ };
+#if 0 /*Should be removed: enable speaker amp on EVB board*/
+ amp_sda: amp-sda {
+ samsung,pins = "gpp2-2";
+ samsung,pin-function = <3>;
+ samsung,pin-pud = <3>;
+ samsung,pin-drv = <0>;
+ };
+ amp_scl: amp-scl {
+ samsung,pins = "gpp2-1";
+ samsung,pin-function = <3>;
+ samsung,pin-pud = <3>;
+ samsung,pin-drv = <0>;
+ };
+ amp_ad1: amp-ad1 {
+ samsung,pins = "gpp2-0";
+ samsung,pin-function = <1>;
+ samsung,pin-val = <0>;
+ samsung,pin-pud = <1>;
+ };
+ amp_ad0: amp-ad0 {
+ samsung,pins = "gpp2-3";
+ samsung,pin-function = <1>;
+ samsung,pin-val = <0>;
+ samsung,pin-pud = <1>;
+ };
+#endif
+};
+
+&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 = "disable";
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi6_bus &spi6_cs_func>;
+ /*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;
+ };
+
+ controller-data {
+ /*cs-gpio = <gpm8 0 0>*/
+ /*cs-gpios = <&gpp2 3 0>;*/
+ samsung,spi-feedback-delay = <1>;
+ samsung,spi-chip-select-mode = <0>;
+ };
+ };
+};
+
+#if 0
+&i2c@0 {
+ status = "okay";
+ compatible = "i2c-gpio";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&_sda &_scl &_ad0 &_ad1>;
+
+ gpios = <&gpp2 2 0 /* sda */
+ &gpp2 1 0 /* scl */
+ >;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cs35l41_left: cs35l41@40 {
+ compatible = "cirrus,cs35l41";
+ reg = <0x40>;
+
+ 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;
+ };
+ };
+};
+#endif
+
+&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 0 0>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&gpa0>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ #sound-dai-cells = <1>;
+
+ /*l42_reg shoulde be change after board fixed*/
+ AVDD-supply = <&l42_reg>;
+ DBVDD1-supply = <&l42_reg>;
+ DBVDD2-supply = <&l42_reg>;
+ CPVDD1-supply = <&l42_reg>;
+ 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>;*/
+ };
+ };
+
+ controller-data {
+ samsung,spi-feedback-delay = <1>;
+ samsung,spi-chip-select-mode = <0>;
+ };
+ };
+};