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

Commit 96bda115 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 's5pv210-dt' of...

Merge tag 's5pv210-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/soc

Merge "Samsung S5PV210 DT support for v3.17" from Kukjin Kim:

- support common clock framework for s5pv210 clock
- add generic PHY driver on s5pv210 to support it via DT
- add dt support for s5pv210-goni, smdkc110, smdkv210 and torbreck boards
- remove board files from mach-s5pv210 and unused codes
- enable multiplatform for s5pv210

* tag 's5pv210-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung

:
  clk: samsung: s5pv210: Remove legacy board support
  ARM: SAMSUNG: Remove remaining legacy code
  gpio: samsung: Remove legacy support of S5PV210
  ARM: S5PV210: Enable multi-platform build support
  cpufreq: s5pv210: Make the driver multiplatform aware
  ARM: S5PV210: Register cpufreq platform device
  ARM: S5PV210: move debug-macro.S into the common space
  ARM: S5PV210: Untie PM support from legacy code
  ARM: S5PV210: Remove support for board files
  ARM: dts: Add Device tree for s5pc110/s5pv210 boards
  ARM: dts: Add Device tree for s5pv210 SoC
  ARM: S5PV210: Add board file for boot using Device Tree
  phy: Add support for S5PV210 to the Exynos USB 2.0 PHY driver
  clk: samsung: Add S5PV210 Audio Subsystem clock driver
  ARM: SAMSUNG: Remove legacy clock code
  serial: samsung: Remove support for legacy clock code
  cpufreq: s3c24xx: Remove some dead code
  ARM: S5PV210: Migrate clock handling to Common Clock Framework
  clk: samsung: Add clock driver for S5PV210 and compatible SoCs

Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 8e5655cd f1ff4745
Loading
Loading
Loading
Loading
+53 −0
Original line number Diff line number Diff line
* Samsung Audio Subsystem Clock Controller

The Samsung Audio Subsystem clock controller generates and supplies clocks
to Audio Subsystem block available in the S5PV210 and compatible SoCs.

Required Properties:

- compatible: should be "samsung,s5pv210-audss-clock".
- reg: physical base address and length of the controller's register set.

- #clock-cells: should be 1.

- clocks:
  - hclk: AHB bus clock of the Audio Subsystem.
  - xxti: Optional fixed rate PLL reference clock, parent of mout_audss. If
    not specified (i.e. xusbxti is used for PLL reference), it is fixed to
    a clock named "xxti".
  - fout_epll: Input PLL to the AudioSS block, parent of mout_audss.
  - iiscdclk0: Optional external i2s clock, parent of mout_i2s. If not
    specified, it is fixed to a clock named "iiscdclk0".
  - sclk_audio0: Audio bus clock, parent of mout_i2s.

- clock-names: Aliases for the above clocks. They should be "hclk",
  "xxti", "fout_epll", "iiscdclk0", and "sclk_audio0" respectively.

All available clocks are defined as preprocessor macros in
dt-bindings/clock/s5pv210-audss-clk.h header and can be used in device
tree sources.

Example: Clock controller node.

	clk_audss: clock-controller@c0900000 {
		compatible = "samsung,s5pv210-audss-clock";
		reg = <0xc0900000 0x1000>;
		#clock-cells = <1>;
		clock-names = "hclk", "xxti",
				"fout_epll", "sclk_audio0";
		clocks = <&clocks DOUT_HCLKP>, <&xxti>,
				<&clocks FOUT_EPLL>, <&clocks SCLK_AUDIO0>;
	};

Example: I2S controller node that consumes the clock generated by the clock
	 controller. Refer to the standard clock bindings for information
         about 'clocks' and 'clock-names' property.

	i2s0: i2s@03830000 {
		/* ... */
		clock-names = "iis", "i2s_opclk0",
				"i2s_opclk1";
		clocks = <&clk_audss CLK_I2S>, <&clk_audss CLK_I2S>,
				<&clk_audss CLK_DOUT_AUD_BUS>;
		/* ... */
	};
+78 −0
Original line number Diff line number Diff line
* Samsung S5P6442/S5PC110/S5PV210 Clock Controller

Samsung S5P6442, S5PC110 and S5PV210 SoCs contain integrated clock
controller, which generates and supplies clock to various controllers
within the SoC.

Required Properties:

- compatible: should be one of following:
	- "samsung,s5pv210-clock" : for clock controller of Samsung
	  S5PC110/S5PV210 SoCs,
	- "samsung,s5p6442-clock" : for clock controller of Samsung
	  S5P6442 SoC.

- reg: physical base address of the controller and length of memory mapped
  region.

- #clock-cells: should be 1.

All available clocks are defined as preprocessor macros in
dt-bindings/clock/s5pv210.h header and can be used in device tree sources.

External clocks:

There are several clocks that are generated outside the SoC. It is expected
that they are defined using standard clock bindings with following
clock-output-names:
 - "xxti": external crystal oscillator connected to XXTI and XXTO pins of
the SoC,
 - "xusbxti": external crystal oscillator connected to XUSBXTI and XUSBXTO
pins of the SoC,

A subset of above clocks available on given board shall be specified in
board device tree, including the system base clock, as selected by XOM[0]
pin of the SoC. Refer to generic fixed rate clock bindings
documentation[1] for more information how to specify these clocks.

[1] Documentation/devicetree/bindings/clock/fixed-clock.txt

