Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5f04c4cf authored by Chanwoo Choi's avatar Chanwoo Choi Committed by Krzysztof Kozlowski
Browse files

arm64: dts: exynos: Add dtsi files for Samsung Exynos5433 64bit SoC



This patch adds new Exynos5433 dtsi to support 64-bit Exynos5433 SoC
based on Octa-core CPUs (quad Cortex-A57 and quad Cortex-A53).
Exynos5433 supports PSCI (Power State Coordination Interface) v0.1.

This patch includes following Device Tree nodes to support Exynos5433 SoC:
1. Octa cores for big.LITTLE architecture
- Cortex-A53 LITTLE Quad-core
- Cortex-A57 big Quad-core
- Supporting PSCI v0.1

2. Clock controller nodes
- CMU_TOP   : clocks for IMEM/FSYS/G3D/GSCL/HEVC/MSCL/G2D/MFC/PERIC/PERIS
- CMU_CPIF  : clocks for LLI (Low Latency Interface)
- CMU_MIF   : clocks for DRAM Memory Controller
- CMU_PERIC : clocks for UART/I2C/SPI/I2S/PCM/SPDIF/PWM/SLIMBUS
- CMU_PERIS : clocks for PMU/TMU/MCT/WDT/RTC/SECKEY/TZPC
- CMU_FSYS  : clocks for USB/UFS/SDMMC/TSI/PDMA
- CMU_G2D   : clocks for G2D/MDMA
- CMU_DISP  : clocks for DECON/HDMI/DSIM/MIXER
- CMU_AUD   : clocks for Cortex-A5/BUS/AUDIO
- CMU_BUS{0|1|2} : clocks for global data buses and global peripheral buses
- CMU_G3D   : clocks for 3D Graphics Engine
- CMU_GSCL  : clocks for GSCALER
- CMU_APOLLO: clocks for Cortex-A53 Quad-core processor.
- CMU_ATLAS : clocks for Cortex-A57 Quad-core processor,
              CoreSight and L2 cache controller.
- CMU_MSCL  : clocks for M2M (Memory to Memory) scaler and JPEG IPs.
- CMU_MFC   : clocks for MFC (Multi-Format Codec) IP.
- CMU_HEVC  : clocks for HEVC(High Efficiency Video Codec) decoder IP.
- CMU_ISP   : clocks for FIMC-ISP/DRC/SCLC/DIS/3DNR IPs.
- CMU_CAM0  : clocks for MIPI_CSIS{0|1}/FIMC_LITE_{A|B|D}/FIMC_3AA{0|1} IPs.
- CMU_CAM1  : clocks for COrtex-A5/MIPI_CSIS2/FIMC_LITE_C/FIMC-FD IPs.

3. Pinctrl nodes for GPIO
- alive/aud/cpif/ese/finger/fsys/imem/nfc/peric/touch pad

4. Timers
- ARM architecture timer (armv8-timer)
- MCT (Multi Core Timer) timer

5. Interrupt controller (GIC-400)

6. BUS devices
- HS-I2C (High-Speed I2C) device
- SPI (Serial Peripheral Interface) device

7. Sound devices
- I2S bus
- LPASS (Low Power Audio Subsystem)

8. Power management devices
- CPUFREQ for for Cortex-A53/A57
- TMU (Thermal Management Unit) for Cortex-A53/A57, G3D, ISP

9. Display controller devices
- DECON (Display and enhancement controller) for panel output
- DSI (Display Serial Interface)
- MIC (Mobile Image Compressor)

10. USB
- USB 3.0 DRD (Dual Role Device) controller
- USB 3.0 Host controller

11. Storage devices
- MSHC (Mobile Storage Host Controller)

12. Misc devices
- UART devices
- ADC (Analog Digital Converter)
- PWM (Pulse Width Modulation)
- ADMA (Advanced DMA) and PDMA (Peripheral DMA)

