/* * 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 #include "modem-ss360ap-sit-pdata.dtsi" #include "exynos9610-display-lcd.dtsi" #include "novatek-nt36xxx-i2c.dtsi" #include "wing-sensor.dtsi" / { compatible = "samsung,exynos9610", "samsung,WING"; board_id = <0x0>; board_rev = <0x0>; fragment@model { target-path = "/"; __overlay__ { #address-cells = <2>; #size-cells = <1>; model = "Samsung Wing board based on EXYNOS9610"; ect { parameter_address = <0x90000000>; parameter_size = <0x19000>; }; chosen { bootargs = "console=ttySAC0,115200 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,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 = */ 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 */ /* */ 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 = */ 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 = */ 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 = ; default_cam = ; default_mif = ; default_int = ; default_hpg = <1>; front_preview_int_cam = ; front_preview_cam = ; front_preview_mif = ; front_preview_int = ; front_preview_hpg = <1>; front_preview_full_int_cam = ; front_preview_full_cam = ; front_preview_full_mif = ; front_preview_full_int = ; front_preview_full_hpg = <1>; front_capture_int_cam = ; front_capture_cam = ; front_capture_mif = ; front_capture_int = ; front_capture_hpg = <1>; front_video_int_cam = ; front_video_cam = ; front_video_mif = ; front_video_int = ; front_video_hpg = <1>; front_video_capture_int_cam = ; front_video_capture_cam = ; front_video_capture_mif = ; front_video_capture_int = ; front_video_capture_hpg = <1>; front_wide_selfie_int_cam = ; front_wide_selfie_cam = ; front_wide_selfie_mif = ; front_wide_selfie_int = ; front_wide_selfie_hpg = <1>; front_vt1_int_cam = ; front_vt1_cam = ; front_vt1_mif = ; front_vt1_int = ; front_vt1_hpg = <1>; front_vt2_int_cam = ; front_vt2_cam = ; front_vt2_mif = ; front_vt2_int = ; front_vt2_hpg = <1>; front_vt4_int_cam = ; front_vt4_cam = ; front_vt4_mif = ; front_vt4_int = ; front_vt4_hpg = <1>; rear_preview_fhd_int_cam = ; rear_preview_fhd_cam = ; rear_preview_fhd_mif = ; rear_preview_fhd_int = ; rear_preview_fhd_hpg = <1>; rear_preview_hd_int_cam = ; rear_preview_hd_cam = ; rear_preview_hd_mif = ; rear_preview_hd_int = ; rear_preview_hd_hpg = <1>; rear_preview_uhd_int_cam = ; rear_preview_uhd_cam = ; rear_preview_uhd_mif = ; rear_preview_uhd_int = ; rear_preview_uhd_hpg = <1>; rear_preview_full_int_cam = ; rear_preview_full_cam = ; rear_preview_full_mif = ; rear_preview_full_int = ; rear_preview_full_hpg = <1>; rear_capture_int_cam = ; rear_capture_cam = ; rear_capture_mif = ; rear_capture_int = ; rear_capture_hpg = <1>; rear_video_fhd_int_cam = ; rear_video_fhd_cam = ; rear_video_fhd_mif = ; rear_video_fhd_int = ; rear_video_fhd_hpg = <1>; rear_video_hd_int_cam = ; rear_video_hd_cam = ; rear_video_hd_mif = ; rear_video_hd_int = ; rear_video_hd_hpg = <1>; rear_video_uhd_int_cam = ; rear_video_uhd_cam = ; rear_video_uhd_mif = ; rear_video_uhd_int = ; rear_video_uhd_hpg = <1>; rear_video_fhd_capture_int_cam = ; rear_video_fhd_capture_cam = ; rear_video_fhd_capture_mif = ; rear_video_fhd_capture_int = ; rear_video_fhd_capture_hpg = <1>; rear_video_hd_capture_int_cam = ; rear_video_hd_capture_cam = ; rear_video_hd_capture_mif = ; rear_video_hd_capture_int = ; rear_video_hd_capture_hpg = <1>; rear_video_uhd_capture_int_cam = ; rear_video_uhd_capture_cam = ; rear_video_uhd_capture_mif = ; rear_video_uhd_capture_int = ; rear_video_uhd_capture_hpg = <1>; secure_front_int_cam = ; secure_front_cam = ; secure_front_mif = ; secure_front_int = ; secure_front_hpg = <1>; pip_preview_int_cam = ; pip_preview_cam = ; pip_preview_mif = ; pip_preview_int = ; pip_preview_hpg = <1>; pip_capture_int_cam = ; pip_capture_cam = ; pip_capture_mif = ; pip_capture_int = ; pip_capture_hpg = <1>; pip_video_int_cam = ; pip_video_cam = ; pip_video_mif = ; pip_video_int = ; pip_video_hpg = <1>; pip_video_capture_int_cam = ; pip_video_capture_cam = ; pip_video_capture_mif = ; pip_video_capture_int = ; pip_video_capture_hpg = <1>; preview_high_speed_fps_int_cam = ; preview_high_speed_fps_cam = ; preview_high_speed_fps_mif = ; preview_high_speed_fps_int = ; preview_high_speed_fps_hpg = <1>; video_high_speed_60fps_int_cam = ; video_high_speed_60fps_cam = ; video_high_speed_60fps_mif = ; video_high_speed_60fps_int = ; video_high_speed_60fps_hpg = <1>; video_high_speed_480fps_int_cam = ; video_high_speed_480fps_cam = ; video_high_speed_480fps_mif = ; video_high_speed_480fps_int = ; video_high_speed_480fps_hpg = <1>; video_high_speed_60fps_capture_int_cam = ; video_high_speed_60fps_capture_cam = ; video_high_speed_60fps_capture_mif = ; video_high_speed_60fps_capture_int = ; video_high_speed_60fps_capture_hpg = <1>; ext_front_int_cam = ; ext_front_cam = ; ext_front_mif = ; ext_front_int = ; ext_front_hpg = <1>; ext_secure_int_cam = ; ext_secure_cam = ; ext_secure_mif = ; ext_secure_int = ; ext_secure_hpg = <1>; max_int_cam = ; max_cam = ; max_mif = ; max_int = ; 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 = ; /* 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 = ; is_bns = <0>; /* use_ssvc1_internal; */ /* use_ssvc2_internal; */ status = "okay"; }; fimc_is_sensor1: fimc_is_sensor@14410000 { scenario = ; /* 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 = ; is_bns = <0>; status = "okay"; }; fimc_is_sensor2: fimc_is_sensor@14420000 { scenario = ; /* Normal, Vision, OIS etc */ id = <2>; csi_ch = <2>; dma_ch = <2 2 2 2>; vc_ch = <0 1 2 3>; flite_ch = ; is_bns = <0>; status = "okay"; }; fimc_is_sensor3: fimc_is_sensor@14430000 { scenario = ; /* Normal, Vision, OIS etc */ id = <3>; csi_ch = <3>; dma_ch = <3 3 3 3>; vc_ch = <0 1 2 3>; flite_ch = ; 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 = */ /*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>; }; }; };