Example: Clock controller node:

	clock: clock-controller@7e00f000 {
		compatible = "samsung,s5pv210-clock";
		reg = <0x7e00f000 0x1000>;
		#clock-cells = <1>;
	};

Example: Required external clocks:

	xxti: clock-xxti {
		compatible = "fixed-clock";
		clock-output-names = "xxti";
		clock-frequency = <24000000>;
		#clock-cells = <0>;
	};

	xusbxti: clock-xusbxti {
		compatible = "fixed-clock";
		clock-output-names = "xusbxti";
		clock-frequency = <24000000>;
		#clock-cells = <0>;
	};

Example: UART controller node that consumes the clock generated by the clock
  controller (refer to the standard clock bindings for information about
  "clocks" and "clock-names" properties):

	uart0: serial@e2900000 {
		compatible = "samsung,s5pv210-uart";
		reg = <0xe2900000 0x400>;
		interrupt-parent = <&vic1>;
		interrupts = <10>;
		clock-names = "uart", "clk_uart_baud0",
				"clk_uart_baud1";
		clocks = <&clocks UART0>, <&clocks UART0>,
				<&clocks SCLK_UART0>;
		status = "disabled";
	};
+1 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ Samsung S5P/EXYNOS SoC series USB PHY

Required properties:
- compatible : should be one of the listed compatibles:
	- "samsung,s5pv210-usb2-phy"
	- "samsung,exynos4210-usb2-phy"
	- "samsung,exynos4x12-usb2-phy"
	- "samsung,exynos5250-usb2-phy"
+2 −20
Original line number Diff line number Diff line
@@ -744,25 +744,6 @@ config ARCH_S3C64XX
	help
	  Samsung S3C64XX series based systems

config ARCH_S5PV210
	bool "Samsung S5PV210/S5PC110"
	select ARCH_HAS_HOLES_MEMORYMODEL
	select ARCH_SPARSEMEM_ENABLE
	select ATAGS
	select CLKDEV_LOOKUP
	select CLKSRC_SAMSUNG_PWM
	select CPU_V7
	select GENERIC_CLOCKEVENTS
	select GPIO_SAMSUNG
	select HAVE_S3C2410_I2C if I2C
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
	select HAVE_S3C_RTC if RTC_CLASS
	select NEED_MACH_GPIO_H
	select NEED_MACH_MEMORY_H
	select SAMSUNG_ATAGS
	help
	  Samsung S5PV210/S5PC110 series based systems

config ARCH_DAVINCI
	bool "TI DaVinci"
	select ARCH_HAS_HOLES_MEMORYMODEL
@@ -1500,7 +1481,8 @@ config ARM_PSCI
config ARCH_NR_GPIO
	int
	default 1024 if ARCH_SHMOBILE || ARCH_TEGRA
	default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5 || SOC_DRA7XX || ARCH_S3C24XX || ARCH_S3C64XX
	default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5 || \
		SOC_DRA7XX || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210
	default 416 if ARCH_SUNXI
	default 392 if ARCH_U8500
	default 352 if ARCH_VT8500
+10 −2
Original line number Diff line number Diff line
@@ -617,6 +617,7 @@ choice
		depends on PLAT_SAMSUNG
		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
		select DEBUG_S3C24XX_UART if ARCH_S3C24XX
		select DEBUG_S5PV210_UART if ARCH_S5PV210
		bool "Use Samsung S3C UART 0 for low-level debug"
		help
		  Say Y here if you want the debug print routines to direct
@@ -627,6 +628,7 @@ choice
		depends on PLAT_SAMSUNG
		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
		select DEBUG_S3C24XX_UART if ARCH_S3C24XX
		select DEBUG_S5PV210_UART if ARCH_S5PV210
		bool "Use Samsung S3C UART 1 for low-level debug"
		help
		  Say Y here if you want the debug print routines to direct
@@ -637,6 +639,7 @@ choice
		depends on PLAT_SAMSUNG
		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
		select DEBUG_S3C24XX_UART if ARCH_S3C24XX
		select DEBUG_S5PV210_UART if ARCH_S5PV210
		bool "Use Samsung S3C UART 2 for low-level debug"
		help
		  Say Y here if you want the debug print routines to direct
@@ -644,8 +647,9 @@ choice
		  by the boot-loader before use.

	config DEBUG_S3C_UART3
		depends on PLAT_SAMSUNG && ARCH_EXYNOS
		select DEBUG_EXYNOS_UART
		depends on PLAT_SAMSUNG && (ARCH_EXYNOS || ARCH_S5PV210)
		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
		select DEBUG_S5PV210_UART if ARCH_S5PV210
		bool "Use Samsung S3C UART 3 for low-level debug"
		help
		  Say Y here if you want the debug print routines to direct
@@ -945,6 +949,9 @@ config DEBUG_S3C2410_UART
config DEBUG_S3C24XX_UART
	bool

config DEBUG_S5PV210_UART
	bool

config DEBUG_OMAP2PLUS_UART
	bool
	depends on ARCH_OMAP2PLUS
@@ -1005,6 +1012,7 @@ config DEBUG_LL_INCLUDE
	default "debug/msm.S" if DEBUG_MSM_UART || DEBUG_QCOM_UARTDM
	default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
	default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART
	default "debug/s5pv210.S" if DEBUG_S5PV210_UART
	default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1
	default "debug/sti.S" if DEBUG_STI_UART
	default "debug/tegra.S" if DEBUG_TEGRA_UART
Loading