| // SPDX-License-Identifier: GPL-2.0-only |
| /* |
| * GS101 SoC |
| * |
| * Copyright 2019 Google LLC |
| * |
| */ |
| |
| #include <dt-bindings/gpio/gpio.h> |
| #include <dt-bindings/interrupt-controller/arm-gic.h> |
| #include <dt-bindings/interrupt-controller/gs101.h> |
| #include <dt-bindings/clock/gs101.h> |
| #include <dt-bindings/thermal/thermal.h> |
| #include <dt-bindings/soc/google/gs101-dm.h> |
| #include <dt-bindings/soc/google/gs101-tmu.h> |
| #include <dt-bindings/soc/google/gs101-devfreq.h> |
| #include <dt-bindings/soc/google/gs101-pm-qos.h> |
| #include <dt-bindings/soc/google/debug-snapshot-def.h> |
| #include "gs101-rmem.dtsi" |
| #include "gs101-trusty.dtsi" |
| #include "gs101-bigo.dtsi" |
| #include "gs101-bts.dtsi" |
| #include "gs101-cp-tm.dtsi" |
| #include "gs101-cpu.dtsi" |
| #include "gs101-dit.dtsi" |
| #include "gs101-drm-dpu.dtsi" |
| #include "gs101-gpu.dtsi" |
| #include "gs101-aoc.dtsi" |
| #include "gs101-audio.dtsi" |
| #include "gs101-gsa.dtsi" |
| #include "gs101-dma-heap.dtsi" |
| #include "gs101-mfc.dtsi" |
| #include "gs101-pcie.dtsi" |
| #include "gs101-pinctrl.dtsi" |
| #include "gs101-pm-domains.dtsi" |
| #include "gs101-sysmmu.dtsi" |
| #include "gs101-tpu.dtsi" |
| #include "gs101-ufs.dtsi" |
| #include "gs101-usb.dtsi" |
| #include "gs101-usi.dtsi" |
| #include "gs101-isp.dtsi" |
| #include "gs101-debug.dtsi" |
| #include "gs101-s2mpu.dtsi" |
| #include "gs101-pwm.dtsi" |
| |
| / { |
| compatible = "google,gs101"; |
| interrupt-parent = <&gic>; |
| #address-cells = <2>; |
| #size-cells = <1>; |
| |
| aliases { |
| pinctrl0 = &pinctrl_0; |
| pinctrl1 = &pinctrl_1; |
| pinctrl2 = &pinctrl_2; |
| pinctrl3 = &pinctrl_3; |
| pinctrl4 = &pinctrl_4; |
| pinctrl5 = &pinctrl_5; |
| pinctrl6 = &pinctrl_6; |
| pinctrl7 = &pinctrl_7; |
| uart0 = &serial_0; |
| |
| }; |
| |
| ect { |
| parameter_address = <0x90000000>; |
| parameter_size = <0x53000>; |
| }; |
| |
| exynos-ect { |
| compatible = "samsung,exynos-ect"; |
| memory-region = <&ect_binary>; |
| }; |
| |
| chipid@10000000 { |
| compatible = "google,gs101-chipid"; |
| reg = <0x0 0x10000000 0xD000>; |
| }; |
| |
| chosen { |
| bootargs = "rcupdate.rcu_expedited=1 rcu_nocbs=0-7 earlycon=exynos4210,mmio32,0x10A00000 console=ttySAC0,115200n8 clocksource=arch_sys_counter root=/dev/ram0 androidboot.hardware.platform=gs101 androidboot.debug_level=0x4948 firmware_class.path=/vendor/firmware reserve-fimc=0xffffff90f9fe0000 clk_ignore_unused loop.max_part=7 coherent_pool=4M no_console_suspend softlockup_panic=1 cgroup_disable=memory"; |
| }; |
| |
| odm: odm { |
| compatible = "simple-bus"; |
| ranges; |
| |
| /* reserved for overlay by ODM */ |
| }; |
| |
| gic: interrupt-controller@10400000 { |
| compatible = "arm,gic-v3"; |
| #interrupt-cells = <3>; |
| interrupt-controller; |
| reg = <0x0 0x10400000 0x10000>, /* GICD */ |
| <0x0 0x10440000 0x100000>; /* GICR * 8 */ |
| interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; |
| }; |
| |
| timer { |
| compatible = "arm,armv8-timer"; |
| interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, |
| <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, |
| <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, |
| <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; |
| clock-frequency = <24576000>; |
| }; |
| |
| ext_24_5m: ext_24_5m { |
| compatible = "fixed-clock"; |
| #clock-cells = <0>; |
| clock-frequency = <24576000>; |
| clock-output-names = "ext-24_5m"; |
| }; |
| |
| ext_200m: ext_200m { |
| compatible = "fixed-clock"; |
| #clock-cells = <0>; |
| clock-frequency = <200000000>; |
| clock-output-names = "ext-200m"; |
| }; |
| |
| mct@10050000 { |
| compatible = "samsung,exynos4210-mct"; |
| reg = <0x0 0x10050000 0x800>; |
| interrupt-controller; |
| #interrupt-cells = <1>; |
| interrupt-parent = <&mct_map>; |
| interrupts = <0>, <1>, <2>, <3>, |
| <4>, <5>, <6>, <7>, |
| <8>, <9>, <10>, <11>; |
| clocks = <&clock OSCCLK>, <&clock GATE_MCT>; |
| clock-names = "fin_pll", "mct"; |
| |
| mct_map: mct-map { |
| #interrupt-cells = <1>; |
| #address-cells = <0>; |
| #size-cells = <0>; |
| interrupt-map = <0 &gic 0 IRQ_MCT_G0_MISC IRQ_TYPE_LEVEL_HIGH>, |
| <1 &gic 0 IRQ_MCT_G1_MISC IRQ_TYPE_LEVEL_HIGH>, |
| <2 &gic 0 IRQ_MCT_G2_MISC IRQ_TYPE_LEVEL_HIGH>, |
| <3 &gic 0 IRQ_MCT_G3_MISC IRQ_TYPE_LEVEL_HIGH>, |
| <4 &gic 0 IRQ_MCT_L0_MISC IRQ_TYPE_LEVEL_HIGH>, |
| <5 &gic 0 IRQ_MCT_L1_MISC IRQ_TYPE_LEVEL_HIGH>, |
| <6 &gic 0 IRQ_MCT_L2_MISC IRQ_TYPE_LEVEL_HIGH>, |
| <7 &gic 0 IRQ_MCT_L3_MISC IRQ_TYPE_LEVEL_HIGH>, |
| <8 &gic 0 IRQ_MCT_L4_MISC IRQ_TYPE_LEVEL_HIGH>, |
| <9 &gic 0 IRQ_MCT_L5_MISC IRQ_TYPE_LEVEL_HIGH>, |
| <10 &gic 0 IRQ_MCT_L6_MISC IRQ_TYPE_LEVEL_HIGH>, |
| <11 &gic 0 IRQ_MCT_L7_MISC IRQ_TYPE_LEVEL_HIGH>; |
| }; |
| }; |
| |
| eh: eh@17100000 { |
| compatible = "google,eh"; |
| reg = <0x0 0x17100000 0x1000>; |
| interrupts = <GIC_SPI IRQ_EH_0_EH IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&clock DOUT_CLK_EH_BUSP>; |
| clock-names = "eh-clock"; |
| power-domains = <&pd_eh>; |
| google,eh,ignore-gctrl-reset; |
| }; |
| |
| serial_0: uart@10A00000 { |
| compatible = "samsung,exynos-uart"; |
| samsung,separate-uart-clk; |
| samsung,usi-serial-v2; |
| samsung,dbg-uart-ch; |
| samsung,dbg-uart-baud = <115200>; |
| samsung,dbg-word-len = <8>; |
| reg-io-width = <4>; |
| reg = <0x0 0x10A00000 0x100>; |
| samsung,fifo-size = <256>; |
| interrupts = <GIC_SPI IRQ_USI0_UART_PERIC0 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&clock GATE_PERIC0_TOP1_USI0_UART>, <&clock VDOUT_CLK_PERIC0_USI0_UART>; |
| clock-names = "gate_uart_clk0", "ipclk_uart0"; |
| status = "disabled"; |
| }; |
| |
| /* GPIO_ALIVE */ |
| pinctrl_0: pinctrl@174D0000 { |
| compatible = "google,gs101-pinctrl"; |
| reg = <0x00000000 0x174d0000 0x00001000>; |
| interrupts = <GIC_SPI IRQ_ALIVE_EINT0 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT1 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT2 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT3 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT4 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT5 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT6 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT7 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT8 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT9 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT10 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT11 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT12 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT13 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT14 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT15 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT16 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT17 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT18 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT19 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT20 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT21 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT22 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT23 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT24 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT25 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT26 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT27 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT28 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT29 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT30 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT31 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT32 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT33 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT34 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT35 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT36 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT37 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT38 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT39 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT40 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT41 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT42 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT43 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT44 IRQ_TYPE_LEVEL_HIGH>; |
| |
| wakeup-interrupt-controller { |
| compatible = "samsung,exynos7-wakeup-eint"; |
| }; |
| }; |
| |
| /* DMA */ |
| amba { |
| #address-cells = <2>; |
| #size-cells = <1>; |
| compatible = "arm,amba-bus"; |
| interrupt-parent = <&gic>; |
| ranges; |
| pdma0: pdma0@10110000 { |
| compatible = "arm,pl330", "arm,primecell"; |
| reg = <0x0 0x10110000 0x1000>; |
| interrupts = <GIC_SPI IRQ_PDMA_MISC IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&clock GATE_PDMA>; |
| clock-names = "apb_pclk"; |
| #dma-cells = <1>; |
| #dma-channels = <8>; |
| #dma-requests = <32>; |
| #dma-multi-irq = <1>; |
| dma-arwrapper = <0x10114400>, |
| <0x10114420>, |
| <0x10114440>, |
| <0x10114460>, |
| <0x10114480>, |
| <0x101144A0>, |
| <0x101144C0>, |
| <0x101144E0>; |
| dma-awwrapper = <0x10114404>, |
| <0x10114424>, |
| <0x10114444>, |
| <0x10114464>, |
| <0x10114484>, |
| <0x101144A4>, |
| <0x101144C4>, |
| <0x101144E4>; |
| dma-instwrapper = <0x10114500>; |
| dma-mask-bit = <36>; |
| coherent-mask-bit = <36>; |
| }; |
| }; |
| |
| /* GPIO_FAR_ALIVE */ |
| pinctrl_1: pinctrl@174E0000 { |
| compatible = "google,gs101-pinctrl"; |
| reg = <0x00000000 0x174e0000 0x00001000>; |
| interrupts = <GIC_SPI IRQ_ALIVE_EINT45 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT46 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT47 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT48 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT49 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT50 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT51 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT52 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT53 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT54 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT55 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT56 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT57 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT58 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT59 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT60 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT61 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT62 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT63 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT64 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT65 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_ALIVE_EINT66 IRQ_TYPE_LEVEL_HIGH>; |
| |
| wakeup-interrupt-controller { |
| compatible = "samsung,exynos7-wakeup-eint"; |
| }; |
| }; |
| |
| /* GPIO_GSACORE */ |
| pinctrl_2: pinctrl@17A80000 { |
| compatible = "google,gs101-pinctrl"; |
| reg = <0x00000000 0x17a80000 0x00001000>; |
| }; |
| /* GPIO_GSACTRL */ |
| pinctrl_3: pinctrl@17940000 { |
| compatible = "google,gs101-pinctrl"; |
| reg = <0x00000000 0x17940000 0x00001000>; |
| }; |
| /* GPIO_PERIC0 */ |
| pinctrl_4: pinctrl@10840000 { |
| compatible = "google,gs101-pinctrl"; |
| reg = <0x00000000 0x10840000 0x00001000>; |
| interrupts = <GIC_SPI IRQ_GPIO_PERIC0_PERIC0 IRQ_TYPE_LEVEL_HIGH>; |
| }; |
| /* GPIO_PERIC1 */ |
| pinctrl_5: pinctrl@10C40000 { |
| compatible = "google,gs101-pinctrl"; |
| reg = <0x00000000 0x10C40000 0x00001000>; |
| interrupts = <GIC_SPI IRQ_GPIO_PERIC1_PERIC1 IRQ_TYPE_LEVEL_HIGH>; |
| }; |
| /* GPIO_HSI1 */ |
| pinctrl_6: pinctrl@11840000 { |
| compatible = "google,gs101-pinctrl"; |
| reg = <0x00000000 0x11840000 0x00001000>; |
| interrupts = <GIC_SPI IRQ_GPIO_HSI1_HSI1 IRQ_TYPE_LEVEL_HIGH>; |
| }; |
| /* GPIO_HSI2 */ |
| pinctrl_7: pinctrl@14440000 { |
| compatible = "google,gs101-pinctrl"; |
| reg = <0x00000000 0x14440000 0x00001000>; |
| interrupts = <GIC_SPI IRQ_GPIO_HSI2_HSI2 IRQ_TYPE_LEVEL_HIGH>; |
| }; |
| |
| arm-pmu { |
| compatible = "arm,armv8-pmuv3"; |
| interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>; |
| }; |
| |
| exynos-pm { |
| compatible = "samsung,exynos-pm"; |
| reg = <0x0 0x174D0000 0x1000>, |
| <0x0 0x174E0000 0x1000>, |
| <0x0 0x10400204 0x100>, |
| <0x0 0x176A0000 0x100>; |
| reg-names = "gpio_alive_base", "gpio_far_alive_base", |
| "gicd_ispendrn_base", "mailbox_ap_aoc_host"; |
| |
| num-gic = <30>; |
| suspend_mode_idx = <8>; |
| |
| pcieon_suspend_available = <1>; |
| pcieon_suspend_mode_idx = <13>; |
| |
| /* WAKEUP_STAT, WAKEUP2_STAT */ |
| wakeup_stat_offset = <0x3950>, <0x3954>; |
| wakeup_int_en_offset = <0x3944>, <0x3964>; |
| wakeup_int_en = <0x100BF>, <0x0>; |
| |
| eint_wakeup_mask_offset = <0x3a80>, <0x3a84>, <0x3a88>; |
| wakeup-stat-eint = <0x30>; |
| wakeup-stat-rtc = <0>; |
| |
| wake_lock = <0>; /* 1: held wake_lock */ |
| |
| wakeup_stats { |
| wakeup_stat { |
| ws-name = |
| "RTC_ALARM", /* [ 0] */ |
| "RTC_TICK", /* [ 1] */ |
| "TRTC_ALARM", /* [ 2] */ |
| "TRTC_TICK", /* [ 3] */ |
| "EINT", /* [ 4] */ |
| "EINT_FAR", /* [ 5] */ |
| "MAILBOX_APM2AP", /* [ 6] */ |
| "MAILBOX_AOC2AP", /* [ 7] */ |
| "L1SUB_PCIE_GEN4A_0", /* [ 8] */ |
| "L1SUB_PCIE_GEN4B_0", /* [ 9] */ |
| "L1SUB_PCIE_GEN4A_1", /* [10] */ |
| "L1SUB_PCIE_GEN4B_1", /* [11] */ |
| "EXT_PCIE_GEN4A_0", /* [12] */ |
| "EXT_PCIE_GEN4B_0", /* [13] */ |
| "EXT_PCIE_GEN4A_1", /* [14] */ |
| "EXT_PCIE_GEN4B_1", /* [15] */ |
| "USB_REWA", /* [16] */ |
| "USBDP", /* [17] */ |
| "MMC_CARD", /* [18] */ |
| "TIMER", /* [19] */ |
| "RESERVED", /* [20] */ |
| "RESERVED", /* [21] */ |
| "RESERVED", /* [22] */ |
| "CLUSTER0_CPU0_nIRQOUT",/* [23] */ |
| "CLUSTER0_CPU1_nIRQOUT",/* [24] */ |
| "CLUSTER0_CPU2_nIRQOUT",/* [25] */ |
| "CLUSTER0_CPU3_nIRQOUT",/* [26] */ |
| "CLUSTER1_CPU0_nIRQOUT",/* [27] */ |
| "CLUSTER1_CPU1_nIRQOUT",/* [28] */ |
| "CLUSTER2_CPU0_nIRQOUT",/* [29] */ |
| "CLUSTER2_CPU1_nIRQOUT",/* [30] */ |
| "RESERVED"; /* [31] */ |
| }; |
| |
| wakeup_stat2 { |
| ws-name = |
| "RESERVED", /* [ 0] */ |
| "RESERVED", /* [ 1] */ |
| "USB20_PHY_FS_VMINUS", /* [ 2] */ |
| "USB20_PHY_FS_VPLUS"; /* [ 3] */ |
| }; |
| }; |
| }; |
| |
| exynos-pmu { |
| compatible = "samsung,exynos-pmu"; |
| samsung,syscon-phandle = <&pmu_system_controller>; |
| reg = <0x0 0x17460000 0x10000>; |
| reg-names = "pmu_alive"; |
| }; |
| |
| pmu_system_controller: system-controller@17460000 { |
| compatible = "samsung,gs101-pmu", "syscon"; |
| reg = <0x0 0x17460000 0x10000>; |
| }; |
| |
| dsu-pmu-0 { |
| compatible = "arm,dsu-pmu"; |
| interrupts = <GIC_SPI IRQ_CPUCL0_CLUSTERPMUIRQ_CPUCL0 IRQ_TYPE_LEVEL_HIGH>; |
| cpus = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>, <&cpu4>, <&cpu5>, <&cpu6>, <&cpu7>; |
| }; |
| |
| exynos-reboot { |
| compatible = "samsung,exynos-reboot"; |
| syscon = <&pmu_system_controller>; |
| pshold-control-offset = <0x3E9C>; |
| pshold-control-trigger = <0x100>; |
| swreset-system-offset = <0x3A00>; |
| swreset-system-trigger = <0x2>; |
| reboot-cmd-offset = <0x0810>; |
| }; |
| |
| gpio_keys: gpio_keys { |
| compatible = "gpio-keys"; |
| }; |
| |
| cal_if: cal_if { |
| compatible = "samsung,exynos_cal_if"; |
| reg = <0x0 0x1e080000 0x8000>; |
| acpm-ipc-channel = <0>; |
| }; |
| |
| clock: clock-controller@1e080000 { |
| compatible = "samsung,gs101-clock"; |
| reg = <0x0 0x1e080000 0x8000>; |
| #clock-cells = <1>; |
| acpm-ipc-channel = <0>; |
| }; |
| |
| acpm_flexpmu_dbg { |
| compatible = "google,acpm-flexpmu-dbg"; |
| }; |
| |
| acpm_mbox_test: mbox { |
| compatible = "google,acpm-mbox-test"; |
| }; |
| |
| acpm { |
| compatible = "google,gs-acpm"; |
| #address-cells = <2>; |
| #size-cells = <1>; |
| acpm-ipc-channel = <4>; |
| reg = <0x0 0x17440000 0x1000>; /* TIMER_APM */ |
| reg-names = "timer_apm"; |
| peritimer-cnt = <0xFFFF>; |
| }; |
| |
| acpm_ipc { |
| compatible = "google,gs-acpm-ipc"; |
| #address-cells = <2>; |
| #size-cells = <1>; |
| interrupts = <GIC_SPI IRQ_MAILBOX_APM2AP_ALIVE IRQ_TYPE_LEVEL_HIGH>; |
| reg = <0x0 0x17610000 0x1000>, /* AP2APM MAILBOX */ |
| <0x0 0x2039000 0x40000>, /* APM SRAM */ |
| <0x0 0x1742048c 0x14>; /* ALIVE_FRC_CTRL */ |
| initdata-base = <0xA000>; |
| debug-log-level = <0>; |
| logging-period = <500>; |
| dump-base = <0x203E000>; |
| dump-size = <0x3B000>; /* 236KB */ |
| acpm-ipc-channel = <12>; |
| fvmap_addr = <0x31000>; |
| panic-action = <GO_WATCHDOG_ID>; |
| }; |
| |
| acpm_stats { |
| compatible = "google,power-stats"; |
| timer-frequency-hz = <49152000>; |
| }; |
| |
| slc-dummy { |
| compatible = "google,pt"; |
| dummy { |
| id_size_priority = < 0x5 0x1001 0x1000 0x8002>; |
| }; |
| }; |
| |
| slc-acpm { |
| compatible = "google,slc-acpm"; |
| acpm-ipc-channel = <10>; |
| pt_id = "AoC_Sleep"; /* for testing */ |
| async { |
| acpm-ipc-channel = <11>; |
| }; |
| BYPASS { |
| /* vptid 0, size 0, priority 15 (lowest), pbha 0 */ |
| id_size_priority = < 0x0 0x1 0xf 0x0 >; |
| }; |
| LEFTOVER { |
| /* vptid 1, all size, priority 15 (lowest), pbha 1 */ |
| id_size_priority = < 0x1 0xffffffff 0xf 0x1 >; |
| }; |
| AoC_Sleep { |
| /* vptid 2, size 0, priority 0 (highest), pbha 2 */ |
| id_size_priority = < 0x2 0xffffffff 0x0 0x2 >; |
| }; |
| /* vptid 40 breakdown: |
| * bit[0-2] default (0) |
| * bit[3] force write allocate (1) |
| * bit[4] prevent read allocate (0) |
| * bit[5] special vptid (1) |
| * bit[6] don't force optimal fetch on read (0) |
| * bit[7] don't force optimal fetch on write (0) |
| */ |
| gpu_g0_p0 { |
| /* vptid 40, max size 256KB, priority 0, pbha 5 */ |
| id_size_priority = <0x28 0x00001001 0x0 0x5>; |
| }; |
| gpu_g0_p1 { |
| /* vptid 40, max size 512KB, priority 0, pbha 5 */ |
| id_size_priority = <0x28 0x00005001 0x0 0x5>; |
| }; |
| gpu_g0_p2 { |
| /* vptid 40, max size 768KB, priority 0, pbha 5 */ |
| id_size_priority = <0x28 0x0000d001 0x0 0x5>; |
| }; |
| gpu_g0_p3 { |
| /* vptid 40, max size 1024KB, priority 0, pbha 5 */ |
| id_size_priority = <0x28 0x0001d001 0x0 0x5>; |
| }; |
| gpu_g0_p4 { |
| /* vptid 40, max size 1536KB, priority 0, pbha 5 */ |
| id_size_priority = <0x28 0x0003d001 0x0 0x5>; |
| }; |
| gpu_g0_p5 { |
| /* vptid 40, max size 2048KB, priority 0, pbha 5 */ |
| id_size_priority = <0x28 0x0007d001 0x0 0x5>; |
| }; |
| gpu_g0_p6 { |
| /* vptid 40, max size 3072KB, priority 0, pbha 5 */ |
| id_size_priority = <0x28 0x000fd001 0x0 0x5>; |
| }; |
| gpu_g0_p7 { |
| /* vptid 40, max size 4096KB, priority 0, pbha 5 */ |
| id_size_priority = <0x28 0x001fd001 0x0 0x5>; |
| }; |
| gpu_g0_p8 { |
| /* vptid 40, max size 6144KB, priority 0, pbha 5 */ |
| id_size_priority = <0x28 0x003fd001 0x0 0x5>; |
| }; |
| gpu_g0_p9 { |
| /* vptid 40, max size 8192KB, priority 0, pbha 5 */ |
| id_size_priority = <0x28 0x007fd001 0x0 0x5>; |
| }; |
| gpu_g1_p0 { |
| /* vptid 2, max size 8192KB, priority 0, pbha 6 */ |
| id_size_priority = <0x2 0xffffffff 0x0 0x6>; |
| }; |
| CAMERA2WAY { |
| /* vptid 3, size 512KB, priority 0 (highest), pbha 0 */ |
| id_size_priority = < 0x3 0x00002001 0x0 0x0 >; |
| }; |
| CAMERA4WAY0 { |
| /* vptid 3, size 1024KB, priority 0 (highest), pbha 0 */ |
| id_size_priority = < 0x3 0x00010001 0x0 0x0 >; |
| }; |
| CAMERA4WAY1 { |
| /* vptid 3, size 1024KB, priority 0 (highest), pbha 0 */ |
| id_size_priority = < 0x3 0x00010001 0x0 0x0 >; |
| }; |
| CAMERA4WAY2 { |
| /* vptid 3, size 1024KB, priority 0 (highest), pbha 0 */ |
| id_size_priority = < 0x3 0x00010001 0x0 0x0 >; |
| }; |
| CAMERA6WAY0 { |
| /* vptid 3, size 1536KB, priority 0 (highest), pbha 0 */ |
| id_size_priority = < 0x3 0x00020001 0x0 0x0 >; |
| }; |
| CAMERA6WAY1 { |
| /* vptid 3, size 1536KB, priority 0 (highest), pbha 0 */ |
| id_size_priority = < 0x3 0x00020001 0x0 0x0 >; |
| }; |
| CAMERA6WAY2 { |
| /* vptid 3, size 1536KB, priority 0 (highest), pbha 0 */ |
| id_size_priority = < 0x3 0x00020001 0x0 0x0 >; |
| }; |
| CAMERA8WAY0 { |
| /* vptid 4, size 2048KB, priority 0 (highest), pbha 0 */ |
| id_size_priority = < 0x4 0x00040001 0x0 0x0 >; |
| }; |
| CAMERA8WAY1 { |
| /* vptid 4, size 2048KB, priority 0 (highest), pbha 0 */ |
| id_size_priority = < 0x4 0x00040001 0x0 0x0 >; |
| }; |
| bigocean { |
| /* vptid 3, 512KB-8MB size, priority 0, pbha 0 */ |
| id_size_priority = < 0x3 0x007fe001 0x0 0x0 >; |
| }; |
| MFC { |
| /* vptid 9, 2*256KB, priority 0 (highest), pbha ? */ |
| id_size_priority = < 0x9 0x00002001 0x0 0x0>; |
| }; |
| }; |
| |
| acpm_mfd_bus0: acpm_mfd_bus@17500000 { |
| compatible = "google,i2c-acpm"; |
| status = "okay"; |
| }; |
| |
| acpm_mfd_bus1: acpm_mfd_bus@17510000 { |
| compatible = "google,i2c-acpm"; |
| status = "okay"; |
| }; |
| |
| smfc: smfc@1C700000 { |
| compatible = "samsung,exynos8890-jpeg"; |
| reg = <0x0 0x1C700000 0x1000>; |
| interrupts = <0 IRQ_JPEG_G2D IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&clock GATE_JPEG>; |
| clock-names = "gate"; |
| power-domains = <&pd_g2d>; |
| samsung,iommu-group = <&iommu_group_smfc>; |
| iommus = <&sysmmu_g2d2>; |
| dma-coherent; |
| smfc,int_qos_minlock = <533000>; |
| }; |
| |
| udc: usb@11110000 { |
| compatible = "samsung,exynos9-dwusb"; |
| clocks = <&clock GATE_USB31DRD_SLV_LINK>, |
| <&clock MUX_HSI0_USB20_REF>, |
| <&clock VDOUT_CLK_TOP_HSI0_BUS>; |
| clock-names = "aclk", "sclk", "bus"; |
| reg = <0x0 0x11110000 0x10000>; |
| #address-cells = <2>; |
| #size-cells = <1>; |
| ranges; |
| power-domains = <&pd_hsi0>; |
| status = "okay"; |
| |
| interrupts = <GIC_SPI IRQ_USB31DRD_GIC_0_HSI0 IRQ_TYPE_LEVEL_HIGH>; |
| tx-fifo-resize = <0>; |
| adj-sof-accuracy = <0>; |
| is_not_vbus_pad = <1>; |
| enable_sprs_transfer = <1>; |
| phys = <&usbdrd_phy0 0>, <&usbdrd_phy0 1>; |
| phy-names = "usb2-phy", "usb3-phy"; |
| /* check susphy support */ |
| suspend_clk_freq = <19200000>; |
| /* INT min lock support */ |
| usb-pm-qos-int = <200000>; |
| |
| usbdrd_dwc3: dwc3 { |
| compatible = "synopsys,dwc3"; |
| reg = <0x0 0x11110000 0x10000>; |
| interrupts = <GIC_SPI IRQ_USB31DRD_GIC_0_HSI0 IRQ_TYPE_LEVEL_HIGH>; |
| memory-region = <&xhci_dma>; |
| dr_mode = "peripheral"; |
| phys = <&usbdrd_phy0 0>, <&usbdrd_phy0 1>; |
| phy-names = "usb2-phy", "usb3-phy"; |
| /* support usb offloading, 0: disabled, 1: audio */ |
| offload = <1>; |
| direct-usb-access; |
| }; |
| }; |
| |
| usbdrd_phy0: phy@11100000 { |
| compatible = "samsung,exynos-usbdrd-phy"; |
| reg = <0x0 0x11100000 0x200>, |
| <0x0 0x110E0000 0x2800>, |
| <0x0 0x110F0000 0x800>, |
| <0x0 0x11110000 0x10000>; |
| power-domains = <&pd_hsi0>; |
| interrupts = <GIC_SPI IRQ_USB2_REMOTE_WAKEUP_GIC_HSI0 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI IRQ_USB2_REMOTE_CONNECT_GIC_HSI0 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&clock MUX_HSI0_USB20_REF>, |
| <&clock GATE_USB31DRD_SLV_LINK>; |
| clock-names = "phy_ref", "aclk"; |
| samsung,pmu-syscon = <&pmu_system_controller>; |
| pmu_mask = <0x0>; |
| /*pmu_mask_pll = <0x1>;*/ |
| pmu_offset = <0x3EB0>; |
| pmu_offset_dp = <0x3EB4>; |
| /* USBDP combo phy version - 0x200 */ |
| phy_version = <0x301>; |
| /* if it doesn't need phy user mux, */ |
| /* you should write "none" */ |
| /* but refclk shouldn't be omitted */ |
| phyclk_mux = "none"; |
| phy_refclk = "phy_ref"; |
| |
| /* |
| * if Main phy has the other phy, |
| * it must be set to 1 just for usbphy_info |
| */ |
| has_other_phy = <0>; |
| /* |
| * if combo phy is used, it must be set to 1. |
| * usbphy_sub_info is enabled |
| */ |
| has_combo_phy = <1>; |
| sub_phy_version = <0x404>; |
| |
| /* ip type */ |
| /* USB3DRD = 0 */ |
| /* USB3HOST = 1 */ |
| /* USB2DRD = 2 */ |
| /* USB2HOST = 3 */ |
| ip_type = <0x0>; |
| |
| /* for PHY CAL */ |
| /* choice only one item */ |
| phy_refsel_clockcore = <1>; |
| phy_refsel_ext_osc = <0>; |
| phy_refsel_xtal = <0>; |
| phy_refsel_diff_pad = <0>; |
| phy_refsel_diff_internal = <0>; |
| phy_refsel_diff_single = <0>; |
| |
| /* true : 1 , false : 0 */ |
| use_io_for_ovc = <0>; |
| common_block_disable = <1>; |
| is_not_vbus_pad = <1>; |
| used_phy_port = <0>; |
| |
| status = "okay"; |
| |
| #phy-cells = <1>; |
| ranges; |
| }; |
| |
| exynos_dm: exynos-dm@17000000 { |
| compatible = "samsung,exynos-dvfs-manager"; |
| reg = <0x0 0x17000000 0x0>; |
| acpm-ipc-channel = <1>; |
| dm_domains { |
| cpufreq_cl0 { |
| dm-index = <DM_CPU_CL0>; |
| available = "true"; |
| cal_id = <ACPM_DVFS_CPUCL0>; |
| dm_type_name = "dm_cpu_cl0"; |
| }; |
| cpufreq_cl1 { |
| dm-index = <DM_CPU_CL1>; |
| available = "true"; |
| cal_id = <ACPM_DVFS_CPUCL1>; |
| dm_type_name = "dm_cpu_cl1"; |
| }; |
| cpufreq_cl2 { |
| dm-index = <DM_CPU_CL2>; |
| available = "true"; |
| cal_id = <ACPM_DVFS_CPUCL2>; |
| dm_type_name = "dm_cpu_cl2"; |
| }; |
| devfreq_mif { |
| dm-index = <DM_MIF>; |
| available = "true"; |
| policy_use = "true"; |
| cal_id = <ACPM_DVFS_MIF>; |
| dm_type_name = "dm_mif"; |
| }; |
| devfreq_int { |
| dm-index = <DM_INT>; |
| available = "true"; |
| policy_use = "true"; |
| cal_id = <ACPM_DVFS_INT>; |
| dm_type_name = "dm_int"; |
| }; |
| devfreq_intcam { |
| dm-index = <DM_INTCAM>; |
| available = "true"; |
| cal_id = <ACPM_DVFS_INTCAM>; |
| dm_type_name = "dm_intcam"; |
| }; |
| devfreq_cam { |
| dm-index = <DM_CAM>; |
| available = "true"; |
| cal_id = <ACPM_DVFS_CAM>; |
| dm_type_name = "dm_cam"; |
| }; |
| devfreq_tpu { |
| dm-index = <DM_TPU>; |
| available = "true"; |
| cal_id = <ACPM_DVFS_TPU>; |
| dm_type_name = "dm_tpu"; |
| }; |
| devfreq_tnr { |
| dm-index = <DM_TNR>; |
| available = "true"; |
| cal_id = <ACPM_DVFS_TNR>; |
| dm_type_name = "dm_tnr"; |
| }; |
| devfreq_disp { |
| dm-index = <DM_DISP>; |
| available = "true"; |
| cal_id = <ACPM_DVFS_DISP>; |
| dm_type_name = "dm_disp"; |
| }; |
| devfreq_mfc { |
| dm-index = <DM_MFC>; |
| available = "true"; |
| cal_id = <ACPM_DVFS_MFC>; |
| dm_type_name = "dm_mfc"; |
| }; |
| devfreq_bo { |
| dm-index = <DM_BO>; |
| available = "true"; |
| cal_id = <ACPM_DVFS_BO>; |
| dm_type_name = "dm_BO"; |
| }; |
| }; |
| }; |
| |
| exynos_devfreq { |
| compatible = "samsung,exynos-devfreq-root"; |
| #address-cells = <2>; |
| #size-cells = <1>; |
| ranges; |
| devfreq_0: devfreq_mif@17000010 { |
| compatible = "samsung,exynos-devfreq"; |
| reg = <0x0 0x17000010 0x0>; |
| devfreq_type = <DEVFREQ_MIF>; |
| devfreq_domain_name = "MIF"; |
| pm_qos_class = <PM_QOS_BUS_THROUGHPUT>; |
| pm_qos_class_max = <PM_QOS_BUS_THROUGHPUT_MAX>; |
| ess_flag = <ESS_FLAG_MIF>; |
| dm-index = <DM_MIF>; |
| clocks = <&clock UMUX_MIF_DDRPHY2X>; |
| clock-names = "DEVFREQ"; |
| |
| /* Delay time */ |
| use_delay_time = "false"; |
| |
| freq_info = <421000 421000 421000 421000 3172000 1014000>; |
| /* initial_freq, default_qos, suspend_freq, min_freq, max_freq reboot_freq */ |
| |
| /* governor data */ |
| governor = <SIMPLE_INTERACTIVE>; |
| |
| /* boot_info */ |
| boot_info = <60 2730000>; |
| |
| dfs_id = <ACPM_DVFS_MIF>; |
| acpm-ipc-channel = <1>; |
| use_acpm = "true"; |
| |
| /* ALT-DVFS */ |
| use_get_dev = "true"; |
| um_count = <2 4 4>; |
| um_list = < |
| /* PPC_CPUCL0_D0_EVENT PPC_CPUCL0_D1_EVENT */ |
| 0x1E110000 0x1E120000 |
| /* PPC_CCI_M0_EVENT PPC_CCI_M1_EVENT */ |
| 0x1E130000 0x1E140000 |
| /* PPC_CCI_M2_EVENT PPC_CCI_M3_EVENT */ |
| 0x1E150000 0x1E160000 |
| /* PPC_BUS2_M0_EVENT PPC_BUS2_M1_EVENT */ |
| 0x1E170000 0x1E180000 |
| /* PPC_BUS2_M2_EVENT PPC_BUS2_M3_EVENT */ |
| 0x1E190000 0x1E1A0000 |
| >; |
| |
| use_alt_dvfs; |
| polling_ms = <0>; |
| target_load = <20 10 80>; |
| min_sample_time = <20>; |
| hold_sample_time = <60>; |
| hispeed_load = <100>; |
| hispeed_freq = <1352000>; |
| |
| /* MIF to INT mapping table used in ALT DVFS */ |
| mif_int_map = < |
| /* |
| * mif_clk int_clk |
| *----------------- |
| */ |
| 3172000 465000 |
| 2730000 465000 |
| 2535000 465000 |
| 2288000 465000 |
| 2028000 332000 |
| 1716000 332000 |
| 1539000 267000 |
| 1352000 200000 |
| 1014000 155000 |
| 845000 155000 |
| 676000 155000 |
| 546000 100000 |
| 421000 100000 |
| >; |
| }; |
| |
| devfreq_1: devfreq_int@17000020 { |
| compatible = "samsung,exynos-devfreq"; |
| reg = <0x0 0x17000020 0x0>; |
| devfreq_type = <DEVFREQ_INT>; |
| devfreq_domain_name = "INT"; |
| pm_qos_class = <PM_QOS_DEVICE_THROUGHPUT>; |
| pm_qos_class_max = <PM_QOS_DEVICE_THROUGHPUT_MAX>; |
| ess_flag = <ESS_FLAG_INT>; |
| dm-index = <DM_INT>; |
| |
| /* Delay time */ |
| use_delay_time = "false"; |
| |
| /* freq_info is set in gs101-a0.dts and gs101-b0.dts */ |
| |
| /* governor data */ |
| governor = <SIMPLE_INTERACTIVE>; |
| |
| /* boot_info */ |
| boot_info = <60 465000>; |
| |
| bts_update = "false"; |
| dfs_id = <ACPM_DVFS_INT>; |
| acpm-ipc-channel = <1>; |
| use_acpm = "true"; |
| }; |
| |
| devfreq_2: devfreq_intcam@17000030 { |
| compatible = "samsung,exynos-devfreq"; |
| reg = <0x0 0x17000030 0x0>; |
| devfreq_type = <DEVFREQ_INTCAM>; |
| devfreq_domain_name = "INTCAM"; |
| pm_qos_class = <PM_QOS_INTCAM_THROUGHPUT>; |
| pm_qos_class_max = <PM_QOS_INTCAM_THROUGHPUT_MAX>; |
| ess_flag = <ESS_FLAG_INTCAM>; |
| dm-index = <DM_INTCAM>; |
| |
| /* Delay time */ |
| use_delay_time = "false"; |
| |
| freq_info = <67000 67000 67000 67000 664000 664000>; |
| /* <initial_freq, default_qos, suspend_freq, min, max, reboot_freq> */ |
| |
| /* governor data */ |
| governor = <SIMPLE_INTERACTIVE>; |
| |
| bts_update = "false"; |
| dfs_id = <ACPM_DVFS_INTCAM>; |
| }; |
| |
| devfreq_3: devfreq_disp@17000040 { |
| compatible = "samsung,exynos-devfreq"; |
| reg = <0x0 0x17000040 0x0>; |
| devfreq_type = <DEVFREQ_DISP>; |
| devfreq_domain_name = "DISP"; |
| pm_qos_class = <PM_QOS_DISPLAY_THROUGHPUT>; |
| pm_qos_class_max = <PM_QOS_DISPLAY_THROUGHPUT_MAX>; |
| ess_flag = <ESS_FLAG_DISP>; |
| dm-index = <DM_DISP>; |
| |
| /* Delay time */ |
| use_delay_time = "false"; |
| |
| freq_info = <134000 134000 134000 134000 664000 664000>; |
| /* <initial_freq, default_qos, suspend_freq, min, max, reboot_freq> */ |
| |
| /* governor data */ |
| governor = <SIMPLE_INTERACTIVE>; |
| |
| bts_update = "false"; |
| dfs_id = <ACPM_DVFS_DISP>; |
| }; |
| |
| devfreq_4: devfreq_cam@17000050 { |
| compatible = "samsung,exynos-devfreq"; |
| reg = <0x0 0x17000050 0x0>; |
| devfreq_type = <DEVFREQ_CAM>; |
| devfreq_domain_name = "CAM"; |
| pm_qos_class = <PM_QOS_CAM_THROUGHPUT>; |
| pm_qos_class_max = <PM_QOS_CAM_THROUGHPUT_MAX>; |
| ess_flag = <ESS_FLAG_ISP>; |
| dm-index = <DM_CAM>; |
| |
| /* Delay time */ |
| use_delay_time = "false"; |
| |
| freq_info = <67000 67000 67000 67000 664000 664000>; |
| /* <initial, default_qos, suspend_freq, min, max, reboot_freq> */ |
| |
| /* governor data */ |
| governor = <SIMPLE_INTERACTIVE>; |
| |
| bts_update = "false"; |
| |
| dfs_id = <ACPM_DVFS_CAM>; |
| }; |
| |
| devfreq_5: devfreq_tnr@17000060 { |
| compatible = "samsung,exynos-devfreq"; |
| reg = <0x0 0x17000060 0x0>; |
| devfreq_type = <DEVFREQ_TNR>; |
| devfreq_domain_name = "TNR"; |
| pm_qos_class = <PM_QOS_TNR_THROUGHPUT>; |
| pm_qos_class_max = <PM_QOS_TNR_THROUGHPUT_MAX>; |
| ess_flag = <ESS_FLAG_TNR>; |
| dm-index = <DM_TNR>; |
| |
| /* Delay time */ |
| use_delay_time = "false"; |
| |
| freq_info = <67000 67000 67000 67000 664000 664000>; |
| /* <initial_freq, default_qos, suspend_freq, min, max, reboot_freq> */ |
| |
| /* governor data */ |
| governor = <SIMPLE_INTERACTIVE>; |
| |
| bts_update = "false"; |
| dfs_id = <ACPM_DVFS_TNR>; |
| }; |
| |
| devfreq_6: devfreq_mfc@17000070 { |
| compatible = "samsung,exynos-devfreq"; |
| reg = <0x0 0x17000070 0x0>; |
| devfreq_type = <DEVFREQ_MFC>; |
| devfreq_domain_name = "MFC"; |
| pm_qos_class = <PM_QOS_MFC_THROUGHPUT>; |
| pm_qos_class_max = <PM_QOS_MFC_THROUGHPUT_MAX>; |
| ess_flag = <ESS_FLAG_MFC>; |
| dm-index = <DM_MFC>; |
| |
| /* Delay time */ |
| use_delay_time = "false"; |
| |
| freq_info = <134000 134000 134000 134000 711000 711000>; |
| /* <initial_freq, default_qos, suspend_freq, min, max, reboot_freq> */ |
| |
| /* governor data */ |
| governor = <SIMPLE_INTERACTIVE>; |
| |
| bts_update = "false"; |
| dfs_id = <ACPM_DVFS_MFC>; |
| }; |
| |
| devfreq_7: devfreq_bo@17000080 { |
| compatible = "samsung,exynos-devfreq"; |
| reg = <0x0 0x17000080 0x0>; |
| devfreq_type = <DEVFREQ_BO>; |
| devfreq_domain_name = "BO"; |
| pm_qos_class = <PM_QOS_BO_THROUGHPUT>; |
| pm_qos_class_max = <PM_QOS_BO_THROUGHPUT_MAX>; |
| ess_flag = <ESS_FLAG_BO>; |
| dm-index = <DM_BO>; |
| |
| /* Delay time */ |
| use_delay_time = "false"; |
| |
| freq_info = <95000 95000 95000 95000 620000 620000>; |
| /* <initial_freq, default_qos, suspend_freq, min, max, reboot_freq> */ |
| |
| /* governor data */ |
| governor = <SIMPLE_INTERACTIVE>; |
| |
| bts_update = "false"; |
| dfs_id = <ACPM_DVFS_BO>; |
| }; |
| |
| }; |
| |
| gs_memlat_devfreq { |
| compatible = "memlat-devfreq-root"; |
| #address-cells = <2>; |
| #size-cells = <1>; |
| ranges; |
| |
| mif_cpu0_mem_lat: devfreq_mif_cpu0_memlat@17000010 { |
| compatible = "memlat-devfreq"; |
| devfreq_type = <DEVFREQ_MIF>; |
| devfreq_domain_name = "MIF"; |
| pm_qos_class = <PM_QOS_BUS_THROUGHPUT>; |
| pm_qos_class_max = <PM_QOS_BUS_THROUGHPUT_MAX>; |
| dm-index = <DM_MIF>; |
| clock-names = "DEVFREQ"; |
| polling_ms = <10>; |
| |
| /* governor data */ |
| governor = <MEM_LATENCY>; |
| dfs_id = <ACPM_DVFS_MIF>; |
| |
| }; |
| |
| mif_cpu1_mem_lat: devfreq_mif_cpu1_memlat@17000010 { |
| compatible = "memlat-devfreq"; |
| devfreq_type = <DEVFREQ_MIF>; |
| devfreq_domain_name = "MIF"; |
| pm_qos_class = <PM_QOS_BUS_THROUGHPUT>; |
| pm_qos_class_max = <PM_QOS_BUS_THROUGHPUT_MAX>; |
| dm-index = <DM_MIF>; |
| clock-names = "DEVFREQ"; |
| polling_ms = <10>; |
| |
| /* governor data */ |
| governor = <MEM_LATENCY>; |
| dfs_id = <ACPM_DVFS_MIF>; |
| |
| }; |
| |
| mif_cpu2_mem_lat: devfreq_mif_cpu2_memlat@17000010 { |
| compatible = "memlat-devfreq"; |
| devfreq_type = <DEVFREQ_MIF>; |
| devfreq_domain_name = "MIF"; |
| pm_qos_class = <PM_QOS_BUS_THROUGHPUT>; |
| pm_qos_class_max = <PM_QOS_BUS_THROUGHPUT_MAX>; |
| dm-index = <DM_MIF>; |
| clock-names = "DEVFREQ"; |
| polling_ms = <10>; |
| |
| /* governor data */ |
| governor = <MEM_LATENCY>; |
| dfs_id = <ACPM_DVFS_MIF>; |
| |
| }; |
| |
| mif_cpu3_mem_lat: devfreq_mif_cpu3_memlat@17000010 { |
| compatible = "memlat-devfreq"; |
| devfreq_type = <DEVFREQ_MIF>; |
| devfreq_domain_name = "MIF"; |
| pm_qos_class = <PM_QOS_BUS_THROUGHPUT>; |
| pm_qos_class_max = <PM_QOS_BUS_THROUGHPUT_MAX>; |
| dm-index = <DM_MIF>; |
| clock-names = "DEVFREQ"; |
| polling_ms = <10>; |
| |
| /* governor data */ |
| governor = <MEM_LATENCY>; |
| dfs_id = <ACPM_DVFS_MIF>; |
| |
| }; |
| |
| |
| mif_cpu4_mem_lat: devfreq_mif_cpu4_memlat@17000010 { |
| compatible = "memlat-devfreq"; |
| devfreq_type = <DEVFREQ_MIF>; |
| devfreq_domain_name = "MIF"; |
| pm_qos_class = <PM_QOS_BUS_THROUGHPUT>; |
| pm_qos_class_max = <PM_QOS_BUS_THROUGHPUT_MAX>; |
| dm-index = <DM_MIF>; |
| clock-names = "DEVFREQ"; |
| polling_ms = <10>; |
| |
| /* governor data */ |
| governor = <MEM_LATENCY>; |
| dfs_id = <ACPM_DVFS_MIF>; |
| |
| }; |
| |
| mif_cpu5_mem_lat: devfreq_mif_cpu5_memlat@17000010 { |
| compatible = "memlat-devfreq"; |
| devfreq_type = <DEVFREQ_MIF>; |
| devfreq_domain_name = "MIF"; |
| pm_qos_class = <PM_QOS_BUS_THROUGHPUT>; |
| pm_qos_class_max = <PM_QOS_BUS_THROUGHPUT_MAX>; |
| dm-index = <DM_MIF>; |
| clock-names = "DEVFREQ"; |
| polling_ms = <10>; |
| |
| /* governor data */ |
| governor = <MEM_LATENCY>; |
| dfs_id = <ACPM_DVFS_MIF>; |
| |
| }; |
| |
| mif_cpu6_mem_lat: devfreq_mif_cpu6_memlat@17000010 { |
| compatible = "memlat-devfreq"; |
| devfreq_type = <DEVFREQ_MIF>; |
| devfreq_domain_name = "MIF"; |
| pm_qos_class = <PM_QOS_BUS_THROUGHPUT>; |
| pm_qos_class_max = <PM_QOS_BUS_THROUGHPUT_MAX>; |
| dm-index = <DM_MIF>; |
| clock-names = "DEVFREQ"; |
| polling_ms = <10>; |
| |
| /* governor data */ |
| governor = <MEM_LATENCY>; |
| dfs_id = <ACPM_DVFS_MIF>; |
| |
| }; |
| |
| mif_cpu7_mem_lat: devfreq_mif_cpu7_memlat@17000010 { |
| compatible = "memlat-devfreq"; |
| devfreq_type = <DEVFREQ_MIF>; |
| devfreq_domain_name = "MIF"; |
| pm_qos_class = <PM_QOS_BUS_THROUGHPUT>; |
| pm_qos_class_max = <PM_QOS_BUS_THROUGHPUT_MAX>; |
| dm-index = <DM_MIF>; |
| clock-names = "DEVFREQ"; |
| polling_ms = <10>; |
| |
| /* governor data */ |
| governor = <MEM_LATENCY>; |
| dfs_id = <ACPM_DVFS_MIF>; |
| |
| }; |
| }; |
| |
| cpu0_memlat_cpugrp: cpu0-cpugrp { |
| compatible = "arm-memlat-cpugrp"; |
| cpulist = <&cpu0>; |
| |
| cpu0_cpu_mif_latmon: cpu0-cpu-mif-latmon { |
| compatible = "arm-memlat-mon"; |
| cpulist = <&cpu0>; |
| target-dev = <&mif_cpu0_mem_lat>; |
| cachemiss-ev = <0x2A>; |
| core-dev-table = |
| < 300000 421000 >, |
| < 574000 546000 >, |
| < 738000 676000 >, |
| < 930000 845000 >, |
| < 1098000 1014000 >, |
| < 1197000 1352000 >, |
| < 1328000 1539000 >, |
| < 1598000 1716000 >, |
| < 1803000 2028000 >, |
| < 2024000 2535000 >; |
| }; |
| }; |
| |
| cpu1_memlat_cpugrp: cpu1-cpugrp { |
| compatible = "arm-memlat-cpugrp"; |
| cpulist = <&cpu1>; |
| |
| cpu1_cpu_mif_latmon: cpu1-cpu-mif-latmon { |
| compatible = "arm-memlat-mon"; |
| cpulist = <&cpu1>; |
| target-dev = <&mif_cpu1_mem_lat>; |
| cachemiss-ev = <0x2A>; |
| core-dev-table = |
| < 300000 421000 >, |
| < 574000 546000 >, |
| < 738000 676000 >, |
| < 930000 845000 >, |
| < 1098000 1014000 >, |
| < 1197000 1352000 >, |
| < 1328000 1539000 >, |
| < 1598000 1716000 >, |
| < 1803000 2028000 >, |
| < 2024000 2535000 >; |
| }; |
| }; |
| |
| cpu2_memlat_cpugrp: cpu2-cpugrp { |
| compatible = "arm-memlat-cpugrp"; |
| cpulist = <&cpu2>; |
| |
| cpu2_cpu_mif_latmon: cpu2-cpu-mif-latmon { |
| compatible = "arm-memlat-mon"; |
| cpulist = <&cpu2>; |
| target-dev = <&mif_cpu2_mem_lat>; |
| cachemiss-ev = <0x2A>; |
| core-dev-table = |
| < 300000 421000 >, |
| < 574000 546000 >, |
| < 738000 676000 >, |
| < 930000 845000 >, |
| < 1098000 1014000 >, |
| < 1197000 1352000 >, |
| < 1328000 1539000 >, |
| < 1598000 1716000 >, |
| < 1803000 2028000 >, |
| < 2024000 2535000 >; |
| }; |
| }; |
| |
| cpu3_memlat_cpugrp: cpu3-cpugrp { |
| compatible = "arm-memlat-cpugrp"; |
| cpulist = <&cpu3>; |
| |
| cpu3_cpu_mif_latmon: cpu3-cpu-mif-latmon { |
| compatible = "arm-memlat-mon"; |
| cpulist = <&cpu3>; |
| target-dev = <&mif_cpu3_mem_lat>; |
| cachemiss-ev = <0x2A>; |
| core-dev-table = |
| < 300000 421000 >, |
| < 574000 546000 >, |
| < 738000 676000 >, |
| < 930000 845000 >, |
| < 1098000 1014000 >, |
| < 1197000 1352000 >, |
| < 1328000 1539000 >, |
| < 1598000 1716000 >, |
| < 1803000 2028000 >, |
| < 2024000 2535000 >; |
| }; |
| }; |
| |
| |
| cpu4_memlat_cpugrp: cpu4-cpugrp { |
| compatible = "arm-memlat-cpugrp"; |
| cpulist = <&cpu4>; |
| |
| cpu4_cpu_mif_latmon: cpu4-cpu-mif-latmon { |
| compatible = "arm-memlat-mon"; |
| cpulist = <&cpu4>; |
| target-dev = <&mif_cpu4_mem_lat>; |
| cachemiss-ev = <0x2A>; |
| core-dev-table = |
| < 400000 421000 >, |
| < 553000 845000 >, |
| < 799000 1352000 >, |
| < 1024000 1539000 >, |
| < 1491000 1716000 >, |
| < 1836000 2028000 >, |
| < 2130000 2288000 >, |
| < 2253000 2730000 >; |
| }; |
| }; |
| |
| cpu5_memlat_cpugrp: cpu5-cpugrp { |
| compatible = "arm-memlat-cpugrp"; |
| cpulist = <&cpu5>; |
| |
| cpu5_cpu_mif_latmon: cpu5-cpu-mif-latmon { |
| compatible = "arm-memlat-mon"; |
| cpulist = <&cpu5>; |
| target-dev = <&mif_cpu5_mem_lat>; |
| cachemiss-ev = <0x2A>; |
| core-dev-table = |
| < 400000 421000 >, |
| < 553000 845000 >, |
| < 799000 1352000 >, |
| < 1024000 1539000 >, |
| < 1491000 1716000 >, |
| < 1836000 2028000 >, |
| < 2130000 2288000 >, |
| < 2253000 2730000 >; |
| }; |
| }; |
| |
| cpu6_memlat_cpugrp: cpu6-cpugrp { |
| compatible = "arm-memlat-cpugrp"; |
| cpulist = <&cpu6>; |
| |
| cpu6_cpu_mif_latmon: cpu6-cpu-mif-latmon { |
| compatible = "arm-memlat-mon"; |
| cpulist = <&cpu6>; |
| target-dev = <&mif_cpu6_mem_lat>; |
| cachemiss-ev = <0x2A>; |
| core-dev-table = |
| < 10000 421000 >, |
| < 100000 845000 >, |
| < 851000 1014000 >, |
| < 1106000 1352000 >, |
| < 1237000 1539000 >, |
| < 1582000 1716000 >, |
| < 1901000 2028000 >, |
| < 2048000 2288000 >, |
| < 2225200 2730000 >, |
| < 2507000 3172000 >; |
| }; |
| }; |
| |
| cpu7_memlat_cpugrp: cpu7-cpugrp { |
| compatible = "arm-memlat-cpugrp"; |
| cpulist = <&cpu7>; |
| |
| cpu7_cpu_mif_latmon: cpu7-cpu-mif-latmon { |
| compatible = "arm-memlat-mon"; |
| cpulist = <&cpu7>; |
| target-dev = <&mif_cpu7_mem_lat>; |
| cachemiss-ev = <0x2A>; |
| core-dev-table = |
| < 10000 421000 >, |
| < 100000 845000 >, |
| < 851000 1014000 >, |
| < 1106000 1352000 >, |
| < 1237000 1539000 >, |
| < 1582000 1716000 >, |
| < 1901000 2028000 >, |
| < 2048000 2288000 >, |
| < 2225200 2730000 >, |
| < 2507000 3172000 >; |
| }; |
| }; |
| |
| g2d: g2d@1C640000 { |
| compatible = "samsung,gs101-g2d"; |
| reg = <0x0 0x1C640000 0xA000>; |
| interrupts = <0 IRQ_G2D_G2D IRQ_TYPE_LEVEL_HIGH>; |
| samsung,iommu-group = <&iommu_group_g2d>; |
| iommus = <&sysmmu_g2d0>, <&sysmmu_g2d1>; |
| clocks = <&clock GATE_G2D>; |
| clock-names = "gate"; |
| samsung,tzmp; |
| |
| hw_ppc = |
| /* sc_up none x1 x1/4 x1/9 x1/16 */ |
| <3800 3200 2100 2600 3300 3600 /* rgb32 non-rotated */ |
| 3500 3600 2100 2700 3300 3800 /* rgb32 rotated */ |
| 3700 3500 3600 4300 4300 3500 /* yuv2p non-rotated */ |
| 2600 2800 3200 3900 4300 3600 /* yuv2p rotated */ |
| 3600 2600 1400 900 1000 1000 /* sbwc non-rotated */ |
| 2600 2600 1400 900 1000 1000 /* sbwc rotated */ |
| 1600 3400 300 500 800 700 /*rgb afbc non-rotated*/ |
| 1400 3600 300 800 900 900 /*rgb afbc rotated*/ |
| 2900 2000 800 300 300 400 /*yuv afbc non-rotated*/ |
| 2600 2000 800 300 300 400 /*yuv afbc rotated*/ |
| 2800>; /* colorfill */ |
| |
| g2d_dvfs_table = <533000 711000 |
| 465000 400000 |
| 332000 332000 |
| 200000 200000 |
| 100000 100000 |
| >; |
| |
| itmon,port = "G2D0", "G2D1"; |
| itmon,dest = "G2D"; |
| dvfs_mif = <DEVFREQ_MIF>; |
| dvfs_int = <DEVFREQ_INT>; |
| }; |
| |
| watchdog_cl0@10060000 { |
| compatible = "google,gs101-cl0-wdt"; |
| reg = <0x0 0x10060000 0x100>; |
| interrupts = <GIC_SPI IRQ_WDT_CLUSTER0_MISC IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&clock OSCCLK>, <&clock GATE_WDT_CL0>; |
| clock-names = "rate_watchdog", "gate_watchdog"; |
| timeout-sec = <30>; |
| samsung,syscon-phandle = <&pmu_system_controller>; |
| index = <0>; /* if little cluster then index is 0*/ |
| }; |
| |
| watchdog_cl1@10070000 { |
| compatible = "google,gs101-cl1-wdt"; |
| reg = <0x0 0x10070000 0x100>; |
| interrupts = <GIC_SPI IRQ_WDT_CLUSTER1_MISC IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&clock OSCCLK>, <&clock GATE_WDT_CL1>; |
| clock-names = "rate_watchdog", "gate_watchdog"; |
| timeout-sec = <30>; |
| samsung,syscon-phandle = <&pmu_system_controller>; |
| index = <1>; /* if little cluster then index is 0*/ |
| use_multistage_wdt; /* Use FIQ debug watchdog */ |
| }; |
| |
| acpm_tmu { |
| acpm-ipc-channel = <9>; |
| }; |
| |
| tmuctrl_0: BIG@100A0000 { |
| compatible = "samsung,gs101-tmu-v2"; |
| reg = <0x0 0x100A0000 0x800>; |
| interrupts = <GIC_SPI IRQ_TMU_TMU_TOP_MISC IRQ_TYPE_LEVEL_HIGH>; |
| tmu_name = "BIG"; |
| id = <0>; |
| ect_nouse; |
| cpu_hw_throttling_enable; |
| cpu_hw_throttling_clr_threshold = <98>; |
| cpu_hw_throttling_trigger_threshold = <103>; |
| ppm_level = <0x66>; /* 75% dispatch reduction */ |
| mpmm_level = <0x10>; /* Gear 0 for BIG7 and BIG6 */ |
| /* Gear 0: 80% throttle percentage with 30% trigger threshold */ |
| pause_enable; |
| tmu_type = <TMU_TYPE_CPU>; |
| resume_threshold = <103>; |
| pause_threshold = <108>; |
| pause_cpus = "6-7"; |
| hardlimit_enable; |
| hardlimit_clr_threshold = <98>; |
| hardlimit_threshold = <103>; |
| hardlimit_cooling_state = <THERMAL_NO_LIMIT>; |
| #thermal-sensor-cells = <0>; |
| |
| use-pi-thermal; |
| polling_delay_on = <50>; |
| polling_delay_off = <0>; |
| k_po = <60>; |
| k_pu = <60>; |
| k_i = <50>; |
| i_max = <2>; |
| integral_cutoff = <10>; |
| sustainable_power = <2000>; |
| |
| tmu_work_affinity = "0-7"; |
| hotplug_work_affinity = "0-3"; |
| }; |
| |
| tmuctrl_1: MID@100A0000 { |
| compatible = "samsung,gs101-tmu-v2"; |
| reg = <0x0 0x100A0000 0x800>; |
| interrupts = <GIC_SPI IRQ_TMU_TMU_TOP_MISC IRQ_TYPE_LEVEL_HIGH>; |
| tmu_name = "MID"; |
| id = <1>; |
| ect_nouse; |
| pause_enable; |
| tmu_type = <TMU_TYPE_CPU>; |
| resume_threshold = <103>; |
| pause_threshold = <108>; |
| pause_cpus = "4-5"; |
| hardlimit_enable; |
| hardlimit_clr_threshold = <93>; |
| hardlimit_threshold = <98>; |
| hardlimit_cooling_state = <THERMAL_NO_LIMIT>; |
| #thermal-sensor-cells = <0>; |
| |
| use-pi-thermal; |
| polling_delay_on = <50>; |
| polling_delay_off = <0>; |
| k_po = <60>; |
| k_pu = <60>; |
| k_i = <20>; |
| i_max = <5>; |
| integral_cutoff = <20>; |
| sustainable_power = <1000>; |
| |
| tmu_work_affinity = "0-7"; |
| hotplug_work_affinity = "0-3"; |
| }; |
| |
| tmuctrl_2: LITTLE@100A0000 { |
| compatible = "samsung,gs101-tmu-v2"; |
| reg = <0x0 0x100A0000 0x800>; |
| interrupts = <GIC_SPI IRQ_TMU_TMU_TOP_MISC IRQ_TYPE_LEVEL_HIGH>; |
| tmu_name = "LITTLE"; |
| id = <2>; |
| ect_nouse; |
| tmu_type = <TMU_TYPE_CPU>; |
| #thermal-sensor-cells = <0>; |
| |
| use-pi-thermal; |
| polling_delay_on = <50>; |
| polling_delay_off = <0>; |
| k_po = <60>; |
| k_pu = <60>; |
| k_i = <20>; |
| i_max = <5>; |
| integral_cutoff = <20>; |
| sustainable_power = <200>; |
| |
| tmu_work_affinity = "0-7"; |
| }; |
| |
| tmuctrl_3: G3D@100B0000 { |
| compatible = "samsung,gs101-tmu-v2"; |
| reg = <0x0 0x100B0000 0x800>; |
| interrupts = <GIC_SPI IRQ_TMU_TMU_SUB_MISC IRQ_TYPE_LEVEL_HIGH>; |
| tmu_name = "G3D"; |
| id = <3>; |
| ect_nouse; |
| tmu_type = <TMU_TYPE_GPU>; |
| hardlimit_enable; |
| hardlimit_clr_threshold = <93>; |
| hardlimit_threshold = <98>; |
| hardlimit_cooling_state = <THERMAL_NO_LIMIT>; |
| #thermal-sensor-cells = <0>; |
| |
| use-pi-thermal; |
| polling_delay_on = <50>; |
| polling_delay_off = <0>; |
| k_po = <60>; |
| k_pu = <60>; |
| k_i = <20>; |
| i_max = <5>; |
| integral_cutoff = <20>; |
| sustainable_power = <200>; |
| |
| tmu_work_affinity = "0-7"; |
| }; |
| |
| tmuctrl_4: ISP@100B0000 { |
| compatible = "samsung,gs101-tmu-v2"; |
| reg = <0x0 0x100B0000 0x800>; |
| interrupts = <GIC_SPI IRQ_TMU_TMU_SUB_MISC IRQ_TYPE_LEVEL_HIGH>; |
| tmu_name = "ISP"; |
| id = <4>; |
| ect_nouse; |
| tmu_type = <TMU_TYPE_ISP>; |
| #thermal-sensor-cells = <0>; |
| |
| tmu_work_affinity = "0-7"; |
| }; |
| |
| tmuctrl_5: TPU@100B0000 { |
| compatible = "samsung,gs101-tmu-v2"; |
| reg = <0x0 0x100B0000 0x800>; |
| interrupts = <GIC_SPI IRQ_TMU_TMU_SUB_MISC IRQ_TYPE_LEVEL_HIGH>; |
| tmu_name = "TPU"; |
| id = <5>; |
| ect_nouse; |
| pause_enable; |
| tmu_type = <TMU_TYPE_TPU>; |
| resume_threshold = <103>; |
| pause_threshold = <108>; |
| hardlimit_enable; |
| hardlimit_clr_threshold = <93>; |
| hardlimit_threshold = <98>; |
| hardlimit_cooling_state = <THERMAL_NO_LIMIT>; |
| #thermal-sensor-cells = <0>; |
| |
| use-pi-thermal; |
| polling_delay_on = <50>; |
| polling_delay_off = <0>; |
| k_po = <60>; |
| k_pu = <60>; |
| k_i = <20>; |
| i_max = <5>; |
| integral_cutoff = <20>; |
| sustainable_power = <200>; |
| |
| tmu_work_affinity = "0-7"; |
| }; |
| |
| thermal_zones: thermal-zones { |
| big_thermal: BIG { |
| zone_name = "BIG_THERMAL"; |
| polling-delay-passive = <0>; |
| polling-delay = <0>; |
| thermal-sensors = <&tmuctrl_0>; |
| |
| trips { |
| big_cold: big-cold { |
| temperature = <20000>; |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| big_switch_on: big-switch-on { |
| temperature = <70000>; /* millicelsius */ |
| hysteresis = <2000>; /* millicelsius */ |
| type = "active"; |
| }; |
| big_control_temp: big-control-temp { |
| temperature = <90000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "passive"; |
| }; |
| big_alert1: big-alert1 { |
| temperature = <94000>; /* millicelsius */ |
| hysteresis = <4000>; /* millicelsius */ |
| type = "passive"; |
| }; |
| big_alert2: big-alert2 { |
| temperature = <95000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| big_hw_throttling: big-hw_throttling { |
| temperature = <103000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| big_pause: big-pause { |
| temperature = <108000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| big_hot: big-hot { |
| temperature = <115000>; /* millicelsius */ |
| hysteresis = <3000>; /* millicelsius */ |
| type = "hot"; |
| }; |
| }; |
| cooling-maps { |
| map0 { |
| trip = <&big_control_temp>; |
| cooling-device = <&cpufreq_domain2 0 0>; |
| }; |
| }; |
| }; |
| mid_thermal: MID { |
| zone_name = "MID_THERMAL"; |
| polling-delay-passive = <0>; |
| polling-delay = <0>; |
| thermal-sensors = <&tmuctrl_1>; |
| |
| trips { |
| mid_cold: mid-cold { |
| temperature = <20000>; |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| mid_switch_on: mid-switch-on { |
| temperature = <70000>; /* millicelsius */ |
| hysteresis = <2000>; /* millicelsius */ |
| type = "active"; |
| }; |
| mid_control_temp: mid-control-temp { |
| temperature = <90000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "passive"; |
| }; |
| mid_alert1: mid-alert1 { |
| temperature = <94000>; /* millicelsius */ |
| hysteresis = <4000>; /* millicelsius */ |
| type = "passive"; |
| }; |
| mid_alert2: mid-alert2 { |
| temperature = <95000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| mid_hw_throttling: mid-hw_throttling { |
| temperature = <98000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| mid_pause: mid-pause { |
| temperature = <108000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| mid_hot: mid-hot { |
| temperature = <115000>; /* millicelsius */ |
| hysteresis = <3000>; /* millicelsius */ |
| type = "hot"; |
| }; |
| }; |
| cooling-maps { |
| map0 { |
| trip = <&mid_control_temp>; |
| cooling-device = <&cpufreq_domain1 0 0>; |
| }; |
| }; |
| }; |
| little_thermal: LITTLE { |
| zone_name = "LITTLE_THERMAL"; |
| polling-delay-passive = <0>; |
| polling-delay = <0>; |
| thermal-sensors = <&tmuctrl_2>; |
| |
| trips { |
| little_cold: little-cold { |
| temperature = <20000>; |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| little_switch_on: little-switch-on { |
| temperature = <70000>; /* millicelsius */ |
| hysteresis = <2000>; /* millicelsius */ |
| type = "active"; |
| }; |
| little_control_temp: little-control-temp { |
| temperature = <95000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "passive"; |
| }; |
| little_alert1: little-alert1 { |
| temperature = <99000>; /* millicelsius */ |
| hysteresis = <4000>; /* millicelsius */ |
| type = "passive"; |
| }; |
| little_alert2: little-alert2 { |
| temperature = <100000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| little_alert5: little-alert5 { |
| temperature = <103000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| little_alert6: little-alert6 { |
| temperature = <110000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| little_hot: little-hot { |
| temperature = <115000>; /* millicelsius */ |
| hysteresis = <3000>; /* millicelsius */ |
| type = "hot"; |
| }; |
| }; |
| cooling-maps { |
| map0 { |
| trip = <&little_control_temp>; |
| cooling-device = <&cpufreq_domain0 0 0>; |
| }; |
| }; |
| }; |
| gpu_thermal: G3D { |
| zone_name = "G3D_THERMAL"; |
| polling-delay-passive = <0>; |
| polling-delay = <0>; |
| thermal-sensors = <&tmuctrl_3>; |
| |
| trips { |
| gpu_cold: gpu-cold { |
| temperature = <20000>; |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| gpu_switch_on: gpu-switch-on { |
| temperature = <70000>; /* millicelsius */ |
| hysteresis = <2000>; /* millicelsius */ |
| type = "active"; |
| }; |
| gpu_control_temp: gpu-control-temp { |
| temperature = <90000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "passive"; |
| }; |
| gpu_alert0: gpu-alert0 { |
| temperature = <95000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| gpu_hardlimit: gpu-hardlimit { |
| temperature = <98000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| gpu_alert2: gpu-alert2 { |
| temperature = <104000>; /* millicelsius */ |
| hysteresis = <4000>; /* millicelsius */ |
| type = "active"; |
| }; |
| gpu_alert3: gpu-alert3 { |
| temperature = <108000>; /* millicelsius */ |
| hysteresis = <3000>; /* millicelsius */ |
| type = "active"; |
| }; |
| gpu_hot: gpu-hot { |
| temperature = <115000>; /* millicelsius */ |
| hysteresis = <3000>; /* millicelsius */ |
| type = "hot"; |
| }; |
| }; |
| cooling-maps { |
| map0 { |
| trip = <&gpu_control_temp>; |
| cooling-device = <&mali |
| THERMAL_NO_LIMIT |
| THERMAL_NO_LIMIT>; |
| }; |
| }; |
| }; |
| isp_thermal: ISP { |
| zone_name = "ISP_THERMAL"; |
| polling-delay-passive = <0>; |
| polling-delay = <0>; |
| thermal-sensors = <&tmuctrl_4>; |
| |
| trips { |
| isp_alert0: isp-alert0 { |
| temperature = <20000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| isp_alert1: isp-alert1 { |
| temperature = <70000>; /* millicelsius */ |
| hysteresis = <2000>; /* millicelsius */ |
| type = "active"; |
| }; |
| isp_alert2: isp-alert2 { |
| temperature = <95000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| isp_alert3: isp-alert3 { |
| temperature = <98000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| isp_alert4: isp-alert4 { |
| temperature = <103000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| isp_alert5: isp-alert5 { |
| temperature = <108000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| isp_alert6: isp-alert6 { |
| temperature = <110000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| isp_hot: isp-hot { |
| temperature = <115000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "hot"; |
| }; |
| }; |
| }; |
| tpu_thermal: TPU { |
| zone_name = "TPU_THERMAL"; |
| polling-delay-passive = <0>; |
| polling-delay = <0>; |
| thermal-sensors = <&tmuctrl_5>; |
| |
| trips { |
| tpu_cold: tpu-cold { |
| temperature = <20000>; |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| tpu_switch_on: tpu-switch-on { |
| temperature = <70000>; /* millicelsius */ |
| hysteresis = <2000>; /* millicelsius */ |
| type = "active"; |
| }; |
| tpu_control_temp: tpu-control-temp { |
| temperature = <90000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "passive"; |
| }; |
| tpu_alert0: tpu-alert0 { |
| temperature = <95000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| tpu_hardlimit: tpu-hardlimit { |
| temperature = <98000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| tpu_alert1: tpu-alert1 { |
| temperature = <104000>; /* millicelsius */ |
| hysteresis = <4000>; /* millicelsius */ |
| type = "active"; |
| }; |
| tpu_pause: tpu-pause { |
| temperature = <108000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| tpu_hot: tpu-hot { |
| temperature = <115000>; /* millicelsius */ |
| hysteresis = <3000>; /* millicelsius */ |
| type = "hot"; |
| }; |
| }; |
| cooling-maps { |
| map0 { |
| trip = <&tpu_control_temp>; |
| cooling-device = <&tpu_cooling 0 0>; |
| }; |
| }; |
| }; |
| }; |
| |
| /* Secure Log */ |
| seclog { |
| compatible = "samsung,exynos-seclog"; |
| interrupts = <GIC_SPI INTREQ__SECURE_LOG IRQ_TYPE_LEVEL_HIGH>; |
| memory-region = <&seclog_mem>; |
| }; |
| pps { |
| compatible = "pps-gpio"; |
| gpios = <&gpp17 1 GPIO_ACTIVE_HIGH>; |
| assert-falling-edge = <0>; |
| }; |
| |
| }; |