Signed-off-by: default avatarChanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: default avatarJaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: default avatarSeung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: default avatarJoonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
Signed-off-by: default avatarJonghwa Lee <jonghwa3.lee@samsung.com>
Signed-off-by: default avatarBeomho Seo <beomho.seo@samsung.com>
Signed-off-by: default avatarJaewon Kim <jaewon02.kim@samsung.com>
Signed-off-by: default avatarHyungwon Hwang <human.hwang@samsung.com>
Signed-off-by: default avatarInha Song <ideal.song@samsung.com>
Signed-off-by: default avatarIngi kim <ingi2.kim@samsung.com>
Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: default avatarAndrzej Hajda <a.hajda@samsung.com>
Signed-off-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
Reviewed-by: default avatarJavier Martinez Canillas <javier@osg.samsung.com>
Tested-by: default avatarAndi Shyti <andi.shyti@samsung.com>
Signed-off-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
parent 1001354c
Loading
Loading
Loading
Loading
+794 −0
Original line number Diff line number Diff line
/*
 * Samsung's Exynos5433 SoC pin-mux and pin-config device tree source
 *
 * Copyright (c) 2016 Samsung Electronics Co., Ltd.
 * Chanwoo Choi <cw00.choi@samsung.com>
 *
 * Samsung's Exynos5433 SoC pin-mux and pin-config options are listed as device
 * tree nodes are listed in this file.
 *
 * 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.
 */

#define PIN_PULL_NONE		0
#define PIN_PULL_DOWN		1
#define PIN_PULL_UP		3

#define PIN_DRV_LV1		0
#define PIN_DRV_LV2		2
#define PIN_DRV_LV3		1
#define PIN_DRV_LV4		3

#define PIN_IN			0
#define PIN_OUT			1
#define PIN_FUNC1		2

#define PIN(_func, _pin, _pull, _drv)			\
	_pin {						\
		samsung,pins = #_pin;			\
		samsung,pin-function = <PIN_ ##_func>;	\
		samsung,pin-pud = <PIN_PULL_ ##_pull>;	\
		samsung,pin-drv = <PIN_DRV_ ##_drv>;	\
	}

&pinctrl_alive {
	gpa0: gpa0 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		interrupt-parent = <&gic>;
		interrupts = <GIC_SPI 0 0>, <GIC_SPI 1 0>, <GIC_SPI 2 0>,
			<GIC_SPI 3 0>, <GIC_SPI 4 0>, <GIC_SPI 5 0>,
			<GIC_SPI 6 0>, <GIC_SPI 7 0>;
		#interrupt-cells = <2>;
	};

	gpa1: gpa1 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		interrupt-parent = <&gic>;
		interrupts = <GIC_SPI 8 0>, <GIC_SPI 9 0>, <GIC_SPI 10 0>,
			<GIC_SPI 11 0>, <GIC_SPI 12 0>, <GIC_SPI 13 0>,
			<GIC_SPI 14 0>, <GIC_SPI 15 0>;
		#interrupt-cells = <2>;
	};

	gpa2: gpa2 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpa3: gpa3 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpf1: gpf1 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpf2: gpf2 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpf3: gpf3 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpf4: gpf4 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpf5: gpf5 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};
};

&pinctrl_aud {
	gpz0: gpz0 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpz1: gpz1 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	i2s0_bus: i2s0-bus {
		samsung,pins = "gpz0-0", "gpz0-1", "gpz0-2", "gpz0-3",
				"gpz0-4", "gpz0-5", "gpz0-6";
		samsung,pin-function = <2>;
		samsung,pin-pud = <1>;
		samsung,pin-drv = <0>;
	};

	pcm0_bus: pcm0-bus {
		samsung,pins = "gpz1-0", "gpz1-1", "gpz1-2", "gpz1-3";
		samsung,pin-function = <3>;
		samsung,pin-pud = <1>;
		samsung,pin-drv = <0>;
	};

	uart_aud_bus: uart-aud-bus {
		samsung,pins = "gpz1-3", "gpz1-2", "gpz1-1", "gpz1-0";
		samsung,pin-function = <2>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <0>;
	};
};

&pinctrl_cpif {
	gpv6: gpv6 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};
};

&pinctrl_ese {
	gpj2: gpj2 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};
};

