/* * SAMSUNG UNIVERSAL8890 board device tree source * * Copyright (c) 2013 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/; #include "exynos7570.dtsi" #include "modem-ss315ap-pdata.dtsi" #include "exynos7570-rmem.dtsi" / { model = "Exynos 7570 SMDK board"; compatible = "samsung,exynos7570", "samsung,exynos4210"; memory@40000000 { device_type = "memory"; reg = <0x0 0x40000000 0x60000000>; }; chosen { bootargs = "console=ttySAC2,115200 clk_ignore_unused androidboot.hardware=samsungexynos7570 bcm_setup=0xffffff80f8e00000 androidboot.selinux=disabled firmware_class.path=/vendor/firmware ess_setup=0x46000000 reserve-fimc=0"; linux,initrd-start = <0x42000000>; linux,initrd-end = <0x421FFFFF>; }; fixed-rate-clocks { oscclk { compatible = "samsung,exynos7570-oscclk"; clock-frequency = <26000000>; }; }; serial_2: uart@13820000 { status = "okay"; }; dwmmc0@13540000 { status = "okay"; num-slots = <1>; broken-card-detect; use-smu; fixed_voltage; supports-highspeed; clock-gate; mmc-ddr-1_8v; mmc-hs200-1_8v; mmc-hs400-1_8v; supports-8bit; supports-cmd23; supports-erase; enable-ulp-mode; supports-hs400-enhanced-strobe; card-init-hwacg-ctrl; fifo-depth = <0x40>; non-removable; desc-size = <4>; card-detect-delay = <200>; data-timeout = <200>; hto-timeout = <550>; clock-frequency = <700000000>; device_drv = <1>; samsung,dw-mshc-ciu-div = <3>; samsung,dw-mshc-txdt-crc-timer-fastlimit = <0x34>; samsung,dw-mshc-txdt-crc-timer-initval = <0x38>; samsung,dw-mshc-ddr200-delay-line = <0x60>; samsung,dw-mshc-sdr-timing = <3 0 2 0>; samsung,dw-mshc-ddr-timing = <3 0 4 2>; samsung,dw-mshc-hs200-timing = <3 0 3 0>; samsung,dw-mshc-ddr200-timing = <1 0 4 0>; samsung,dw-mshc-ddr200-ulp-timing = <3 0 3 0>; num-ref-clks = <12>; ciu_clkin = <25 43 43 25 43 87 175 43 43 175 175 175>; /* 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 = <&sd0_clk &sd0_cmd &sd0_rdqs &sd0_bus1 &sd0_bus4 &sd0_bus8>; pinctrl-1 = <&sd0_clk_fast_slew_rate_1x>; pinctrl-2 = <&sd0_clk_fast_slew_rate_2x>; pinctrl-3 = <&sd0_clk_fast_slew_rate_3x>; pinctrl-4 = <&sd0_clk_fast_slew_rate_4x>; slot@0 { reg = <0>; bus-width = <8>; }; }; dwmmc2@13560000 { status = "okay"; num-slots = <1>; clock-gate; supports-highspeed; supports-4bit; supports-cmd23; supports-erase; sd-uhs-sdr50; sd-uhs-sdr104; card-detect-gpio; bypass-smu; only_once_tune; bypass-for-allpass; use-fine-tuning; skip-init-mmc-scan; card-init-hwacg-ctrl; switch_transfer; ignore-phase = <(1 << 7)>; fifo-depth = <0x40>; desc-size = <4>; card-detect-delay = <200>; data-timeout = <200>; hto-timeout = <550>; clock-frequency = <700000000>; samsung,dw-mshc-ciu-div = <3>; 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 43 43 25 43 87 175 43 43>; 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 1 0xf>; slot@0 { reg = <0>; bus-width = <4>; disable-wp; }; }; ion { compatible = "samsung,exynos5430-ion"; }; decon_fb@14830000 { psr_mode = <0>; /* 0: video mode, 1: DP command mode, 2: MIPI command mode */ /* target decon VCLK = 75MHz */ /* vclk_mif = 140MHz */ mif-vclk = <140000000>; /* vclk = 140MHz */ disp-vclk = <140000000>; /* decon_divider_num = 1024 */ vclk-num = <1024>; /* decon_divider_denom = 731 */ vclk-denom = <731>; /* aclk = 208MHz */ disp-dvfs = <208000000>; /* XEINT3, GPIO & pin control */ gpios = <&gpa0 3 0xf>; status = "okay"; }; dsim_0: dsim@14800000 { lcd_info = <&s6e8aa0>; /*lcd reset */ gpios = <&gpd2 0 0x1>; status = "okay"; }; s6e8aa0: s6e8aa0_hd { mode = <0>; /* 0: video mode, 1: DP command mode, 2: MIPI command mode */ /* HD(720 x 1280) */ panel_name = "s6e8aa0"; resolution = <720 1280>; size = <71 114>; timing,refresh = <60>; /* dsim H porch : hbp, hfp, hsa */ timing,dsim_h-porch = <1 1 1>; /* dsim V porch : VBP, VFP, VSA */ timing,dsim_v-porch = <1 13 2>; /* decon H porch : hbp, hfp, hsa */ timing,decon_h-porch = <1 564 1>; /* decon V porch : VBP, VFP, VSA */ timing,decon_v-porch = <1 13 2>; timing,dsi-hs-clk = <600>; timing,pms = <4 185 1>; timing,dsi-escape-clk = <16>; }; pinctrl@139F0000 { if_irq: if-irq { samsung,pins = "gpa0-5"; samsung,pin-pud = <3>; samsung,pin-drv = <3>; }; }; i2c@13880000 { status = "okay"; muic-s2mm001@25 { compatible = "sec-muic,i2c"; reg = <0x25>; pinctrl-names = "default"; muic,muic_int = <&gpa1 1 0>; }; }; speedy@10510000 { status = "okay"; s2mpu06mfd@00 { compatible = "samsung,s2mpu06mfd"; reg = <0x00>; pinctrl-names = "default"; pinctrl-0 = <&if_irq>; s2mpu06,wakeup = "enabled"; s2mpu06,irq-gpio = <&gpa0 5 0>; i2c-speedy-address; cache_data = <1>; /* 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/2015 12:00:00(Wed) */ init_time,sec = <0>; init_time,min = <0>; init_time,hour = <0>; init_time,mday = <1>; init_time,mon = <0>; init_time,year = <116>; init_time,wday = <5>; s2mpu06-keys { button@1 { label = "pmic-keys: KEY_POWER"; linux,code = <116>; wakeup = <1>; }; }; regulators { buck1_reg: BUCK1 { regulator-name = "BUCK1"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1300000>; regulator-always-on; regulator-boot-on; regulator-ramp-delay = <12000>; regulator-initial-mode = <1>; regulator-expected-consumer = <6>; }; buck2_reg: BUCK2 { regulator-name = "BUCK2"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <2800000>; regulator-always-on; regulator-boot-on; regulator-ramp-delay = <12000>; regulator-initial-mode = <3>; }; buck3_reg: BUCK3 { regulator-name = "BUCK3"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <2800000>; regulator-always-on; regulator-boot-on; regulator-ramp-delay = <12000>; regulator-initial-mode = <1>; }; ldo1_reg: LDO1 { regulator-name = "vdd_ldo1"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1300000>; regulator-always-on; regulator-boot-on; regulator-ramp-delay = <12000>; regulator-initial-mode = <1>; }; ldo2_reg: LDO2 { regulator-name = "vdd_ldo2"; regulator-min-microvolt = <1500000>; regulator-max-microvolt = <2000000>; regulator-boot-on; regulator-always-on; regulator-ramp-delay = <12000>; regulator-initial-mode = <3>; }; ldo3_reg: LDO3 { regulator-name = "vdd_ldo3"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <1500000>; regulator-boot-on; regulator-always-on; regulator-ramp-delay = <12000>; regulator-initial-mode = <1>; }; ldo4_reg: LDO4 { regulator-name = "vqmmc"; regulator-min-microvolt = <1700000>; regulator-max-microvolt = <3350000>; regulator-ramp-delay = <12000>; regulator-initial-mode = <0>; }; ldo5_reg: LDO5 { regulator-name = "vdd_ldo5"; regulator-min-microvolt = <1700000>; regulator-max-microvolt = <3350000>; regulator-boot-on; regulator-always-on; regulator-ramp-delay = <12000>; regulator-initial-mode = <1>; }; ldo6_reg: LDO6 { regulator-name = "vdd_ldo6"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1300000>; regulator-boot-on; regulator-always-on; regulator-ramp-delay = <12000>; regulator-initial-mode = <1>; }; ldo7_reg: LDO7 { regulator-name = "vdd_ldo7"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <1300000>; regulator-boot-on; regulator-always-on; regulator-ramp-delay = <12000>; regulator-initial-mode = <1>; }; ldo8_reg: LDO8 { regulator-name = "vdd_ldo8"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3375000>; regulator-boot-on; regulator-always-on; regulator-ramp-delay = <12000>; regulator-initial-mode = <1>; }; ldo13_reg: LDO13 { regulator-name = "vdd_ldo13"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <2000000>; regulator-ramp-delay = <12000>; regulator-initial-mode = <1>; }; ldo14_reg: LDO14 { regulator-name = "vemmc"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3375000>; regulator-ramp-delay = <12000>; regulator-initial-mode = <0>; }; ldo15_reg: LDO15 { regulator-name = "vqemmc"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <2000000>; regulator-ramp-delay = <12000>; regulator-initial-mode = <0>; }; ldo16_reg: LDO16 { regulator-name = "vmmc"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3375000>; regulator-ramp-delay = <12000>; regulator-initial-mode = <0>; }; ldo17_reg: LDO17 { regulator-name = "VDD18_CAM_SENSOR_IO"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; regulator-ramp-delay = <12000>; regulator-initial-mode = <0>; }; ldo18_reg: LDO18 { regulator-name = "VDD28_CAM_AF"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; regulator-always-on; regulator-ramp-delay = <12000>; regulator-initial-mode = <1>; }; ldo19_reg: LDO19 { regulator-name = "vdd_ldo19"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3375000>; regulator-always-on; regulator-ramp-delay = <12000>; regulator-initial-mode = <1>; }; ldo20_reg: LDO20 { regulator-name = "vdd_ldo20"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <2000000>; regulator-always-on; regulator-ramp-delay = <12000>; regulator-initial-mode = <1>; }; ldo21_reg: LDO21 { regulator-name = "vdd_ldo21"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3375000>; regulator-ramp-delay = <12000>; regulator-initial-mode = <0>; }; ldo22_reg: LDO22 { regulator-name = "vdd_ldo22"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3375000>; regulator-always-on; regulator-ramp-delay = <12000>; regulator-initial-mode = <1>; }; ldo23_reg: LDO23 { regulator-name = "VDD12_CAM_CORE"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-always-on; regulator-ramp-delay = <12000>; regulator-initial-mode = <1>; }; ldo24_reg: LDO24 { regulator-name = "AVDD28_CAM"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; regulator-always-on; regulator-ramp-delay = <12000>; regulator-initial-mode = <1>; }; }; }; audio_codec_cod9002x: cod9002x@03 { compatible = "codec,cod9002x"; reg = <0x03>; i2c-speedy-address; vdd-supply = <&ldo13_reg>; pinctrl-names = "default"; /*pinctrl-0 = <&cod9002_irq>; interrupt-parent = <&gpa0>; gpios = <&gpa0 4 0xf>;*/ mic-bias1-voltage = <3>; mic-bias2-voltage = <3>; mic-bias-ldo-voltage = <3>; }; fimc_is_flash@06 { compatible = "samsung,sensor-flash-i2c"; reg = <0x06>; id = <0>; flash-gpio = <&gpa0 0 0>; i2c-speedy-address; }; }; pinctrl@139D0000 { melfas_irq: melfas-irq { samsung,pins = "gpc3-2"; samsung,pin-pud = <3>; samsung,pin-drv = <3>; }; }; mif_pdata { reg = <0 0x10000 0x0>; }; i2c@13840000 { samsung,i2c-sda-delay = <100>; samsung,i2c-slave-addr = <0x10>; samsung,i2c-max-bus-freq = <400000>; pinctrl-0 = <&i2c3_bus &melfas_irq>; pinctrl-names = "default"; status = "okay"; touchscreen@48 { compatible = "melfas,mms-ts"; reg = <0x48>; melfas,panel-coords = <0 0 720 1280>; melfas,i2c-pull-up; // optional: enable i2c pull-up melfas,scl-gpio = <&gpc3 1 0>; melfas,sda-gpio = <&gpc3 0 0>; melfas,irq-gpio = <&gpc3 2 0>; }; }; pinctrl@139F0000 { key_volup: key-volup { samsung,pins = "gpa0-7"; samsung,pin-function = <0xf>; samsung,pin-pud = <0>; samsung,pin-drv = <0>; }; key_home: key-home { samsung,pins = "gpa0-4"; samsung,pin-function = <0xf>; samsung,pin-pud = <0>; samsung,pin-drv = <0>; }; }; gpio_keys { compatible = "gpio-keys"; pinctrl-names = "default"; pinctrl-0 = <&key_volup &key_home>; #address-cells = <1>; #size-cells = <0>; button@1 { label = "gpio-keys: KEY_VOLUMEUP"; interrupts = <7 0 0>; interrupt-parent = <&gpa0>; linux,code = <116>; gpios = <&gpa0 7 0xf>; gpio-key,wakeup = <1>; }; button@2 { label = "gpio-keys: KEY_HOME"; interrupts = <4 0 0>; interrupt-parent = <&gpa0>; linux,code = <172>; gpios = <&gpa0 4 0xf>; gpio-key,wakeup = <1>; }; cod9002_irq: cod9002-irq { samsung,pins = "gpa0-4"; samsung,pin-pud = <3>; samsung,pin-drv = <3>; }; }; s1403x: s1403x@14880000 { pinctrl-names = "default", "idle"; pinctrl-0 = <&i2s_pmic_bus &i2s_amp_bus &i2s_codec_clk>; pinctrl-1 = <&i2s_pmic_bus_idle &i2s_amp_bus_idle> ; bck-mcko-mode; status = "okay"; }; i2s_dummy: dummy-i2s { compatible = "samsung,dummy-i2s"; status = "okay"; }; i2s0: i2s@148A0000 { status = "okay"; }; i2s1: i2s@148B0000 { status = "okay"; }; audio_cp_dummy: cp_dummy { compatible = "samsung,cp_dummy"; status = "okay"; }; audio_fm_dummy: fm_dummy { compatible = "samsung,fm_dummy"; status = "okay"; }; audio_bt_dummy: bt_dummy { compatible = "samsung,bt_dummy"; status = "okay"; }; audio_codec_dummy: dummy-codec { compatible = "samsung,dummy-codec"; status = "okay"; }; sound { compatible = "samsung,smdk7570-cod9002x"; samsung,audio-cpu = <&i2s0 /* primary */ &i2s0 /* secondary */ &audio_cp_dummy &audio_bt_dummy &audio_fm_dummy &i2s1 /*AMP for AP */ &audio_cp_dummy /*AMP for CP */ &eax &eax &eax &eax>; samsung,audio-codec = <&audio_codec_cod9002x &audio_codec_cod9002x &audio_codec_cod9002x &audio_codec_dummy &audio_codec_cod9002x &audio_codec_dummy &audio_codec_dummy &audio_codec_cod9002x &audio_codec_cod9002x &audio_codec_cod9002x &audio_codec_cod9002x>; samsung,auxdev = <&s1403x>; status = "okay"; }; usb@13600000 { status = "okay"; dwc3 { dr_mode = "otg"; }; }; usbphy@135c0000 { status = "okay"; hs_tune_info = <&usb_hs_tune>; ss_tune_info = <&usb_ss_tune>; }; usb_hs_tune:hs_tune { status = "okay"; /* value = */ tx_vref = <0x3 0x3>; tx_pre_emp = <0x0 0x0>; tx_pre_emp_puls = <0x0 0x0>; tx_res = <0x2 0x2>; tx_rise = <0x1 0x1>; tx_hsxv = <0x0 0x0>; tx_fsls = <0x3 0x3>; rx_sqrx = <0x5 0x5>; compdis = <0x3 0x3>; otg= <0x2 0x2>; /* true : 1, false: 0 */ /* */ enable_user_imp = <0 0>; /* PHY clk : 1 , FREE clk : 0 */ is_phyclock = <1>; }; usb_ss_tune:ss_tune { status = "disabled"; /* value = */ tx_boost_level = <0x4 0x4>; tx_swing_level = <0x1 0x1>; tx_swing_full = <0x7F 0x7F>; tx_swing_low = <0x7F 0x7F>; tx_deemphasis_mode = <0x1 0x1>; tx_deemphasis_3p5db = <0x18 0x18>; tx_deemphasis_6db = <0x18 0x18>; enable_ssc = <0x1 0x1>; ssc_range = <0x0 0x1>; los_bias = <0x5 0x5>; los_mask_val = <0x104 0x104>; enable_fixed_rxeq_mode = <0x0 0x0>; fix_rxeq_value = <0x4 0x4>; set_crport_mpll_charge_pump = <0x0 0x0>; set_crport_level_en = <0x0 0x0>; }; usb_notifier { compatible = "samsung,usb-notifier"; udc = <&udc>; }; tmuctrl_0: tmuctrl_CPUCL0@10130000 { compatible = "samsung,exynos7570-tmu"; reg = <0x0 0x10130000 0x200>; interrupts = <0 435 0>; default_ptat_cont = <0x1>; }; tmuctrl_1: tmuctrl_G3D@10130000 { compatible = "samsung,exynos7570-tmu"; reg = <0x0 0x10130000 0x200>; interrupts = <0 435 0>; default_ptat_cont = <0x1>; /* gpu cooling related table */ gpu_idx_num = <5>; /* flags, driver_data(index), frequency */ gpu_cooling_table = < 0 0 830000 0 1 666000 0 2 553000 0 3 415000 0 4 TABLE_END>; }; exynos_rgt { compatible = "samsung,exynos-rgt"; }; exynos-pm { compatible = "samsung,exynos-pm"; reg = <0x0 0x139F0000 0x1000>, <0x0 0x104E1200 0x100>; reg-names = "gpio_alive_base", "gicd_ispendrn_base"; num-eint = <24>; num-gic = <16>; suspend_mode_idx = <7>; /* SYS_DSTOP */ suspend_psci_idx = <131>; /* PSCI_SYSTEM_SLEEP */ cp_call_mode_idx = <4>; /* SYS_LPD */ cp_call_psci_idx = <132>; /* PSCI_SYSTEM_CP_CALL */ }; exynos-powermode { compatible = "exynos,powermode"; /* sicd sicd_cpd aftr stop * lpd lpa alpa dstop * sleep */ wakeup_mask = <0x400791E1>, <0x0>, <0x0>, <0x0>, <0x0>, <0x0>, <0x0>, <0x0>, <0x4007FFFC>; wakeup_mask2 = <0x0>, <0x0>, <0x0>, <0x0>, <0x0>, <0x0>, <0x0>, <0x0>, <0xFFFF00FF>; wakeup_mask3 = <0x0>, <0x0>, <0x0>, <0x0>, <0x0>, <0x0>, <0x0>, <0x0>, <0xFFFF00FF>; cpd_residency = <3000>; sicd_residency = <3000>; sicd_enabled = <1>; idle-ip = "136c0000.pwm", /* idle ip index : 0 */ "10550000.adc", /* idle ip index : 1 */ "10510000.hsi2c", /* idle ip index : 2 */ "13950000.hsi2c", /* idle ip index : 3 */ "13960000.hsi2c", /* idle ip index : 4 */ "138a0000.hsi2c", /* idle ip index : 5 */ "138b0000.hsi2c", /* idle ip index : 6 */ "138c0000.hsi2c", /* idle ip index : 7 */ "138f0000.hsi2c", /* idle ip index : 8 */ "13870000.i2c", /* idle ip index : 9 */ "13880000.i2c", /* idle ip index : 10 */ "13890000.i2c", /* idle ip index : 11 */ "13840000.i2c", /* idle ip index : 12 */ "13830000.i2c", /* idle ip index : 13 */ "138d0000.i2c", /* idle ip index : 14 */ "138e0000.i2c", /* idle ip index : 15 */ "13850000.i2c", /* idle ip index : 16 */ "13860000.i2c", /* idle ip index : 17 */ "13540000.dwmmc0", /* idle ip index : 18 */ "13560000.dwmmc2", /* idle ip index : 19 */ "13600000.usb", /* idle ip index : 20 */ "100c0000.spi", /* idle ip index : 21 */ "13900000.spi", /* idle ip index : 22 */ "13910000.spi", /* idle ip index : 23 */ "13920000.spi", /* idle ip index : 24 */ "13930000.spi", /* idle ip index : 25 */ "10500000.mailbox-cp", /* idle ip index : 26 */ "10570000.mailbox-gnss", /* idle ip index : 27 */ "14830000.decon_fb", /* idle ip index : 28 */ "pd-g3d", /* idle ip index : 29 */ "pd-isp", /* idle ip index : 30 */ "pd-mfcmscl", /* idle ip index : 31 */ "148f0000.lpass"; /* idle ip index : 32 */ idle_ip_mask { sicd: SYS_SICD { mode-index = <0>; ref-idle-ip = <0>, <1>, <2>, <3>, <4>, <5>, <6>, <7>, <8>, <9>, <10>, <11>, <12>, <13>, <14>, <15>, <16>, <17>, <18>, <19>, <20>, <21>, <22>, <23>, <24>, <25>, <26>, <27>, <28>, <29>, <30>, <31>, <32>; }; }; }; acpm: acpm@11C88000 { compatible = "samsung,exynos-acpm"; #address-cells = <2>; #size-cells = <1>; reg = <0x0 0x11C88000 0x1000>; log_base = <0x02047700>; time_len = <32>; log_buff_size = <16>; log_buff_len = <380>; debug_logging_level = <0>; logging_period = <500>; dump_base = <0x02046000>; dump_size = <0x3800>; plugins { framework { attach = <2>; id = <0>; acpm-ipc-channel = <&framework_ch>; }; }; }; acpm_ipc: acpm_ipc@11C00000 { compatible = "samsung,exynos-acpm-ipc"; #address-cells = <2>; #size-cells = <1>; interrupts = <0 22 0>; reg = <0x0 0x11C00000 0x1000>; channels { polling = <1>; max_buff_size = <0x300>; framework_ch: framework@0x02047400 { channel_id = <0>; rx_buff = <0x02047400>; tx_buff = <0x02047480>; buff_size = <12>; buff_len = <8>; direction_buff = <412>; }; }; }; fimc_is@14400000 { rear_sensor_id = <14>; /* 3M2 */ front_sensor_id = <22>; /* 5E2 */ use_module_check; skip_cal_loading; fimc_is_dvfs { #define DVFS_INT_L0 467000 #define DVFS_INT_L1 415000 #define DVFS_CAM_L0 666000 #define DVFS_CAM_L1 554000 #define DVFS_CAM_L2 444000 #define DVFS_MIF_L0 830000 #define DVFS_MIF_L1 700000 #define DVFS_MIF_L2 666000 #define DVFS_MIF_L3 415000 table0 { desc = "HAL1 version"; default_int = ; default_cam = ; default_mif = ; default_i2c = <0>; front_preview_int = ; front_preview_cam = ; front_preview_mif = ; front_preview_i2c = <0>; front_capture_int = ; front_capture_cam = ; front_capture_mif = ; front_capture_i2c = <0>; front_video_int = ; front_video_cam = ; front_video_mif = ; front_video_i2c = <0>; front_video_capture_int = ; front_video_capture_cam = ; front_video_capture_mif = ; front_video_capture_i2c = <0>; front_vt1_int = ; front_vt1_cam = ; front_vt1_mif = ; front_vt1_i2c = <0>; front_vt2_int = ; front_vt2_cam = ; front_vt2_mif = ; front_vt2_i2c = <0>; rear_preview_int = ; rear_preview_cam = ; rear_preview_mif = ; rear_preview_i2c = <0>; rear_capture_int = ; rear_capture_cam = ; rear_capture_mif = ; rear_capture_i2c = <0>; rear_video_int = ; rear_video_cam = ; rear_video_mif = ; rear_video_i2c = <0>; rear_video_capture_int = ; rear_video_capture_cam = ; rear_video_capture_mif = ; rear_video_capture_i2c = <0>; preview_high_speed_fps_int = ; preview_high_speed_fps_cam = ; preview_high_speed_fps_mif = ; preview_high_speed_fps_i2c = <0>; video_high_speed_60fps_int = ; video_high_speed_60fps_cam = ; video_high_speed_60fps_mif = ; video_high_speed_60fps_i2c = <0>; video_high_speed_120fps_int = ; video_high_speed_120fps_cam = ; video_high_speed_120fps_mif = ; video_high_speed_120fps_i2c = <0>; max_int = ; max_cam = ; max_mif = ; max_i2c = <0>; }; table1 { desc = "HAL3 version"; default_int = ; default_cam = ; default_mif = ; default_i2c = <0>; front_preview_int = ; front_preview_cam = ; front_preview_mif = ; front_preview_i2c = <0>; front_capture_int = ; front_capture_cam = ; front_capture_mif = ; front_capture_i2c = <0>; front_video_int = ; front_video_cam = ; front_video_mif = ; front_video_i2c = <0>; front_video_capture_int = ; front_video_capture_cam = ; front_video_capture_mif = ; front_video_capture_i2c = <0>; front_vt1_int = ; front_vt1_cam = ; front_vt1_mif = ; front_vt1_i2c = <0>; front_vt2_int = ; front_vt2_cam = ; front_vt2_mif = ; front_vt2_i2c = <0>; rear_preview_int = ; rear_preview_cam = ; rear_preview_mif = ; rear_preview_i2c = <0>; rear_capture_int = ; rear_capture_cam = ; rear_capture_mif = ; rear_capture_i2c = <0>; rear_video_int = ; rear_video_cam = ; rear_video_mif = ; rear_video_i2c = <0>; rear_video_capture_int = ; rear_video_capture_cam = ; rear_video_capture_mif = ; rear_video_capture_i2c = <0>; preview_high_speed_fps_int = ; preview_high_speed_fps_cam = ; preview_high_speed_fps_mif = ; preview_high_speed_fps_i2c = <0>; video_high_speed_60fps_int = ; video_high_speed_60fps_cam = ; video_high_speed_60fps_mif = ; video_high_speed_60fps_i2c = <0>; video_high_speed_120fps_int = ; video_high_speed_120fps_cam = ; video_high_speed_120fps_mif = ; video_high_speed_120fps_i2c = <0>; max_int = ; max_cam = ; max_mif = ; max_i2c = <0>; }; }; }; fimc_is_module_3m2: fimc-is_sensor_3m2@5A { compatible = "samsung,sensor-module-3m2"; pinctrl-names = "pin0", "pin1", "pin2"; pinctrl-0 = <>; pinctrl-1 = <&fimc_is_mclk0_in &fimc_is_flash>; pinctrl-2 = <&fimc_is_mclk0_fn &fimc_is_flash>; position = <0>; /* Rear:0. Front:1 */ id = <0>; /* sensor node id */ mclk_ch = <0>; sensor_i2c_ch = <0>; /* I2C 0 */ sensor_i2c_addr = <0x2D>; gpio_reset = <&gpd1 6 0x1>; /* sensor reset */ status = "okay"; af { product_name = <9>; /* AK7348 */ i2c_addr = <0x0C>; i2c_ch = <0>; /* I2C 0 */ }; /* TODO : need to update */ flash { product_name = <13>; /* FLASH_I2C */ flash_first_gpio = <2>; flash_second_gpio = <1>; }; }; fimc_is_module_5e2: fimc-is_sensor_5e2@22 { compatible = "samsung,sensor-module-5e2"; pinctrl-names = "pin0", "pin1", "pin2"; pinctrl-0 = <>; pinctrl-1 = <&fimc_is_mclk0_in>; pinctrl-2 = <&fimc_is_mclk0_fn>; position = <1>; /* Rear:0. Front:1 */ id = <1>; /* sensor node id */ mclk_ch = <0>; sensor_i2c_ch = <1>; sensor_i2c_addr = <0x10>; gpio_reset = <&gpd1 1 0x1>; status = "okay"; }; fimc_is_module_dsim: fimc-is_sensor_dsim { compatible = "samsung,exynos5-fimc-is-sensor-dsim"; position = <0>; /* Rear:0. Front:1 */ id = <0>; /* sensor node id */ mclk_ch = <0>; sensor_i2c_ch = <0>; /* I2C 0 */ sensor_i2c_addr = <0x5A>; status = "okay"; }; hsi2c_2: hsi2c@138A0000 { gpios = <&gpf0 0 0 &gpf0 1 0>; status = "okay"; clock-frequency = <400000>; pinctrl-names = "default"; pinctrl-0 = <&hs_i2c2_bus>; fimc-is-3m2@2D { compatible = "samsung,exynos5-fimc-is-cis-3m2"; reg = <0x2D>; id = <0>; /* matching sensor id */ setfile = "default"; }; fimc-is-actuator@0C { compatible = "samsung,exynos5-fimc-is-actuator-ak7348"; reg = <0x0C>; id = <0>; /* matching sensor id */ }; }; hsi2c_3: hsi2c@138C0000 { gpios = <&gpf0 2 0 &gpf0 3 0>; status = "okay"; clock-frequency = <400000>; pinctrl-names = "default"; pinctrl-0 = <&hs_i2c3_bus>; fimc-is-5e2@10 { compatible = "samsung,exynos5-fimc-is-cis-5e2"; reg = <0x10>; id = <1>; /* matching sensor id */ setfile = "default"; }; }; #define SENSOR_SCENARIO_NORMAL 0 #define SENSOR_SCENARIO_VISION 1 #define SENSOR_SCENARIO_EXTERNAL 2 #define SENSOR_SCENARIO_OIS_FACTORY 3 #define SENSOR_SCENARIO_VIRTUAL 9 #define FLITE_ID_NOTHING 100 fimc_is_sensor0: fimc_is_sensor0@14420000 { scenario = ; /* Normal, Vision, OIS etc */ id = <0>; csi_ch = <0>; flite_ch = <0>; is_bns = <1>; status = "okay"; }; fimc_is_sensor1: fimc_is_sensor1@14420000 { scenario = ; /* Normal, Vision, OIS etc */ id = <1>; csi_ch = <0>; flite_ch = <0>; is_bns = <1>; status = "okay"; }; };