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