&pinctrl_finger {
	gpd5: gpd5 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	spi2_bus: spi2-bus {
		samsung,pins = "gpd5-0", "gpd5-2", "gpd5-3";
		samsung,pin-function = <2>;
		samsung,pin-pud = <3>;
		samsung,pin-drv = <0>;
	};

	hs_i2c6_bus: hs-i2c6-bus {
		samsung,pins = "gpd5-3", "gpd5-2";
		samsung,pin-function = <4>;
		samsung,pin-pud = <3>;
		samsung,pin-drv = <0>;
	};
};

&pinctrl_fsys {
	gph1: gph1 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpr4: gpr4 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpr0: gpr0 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpr1: gpr1 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpr2: gpr2 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpr3: gpr3 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	sd0_clk: sd0-clk {
		samsung,pins = "gpr0-0";
		samsung,pin-function = <2>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <3>;
	};

	sd0_cmd: sd0-cmd {
		samsung,pins = "gpr0-1";
		samsung,pin-function = <2>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <3>;
	};

	sd0_rdqs: sd0-rdqs {
		samsung,pins = "gpr0-2";
		samsung,pin-function = <2>;
		samsung,pin-pud = <1>;
		samsung,pin-drv = <3>;
	};

	sd0_qrdy: sd0-qrdy {
		samsung,pins = "gpr0-3";
		samsung,pin-function = <2>;
		samsung,pin-pud = <1>;
		samsung,pin-drv = <3>;
	};

	sd0_bus1: sd0-bus-width1 {
		samsung,pins = "gpr1-0";
		samsung,pin-function = <2>;
		samsung,pin-pud = <3>;
		samsung,pin-drv = <3>;
	};

	sd0_bus4: sd0-bus-width4 {
		samsung,pins = "gpr1-1", "gpr1-2", "gpr1-3";
		samsung,pin-function = <2>;
		samsung,pin-pud = <3>;
		samsung,pin-drv = <3>;
	};

	sd0_bus8: sd0-bus-width8 {
		samsung,pins = "gpr1-4", "gpr1-5", "gpr1-6", "gpr1-7";
		samsung,pin-function = <2>;
		samsung,pin-pud = <3>;
		samsung,pin-drv = <3>;
	};

	sd1_clk: sd1-clk {
		samsung,pins = "gpr2-0";
		samsung,pin-function = <2>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <3>;
	};

	sd1_cmd: sd1-cmd {
		samsung,pins = "gpr2-1";
		samsung,pin-function = <2>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <3>;
	};

	sd1_bus1: sd1-bus-width1 {
		samsung,pins = "gpr3-0";
		samsung,pin-function = <2>;
		samsung,pin-pud = <3>;
		samsung,pin-drv = <3>;
	};

	sd1_bus4: sd1-bus-width4 {
		samsung,pins = "gpr3-1", "gpr3-2", "gpr3-3";
		samsung,pin-function = <2>;
		samsung,pin-pud = <3>;
		samsung,pin-drv = <3>;
	};

	sd1_bus8: sd1-bus-width8 {
		samsung,pins = "gpr3-4", "gpr3-5", "gpr3-6", "gpr3-7";
		samsung,pin-function = <2>;
		samsung,pin-pud = <3>;
		samsung,pin-drv = <3>;
	};

	pcie_bus: pcie_bus {
		samsung,pins = "gpr3-4", "gpr3-5", "gpr3-6", "gpr3-7";
		samsung,pin-function = <3>;
		samsung,pin-pud = <3>;
	};

	sd2_clk: sd2-clk {
		samsung,pins = "gpr4-0";
		samsung,pin-function = <2>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <3>;
	};

	sd2_cmd: sd2-cmd {
		samsung,pins = "gpr4-1";
		samsung,pin-function = <2>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <3>;
	};

	sd2_cd: sd2-cd {
		samsung,pins = "gpr4-2";
		samsung,pin-function = <2>;
		samsung,pin-pud = <3>;
		samsung,pin-drv = <3>;
	};

	sd2_bus1: sd2-bus-width1 {
		samsung,pins = "gpr4-3";
		samsung,pin-function = <2>;
		samsung,pin-pud = <3>;
		samsung,pin-drv = <3>;
	};

	sd2_bus4: sd2-bus-width4 {
		samsung,pins = "gpr4-4", "gpr4-5", "gpr4-6";
		samsung,pin-function = <2>;
		samsung,pin-pud = <3>;
		samsung,pin-drv = <3>;
	};

	sd2_clk_output: sd2-clk-output {
		samsung,pins = "gpr4-0";
		samsung,pin-function = <1>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <2>;
	};

	sd2_cmd_output: sd2-cmd-output {
		samsung,pins = "gpr4-1";
		samsung,pin-function = <1>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <2>;
	};
};

&pinctrl_imem {
	gpf0: gpf0 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};
};

&pinctrl_nfc {
	gpj0: gpj0 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	hs_i2c4_bus: hs-i2c4-bus {
		samsung,pins = "gpj0-1", "gpj0-0";
		samsung,pin-function = <4>;
		samsung,pin-pud = <3>;
		samsung,pin-drv = <0>;
	};
};

&pinctrl_peric {
	gpv7: gpv7 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpb0: gpb0 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpc0: gpc0 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpc1: gpc1 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpc2: gpc2 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpc3: gpc3 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpg0: gpg0 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpd0: gpd0 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpd1: gpd1 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpd2: gpd2 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpd4: gpd4 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpd8: gpd8 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpd6: gpd6 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpd7: gpd7 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpg1: gpg1 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpg2: gpg2 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpg3: gpg3 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	hs_i2c8_bus: hs-i2c8-bus {
		samsung,pins = "gpb0-1", "gpb0-0";
		samsung,pin-function = <4>;
		samsung,pin-pud = <3>;
		samsung,pin-drv = <0>;
	};

	hs_i2c9_bus: hs-i2c9-bus {
		samsung,pins = "gpb0-3", "gpb0-2";
		samsung,pin-function = <4>;
		samsung,pin-pud = <3>;
		samsung,pin-drv = <0>;
	};

	i2s1_bus: i2s1-bus {
		samsung,pins = "gpd4-0", "gpd4-1", "gpd4-2",
				"gpd4-3", "gpd4-4";
		samsung,pin-function = <2>;
		samsung,pin-pud = <1>;
		samsung,pin-drv = <0>;
	};

	pcm1_bus: pcm1-bus {
		samsung,pins = "gpd4-0", "gpd4-1", "gpd4-2",
				"gpd4-3", "gpd4-4";
		samsung,pin-function = <3>;
		samsung,pin-pud = <1>;
		samsung,pin-drv = <0>;
	};

	spdif_bus: spdif-bus {
		samsung,pins = "gpd4-3", "gpd4-4";
		samsung,pin-function = <4>;
		samsung,pin-pud = <1>;
		samsung,pin-drv = <0>;
	};

	fimc_is_spi_pin0: fimc-is-spi-pin0 {
		samsung,pins = "gpc3-3", "gpc3-2", "gpc3-1", "gpc3-0";
		samsung,pin-function = <2>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <0>;
	};

	fimc_is_spi_pin1: fimc-is-spi-pin1 {
		samsung,pins = "gpc3-7", "gpc3-6", "gpc3-5", "gpc3-4";
		samsung,pin-function = <2>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <0>;
	};

	uart0_bus: uart0-bus {
		samsung,pins = "gpd0-3", "gpd0-2", "gpd0-1", "gpd0-0";
		samsung,pin-function = <2>;
		samsung,pin-pud = <0>;
	};

	hs_i2c2_bus: hs-i2c2-bus {
		samsung,pins = "gpd0-3", "gpd0-2";
		samsung,pin-function = <3>;
		samsung,pin-pud = <3>;
		samsung,pin-drv = <0>;
	};

	uart2_bus: uart2-bus {
		samsung,pins = "gpd1-5", "gpd1-4";
		samsung,pin-function = <2>;
		samsung,pin-pud = <0>;
	};

	uart1_bus: uart1-bus {
		samsung,pins = "gpd1-3", "gpd1-2", "gpd1-1", "gpd1-0";
		samsung,pin-function = <2>;
		samsung,pin-pud = <0>;
	};

	hs_i2c3_bus: hs-i2c3-bus {
		samsung,pins = "gpd1-3", "gpd1-2";
		samsung,pin-function = <3>;
		samsung,pin-pud = <3>;
		samsung,pin-drv = <0>;
	};

	hs_i2c0_bus: hs-i2c0-bus {
		samsung,pins = "gpd2-1", "gpd2-0";
		samsung,pin-function = <2>;
		samsung,pin-pud = <3>;
		samsung,pin-drv = <0>;
	};

	hs_i2c1_bus: hs-i2c1-bus {
		samsung,pins = "gpd2-3", "gpd2-2";
		samsung,pin-function = <2>;
		samsung,pin-pud = <3>;
		samsung,pin-drv = <0>;
	};

	pwm0_out: pwm0-out {
		samsung,pins = "gpd2-4";
		samsung,pin-function = <2>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <0>;
	};

	pwm1_out: pwm1-out {
		samsung,pins = "gpd2-5";
		samsung,pin-function = <2>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <0>;
	};

	pwm2_out: pwm2-out {
		samsung,pins = "gpd2-6";
		samsung,pin-function = <2>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <0>;
	};

	pwm3_out: pwm3-out {
		samsung,pins = "gpd2-7";
		samsung,pin-function = <2>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <0>;
	};

	spi1_bus: spi1-bus {
		samsung,pins = "gpd6-2", "gpd6-4", "gpd6-5";
		samsung,pin-function = <2>;
		samsung,pin-pud = <3>;
		samsung,pin-drv = <0>;
	};

	hs_i2c7_bus: hs-i2c7-bus {
		samsung,pins = "gpd2-7", "gpd2-6";
		samsung,pin-function = <4>;
		samsung,pin-pud = <3>;
		samsung,pin-drv = <0>;
	};

	spi0_bus: spi0-bus {
		samsung,pins = "gpd8-0", "gpd6-0", "gpd6-1";
		samsung,pin-function = <2>;
		samsung,pin-pud = <3>;
		samsung,pin-drv = <0>;
	};

	hs_i2c10_bus: hs-i2c10-bus {
		samsung,pins = "gpg3-1", "gpg3-0";
		samsung,pin-function = <4>;
		samsung,pin-pud = <3>;
		samsung,pin-drv = <0>;
	};

	hs_i2c11_bus: hs-i2c11-bus {
		samsung,pins = "gpg3-3", "gpg3-2";
		samsung,pin-function = <4>;
		samsung,pin-pud = <3>;
		samsung,pin-drv = <0>;
	};

	spi3_bus: spi3-bus {
		samsung,pins = "gpg3-4", "gpg3-6", "gpg3-7";
		samsung,pin-function = <3>;
		samsung,pin-pud = <3>;
		samsung,pin-drv = <0>;
	};

	spi4_bus: spi4-bus {
		samsung,pins = "gpv7-1", "gpv7-3", "gpv7-4";
		samsung,pin-function = <3>;
		samsung,pin-pud = <3>;
		samsung,pin-drv = <0>;
	};

	fimc_is_uart: fimc-is-uart {
		samsung,pins = "gpc1-1", "gpc0-7";
		samsung,pin-function = <3>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <0>;
	};

	fimc_is_ch0_i2c: fimc-is-ch0_i2c {
		samsung,pins = "gpc2-1", "gpc2-0";
		samsung,pin-function = <2>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <0>;
	};

	fimc_is_ch0_mclk: fimc-is-ch0_mclk {
		samsung,pins = "gpd7-0";
		samsung,pin-function = <2>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <0>;
	};

	fimc_is_ch1_i2c: fimc-is-ch1-i2c {
		samsung,pins = "gpc2-3", "gpc2-2";
		samsung,pin-function = <2>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <0>;
	};

	fimc_is_ch1_mclk: fimc-is-ch1-mclk {
		samsung,pins = "gpd7-1";
		samsung,pin-function = <2>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <0>;
	};

	fimc_is_ch2_i2c: fimc-is-ch2-i2c {
		samsung,pins = "gpc2-5", "gpc2-4";
		samsung,pin-function = <2>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <0>;
	};

	fimc_is_ch2_mclk: fimc-is-ch2-mclk {
		samsung,pins = "gpd7-2";
		samsung,pin-function = <2>;
		samsung,pin-pud = <0>;
		samsung,pin-drv = <0>;
	};
};

&pinctrl_touch {
	gpj1: gpj1 {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		#interrupt-cells = <2>;
	};

	hs_i2c5_bus: hs-i2c5-bus {
		samsung,pins = "gpj1-1", "gpj1-0";
		samsung,pin-function = <4>;
		samsung,pin-pud = <3>;
		samsung,pin-drv = <0>;
	};
};
+23 −0
Original line number Diff line number Diff line
/*
 * Device tree sources for Exynos5433 TMU sensor configuration
 *
 * Copyright (c) 2016 Jonghwa Lee <jonghwa3.lee@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 <dt-bindings/thermal/thermal_exynos.h>

#thermal-sensor-cells = <0>;
samsung,tmu_gain = <8>;
samsung,tmu_reference_voltage = <23>;
samsung,tmu_noise_cancel_mode = <4>;
samsung,tmu_efuse_value = <75>;
samsung,tmu_min_efuse_value = <40>;
samsung,tmu_max_efuse_value = <150>;
samsung,tmu_first_point_trim = <25>;
samsung,tmu_second_point_trim = <85>;
samsung,tmu_default_temp_offset = <50>;
samsung,tmu_mux_addr = <6>;
+22 −0
Original line number Diff line number Diff line
/*
 * Device tree sources for Exynos5433 TMU sensor configuration
 *
 * Copyright (c) 2016 Chanwoo Choi <cw00.choi@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 <dt-bindings/thermal/thermal_exynos.h>

#thermal-sensor-cells = <0>;
samsung,tmu_gain = <8>;
samsung,tmu_reference_voltage = <16>;
samsung,tmu_noise_cancel_mode = <4>;
samsung,tmu_efuse_value = <75>;
samsung,tmu_min_efuse_value = <40>;
samsung,tmu_max_efuse_value = <150>;
samsung,tmu_first_point_trim = <25>;
samsung,tmu_second_point_trim = <85>;
samsung,tmu_default_temp_offset = <50>;
+296 −0
Original line number Diff line number Diff line
/*
 * Device tree sources for Exynos5433 thermal zone
 *
 * Copyright (c) 2016 Chanwoo Choi <cw00.choi@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 <dt-bindings/thermal/thermal.h>

/ {
thermal-zones {
	atlas0_thermal: atlas0-thermal {
		thermal-sensors = <&tmu_atlas0>;
		polling-delay-passive = <0>;
		polling-delay = <0>;
		trips {
			atlas0_alert_0: atlas0-alert-0 {
				temperature = <65000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			atlas0_alert_1: atlas0-alert-1 {
				temperature = <70000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			atlas0_alert_2: atlas0-alert-2 {
				temperature = <75000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			atlas0_alert_3: atlas0-alert-3 {
				temperature = <80000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			atlas0_alert_4: atlas0-alert-4 {
				temperature = <85000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			atlas0_alert_5: atlas0-alert-5 {
				temperature = <90000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			atlas0_alert_6: atlas0-alert-6 {
				temperature = <95000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
		};

		cooling-maps {
			map0 {
				/* Set maximum frequency as 1800MHz  */
				trip = <&atlas0_alert_0>;
				cooling-device = <&cpu4 1 2>;
			};
			map1 {
				/* Set maximum frequency as 1700MHz  */
				trip = <&atlas0_alert_1>;
				cooling-device = <&cpu4 2 3>;
			};
			map2 {
				/* Set maximum frequency as 1600MHz  */
				trip = <&atlas0_alert_2>;
				cooling-device = <&cpu4 3 4>;
			};
			map3 {
				/* Set maximum frequency as 1500MHz  */
				trip = <&atlas0_alert_3>;
				cooling-device = <&cpu4 4 5>;
			};
			map4 {
				/* Set maximum frequency as 1400MHz  */
				trip = <&atlas0_alert_4>;
				cooling-device = <&cpu4 5 7>;
			};
			map5 {
				/* Set maximum frequencyas 1200MHz  */
				trip = <&atlas0_alert_5>;
				cooling-device = <&cpu4 7 9>;
			};
			map6 {
				/* Set maximum frequency as 1000MHz  */
				trip = <&atlas0_alert_6>;
				cooling-device = <&cpu4 9 14>;
			};
		};
	};

	atlas1_thermal: atlas1-thermal {
		thermal-sensors = <&tmu_atlas1>;
		polling-delay-passive = <0>;
		polling-delay = <0>;
		trips {
			atlas1_alert_0: atlas1-alert-0 {
				temperature = <65000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			atlas1_alert_1: atlas1-alert-1 {
				temperature = <70000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			atlas1_alert_2: atlas1-alert-2 {
				temperature = <75000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			atlas1_alert_3: atlas1-alert-3 {
				temperature = <80000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			atlas1_alert_4: atlas1-alert-4 {
				temperature = <85000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			atlas1_alert_5: atlas1-alert-5 {
				temperature = <90000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			atlas1_alert_6: atlas1-alert-6 {
				temperature = <95000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
		};
	};

	g3d_thermal: g3d-thermal {
		thermal-sensors = <&tmu_g3d>;
		polling-delay-passive = <0>;
		polling-delay = <0>;
		trips {
			g3d_alert_0: g3d-alert-0 {
				temperature = <70000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			g3d_alert_1: g3d-alert-1 {
				temperature = <75000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			g3d_alert_2: g3d-alert-2 {
				temperature = <80000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			g3d_alert_3: g3d-alert-3 {
				temperature = <85000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			g3d_alert_4: g3d-alert-4 {
				temperature = <90000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			g3d_alert_5: g3d-alert-5 {
				temperature = <95000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			g3d_alert_6: g3d-alert-6 {
				temperature = <100000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
		};
	};

	apollo_thermal: apollo-thermal {
		thermal-sensors = <&tmu_apollo>;
		polling-delay-passive = <0>;
		polling-delay = <0>;
		trips {
			apollo_alert_0: apollo-alert-0 {
				temperature = <65000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			apollo_alert_1: apollo-alert-1 {
				temperature = <70000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			apollo_alert_2: apollo-alert-2 {
				temperature = <75000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			apollo_alert_3: apollo-alert-3 {
				temperature = <80000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			apollo_alert_4: apollo-alert-4 {
				temperature = <85000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			apollo_alert_5: apollo-alert-5 {
				temperature = <90000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			apollo_alert_6: apollo-alert-6 {
				temperature = <95000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
		};

		cooling-maps {
			map0 {
				/* Set maximum frequency as 1200MHz  */
				trip = <&apollo_alert_2>;
				cooling-device = <&cpu0 1 2>;
			};
			map1 {
				/* Set maximum frequency as 1100MHz  */
				trip = <&apollo_alert_3>;
				cooling-device = <&cpu0 2 3>;
			};
			map2 {
				/* Set maximum frequency as 1000MHz  */
				trip = <&apollo_alert_4>;
				cooling-device = <&cpu0 3 4>;
			};
			map3 {
				/* Set maximum frequency as 900MHz  */
				trip = <&apollo_alert_5>;
				cooling-device = <&cpu0 4 5>;
			};
			map4 {
				/* Set maximum frequency as 800MHz  */
				trip = <&apollo_alert_6>;
				cooling-device = <&cpu0 5 9>;
			};
		};
	};

	isp_thermal: isp-thermal {
		thermal-sensors = <&tmu_isp>;
		polling-delay-passive = <0>;
		polling-delay = <0>;
		trips {
			isp_alert_0: isp-alert-0 {
				temperature = <80000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			isp_alert_1: isp-alert-1 {
				temperature = <85000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			isp_alert_2: isp-alert-2 {
				temperature = <90000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			isp_alert_3: isp-alert-3 {
				temperature = <95000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			isp_alert_4: isp-alert-4 {
				temperature = <100000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			isp_alert_5: isp-alert-5 {
				temperature = <105000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
			isp_alert_6: isp-alert-6 {
				temperature = <110000>;	/* millicelsius */
				hysteresis = <1000>;	/* millicelsius */
				type = "active";
			};
		};
	};
};
};
+1356 −0

File added.

Preview size limit exceeded, changes collapsed.