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

Commit d408c5dc authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge branch 'next/dt-samsung-2' of...

Merge branch 'next/dt-samsung-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt

From Kukjin Kim:
Here is second Samsung DT stuff for v3.8.

This is including power domain DT support for exynos and Google ARM
Chromebook, Snow board and exynos4210-origen updates.

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

:
  ARM: dts: Use drive strength 3 for SD pins for exynos4
  ARM: dts: Set up power domains for exynos4
  ARM: EXYNOS: Bind devices to power domains using DT
  ARM: EXYNOS: Fix power domain name initialization
  ARM: EXYNOS: Detect power domain state on registration from DT
  ARM: dts: Add vmmc fixed voltage regulator for exynos4210-origen
  ARM: dts: Update sdhci nodes for current bindings for exynos4210-origen
  ARM: dts: Update for pinctrl-samsung driver for exynos4210-origen
  ARM: dts: Split memory sections for exynos4210-origen
  ARM: EXYNOS: add all i2c busses to auxdata for DT
  ARM: dts: Add aliases for i2c controller for exynos4
  ARM: dts: Add board dts file for Snow board (ARM Chromebook)
  ARM: dts: Move the dwmmc aliases from smdk5250 dts to exynos

Add/add conflicts resolved in arch/arm/boot/dts/exynos5250-smdk5250.dts
and arch/arm/mach-exynos/mach-exynos5-dt.c.

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 8d2282a7 d80162ec
Loading
Loading
Loading
Loading
+11 −4
Original line number Diff line number Diff line
@@ -4,14 +4,13 @@ Exynos processors include support for multiple power domains which are used
to gate power to one or more peripherals on the processor.

Required Properties:
- compatiable: should be one of the following.
- compatible: should be one of the following.
    * samsung,exynos4210-pd - for exynos4210 type power domain.
- reg: physical base address of the controller and length of memory mapped
    region.

Optional Properties:
- samsung,exynos4210-pd-off: Specifies that the power domain is in turned-off
    state during boot and remains to be turned-off until explicitly turned-on.
Node of a device using power domains must have a samsung,power-domain property
defined with a phandle to respective power domain.

Example:

@@ -19,3 +18,11 @@ Example:
		compatible = "samsung,exynos4210-pd";
		reg = <0x10023C00 0x10>;
	};

Example of the node using power domain:

	node {
		/* ... */
		samsung,power-domain = <&lcd0>;
		/* ... */
	};
+2 −1
Original line number Diff line number Diff line
@@ -26,7 +26,8 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \
	exynos4210-smdkv310.dtb \
	exynos4210-trats.dtb \
	exynos4412-smdk4412.dtb \
	exynos5250-smdk5250.dtb
	exynos5250-smdk5250.dtb \
	exynos5250-snow.dtb
dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
dtb-$(CONFIG_ARCH_INTEGRATOR) += integratorap.dtb \
	integratorcp.dtb
+184 −0
Original line number Diff line number Diff line
/*
 * Common device tree include for all Exynos 5250 boards based off of Daisy.
 *
 * Copyright (c) 2012 Google, Inc
 *
 * 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.
*/

/ {
	aliases {
	};

	memory {
		reg = <0x40000000 0x80000000>;
	};

	chosen {
	};

	i2c@12C60000 {
		samsung,i2c-sda-delay = <100>;
		samsung,i2c-max-bus-freq = <378000>;
		gpios = <&gpb3 0 2 3 0>,
			<&gpb3 1 2 3 0>;
	};

	i2c@12C70000 {
		samsung,i2c-sda-delay = <100>;
		samsung,i2c-max-bus-freq = <378000>;
		gpios = <&gpb3 2 2 3 0>,
			<&gpb3 3 2 3 0>;
	};

	i2c@12C80000 {
		samsung,i2c-sda-delay = <100>;
		samsung,i2c-max-bus-freq = <66000>;

		/*
		 * Disabled pullups since external part has its own pullups and
		 * double-pulling gets us out of spec in some cases.
		 */
		gpios = <&gpa0 6 3 0 0>,
			<&gpa0 7 3 0 0>;

		hdmiddc@50 {
			compatible = "samsung,exynos5-hdmiddc";
			reg = <0x50>;
		};
	};

	i2c@12C90000 {
		samsung,i2c-sda-delay = <100>;
		samsung,i2c-max-bus-freq = <66000>;
		gpios = <&gpa1 2 3 3 0>,
			<&gpa1 3 3 3 0>;
	};

	i2c@12CA0000 {
		status = "disabled";
	};

	i2c@12CB0000 {
		samsung,i2c-sda-delay = <100>;
		samsung,i2c-max-bus-freq = <66000>;
		gpios = <&gpa2 2 3 3 0>,
			<&gpa2 3 3 3 0>;
	};

	i2c@12CC0000 {
		status = "disabled";
	};

	i2c@12CD0000 {
		samsung,i2c-sda-delay = <100>;
		samsung,i2c-max-bus-freq = <66000>;
		gpios = <&gpb2 2 3 3 0>,
			<&gpb2 3 3 3 0>;
	};

	i2c@12CE0000 {
		samsung,i2c-sda-delay = <100>;
		samsung,i2c-max-bus-freq = <378000>;

		hdmiphy@38 {
			compatible = "samsung,exynos5-hdmiphy";
			reg = <0x38>;
		};
	};

	dwmmc0@12200000 {
		num-slots = <1>;
		supports-highspeed;
		broken-cd;
		fifo-depth = <0x80>;
		card-detect-delay = <200>;
		samsung,dw-mshc-ciu-div = <3>;
		samsung,dw-mshc-sdr-timing = <2 3 3>;
		samsung,dw-mshc-ddr-timing = <1 2 3>;

		slot@0 {
			reg = <0>;
			bus-width = <8>;
			gpios = <&gpc0 0 2 0 3>, <&gpc0 1 2 0 3>,
				<&gpc1 0 2 3 3>, <&gpc1 1 2 3 3>,
				<&gpc1 2 2 3 3>, <&gpc1 3 2 3 3>,
				<&gpc0 3 2 3 3>, <&gpc0 4 2 3 3>,
				<&gpc0 5 2 3 3>, <&gpc0 6 2 3 3>;
		};
	};

	dwmmc1@12210000 {
		status = "disabled";
	};

	dwmmc2@12220000 {
		num-slots = <1>;
		supports-highspeed;
		fifo-depth = <0x80>;
		card-detect-delay = <200>;
		samsung,dw-mshc-ciu-div = <3>;
		samsung,dw-mshc-sdr-timing = <2 3 3>;
		samsung,dw-mshc-ddr-timing = <1 2 3>;

		slot@0 {
			reg = <0>;
			bus-width = <4>;
			samsung,cd-pinmux-gpio = <&gpc3 2 2 3 3>;
			wp-gpios = <&gpc2 1 0 0 3>;
			gpios = <&gpc3 0 2 0 3>, <&gpc3 1 2 0 3>,
				<&gpc3 3 2 3 3>, <&gpc3 4 2 3 3>,
				<&gpc3 5 2 3 3>, <&gpc3 6 2 3 3>;
		};
	};

	dwmmc3@12230000 {
		num-slots = <1>;
		supports-highspeed;
		broken-cd;
		fifo-depth = <0x80>;
		card-detect-delay = <200>;
		samsung,dw-mshc-ciu-div = <3>;
		samsung,dw-mshc-sdr-timing = <2 3 3>;
		samsung,dw-mshc-ddr-timing = <1 2 3>;

		slot@0 {
			reg = <0>;
			bus-width = <4>;
			/* See board-specific dts files for GPIOs */
		};
	};

	spi_0: spi@12d20000 {
		status = "disabled";
	};

	spi_1: spi@12d30000 {
		gpios = <&gpa2 4 2 3 0>,
			<&gpa2 6 2 3 0>,
			<&gpa2 7 2 3 0>;
		samsung,spi-src-clk = <0>;
		num-cs = <1>;
	};

	spi_2: spi@12d40000 {
		status = "disabled";
	};

	hdmi {
		hpd-gpio = <&gpx3 7 0xf 1 3>;
	};

	gpio-keys {
		compatible = "gpio-keys";

		power {
			label = "Power";
			gpios = <&gpx1 3 0 0x10000 0>;
			linux,code = <116>; /* KEY_POWER */
			gpio-key,wakeup;
		};
	};
};
+46 −8
Original line number Diff line number Diff line
@@ -28,6 +28,44 @@
		spi0 = &spi_0;
		spi1 = &spi_1;
		spi2 = &spi_2;
		i2c0 = &i2c_0;
		i2c1 = &i2c_1;
		i2c2 = &i2c_2;
		i2c3 = &i2c_3;
		i2c4 = &i2c_4;
		i2c5 = &i2c_5;
		i2c6 = &i2c_6;
		i2c7 = &i2c_7;
	};

	pd_mfc: mfc-power-domain@10023C40 {
		compatible = "samsung,exynos4210-pd";
		reg = <0x10023C40 0x20>;
	};

	pd_g3d: g3d-power-domain@10023C60 {
		compatible = "samsung,exynos4210-pd";
		reg = <0x10023C60 0x20>;
	};

	pd_lcd0: lcd0-power-domain@10023C80 {
		compatible = "samsung,exynos4210-pd";
		reg = <0x10023C80 0x20>;
	};

	pd_tv: tv-power-domain@10023C20 {
		compatible = "samsung,exynos4210-pd";
		reg = <0x10023C20 0x20>;
	};

	pd_cam: cam-power-domain@10023C00 {
		compatible = "samsung,exynos4210-pd";
		reg = <0x10023C00 0x20>;
	};

	pd_gps: gps-power-domain@10023CE0 {
		compatible = "samsung,exynos4210-pd";
		reg = <0x10023CE0 0x20>;
	};

	gic:interrupt-controller@10490000 {
@@ -121,7 +159,7 @@
		status = "disabled";
	};

	i2c@13860000 {
	i2c_0: i2c@13860000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "samsung,s3c2440-i2c";
@@ -130,7 +168,7 @@
		status = "disabled";
	};

	i2c@13870000 {
	i2c_1: i2c@13870000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "samsung,s3c2440-i2c";
@@ -139,7 +177,7 @@
		status = "disabled";
	};

	i2c@13880000 {
	i2c_2: i2c@13880000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "samsung,s3c2440-i2c";
@@ -148,7 +186,7 @@
		status = "disabled";
	};

	i2c@13890000 {
	i2c_3: i2c@13890000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "samsung,s3c2440-i2c";
@@ -157,7 +195,7 @@
		status = "disabled";
	};

	i2c@138A0000 {
	i2c_4: i2c@138A0000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "samsung,s3c2440-i2c";
@@ -166,7 +204,7 @@
		status = "disabled";
	};

	i2c@138B0000 {
	i2c_5: i2c@138B0000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "samsung,s3c2440-i2c";
@@ -175,7 +213,7 @@
		status = "disabled";
	};

	i2c@138C0000 {
	i2c_6: i2c@138C0000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "samsung,s3c2440-i2c";
@@ -184,7 +222,7 @@
		status = "disabled";
	};

	i2c@138D0000 {
	i2c_7: i2c@138D0000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "samsung,s3c2440-i2c";
+27 −27
Original line number Diff line number Diff line
@@ -22,38 +22,38 @@
	compatible = "insignal,origen", "samsung,exynos4210";

	memory {
		reg = <0x40000000 0x40000000>;
		reg = <0x40000000 0x10000000
		       0x50000000 0x10000000
		       0x60000000 0x10000000
		       0x70000000 0x10000000>;
	};

	chosen {
		bootargs ="root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC2,115200 init=/linuxrc";
	};

	mmc_reg: voltage-regulator {
	        compatible = "regulator-fixed";
		regulator-name = "VMEM_VDD_2.8V";
		regulator-min-microvolt = <2800000>;
		regulator-max-microvolt = <2800000>;
		gpio = <&gpx1 1 0>;
		enable-active-high;
	};

	sdhci@12530000 {
		samsung,sdhci-bus-width = <4>;
		linux,mmc_cap_4_bit_data;
		samsung,sdhci-cd-internal;
		gpio-cd = <&gpk2 2 2 3 3>;
		gpios = <&gpk2 0 2 0 3>,
			<&gpk2 1 2 0 3>,
			<&gpk2 3 2 3 3>,
			<&gpk2 4 2 3 3>,
			<&gpk2 5 2 3 3>,
			<&gpk2 6 2 3 3>;
		bus-width = <4>;
		pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
		pinctrl-names = "default";
		vmmc-supply = <&mmc_reg>;
		status = "okay";
	};

	sdhci@12510000 {
		samsung,sdhci-bus-width = <4>;
		linux,mmc_cap_4_bit_data;
		samsung,sdhci-cd-internal;
		gpio-cd = <&gpk0 2 2 3 3>;
		gpios = <&gpk0 0 2 0 3>,
			<&gpk0 1 2 0 3>,
			<&gpk0 3 2 3 3>,
			<&gpk0 4 2 3 3>,
			<&gpk0 5 2 3 3>,
			<&gpk0 6 2 3 3>;
		bus-width = <4>;
		pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_cd>;
		pinctrl-names = "default";
		vmmc-supply = <&mmc_reg>;
		status = "okay";
	};

@@ -80,35 +80,35 @@

		up {
			label = "Up";
			gpios = <&gpx2 0 0 0x10000 2>;
			gpios = <&gpx2 0 1>;
			linux,code = <103>;
			gpio-key,wakeup;
		};

		down {
			label = "Down";
			gpios = <&gpx2 1 0 0x10000 2>;
			gpios = <&gpx2 1 1>;
			linux,code = <108>;
			gpio-key,wakeup;
		};

		back {
			label = "Back";
			gpios = <&gpx1 7 0 0x10000 2>;
			gpios = <&gpx1 7 1>;
			linux,code = <158>;
			gpio-key,wakeup;
		};

		home {
			label = "Home";
			gpios = <&gpx1 6 0 0x10000 2>;
			gpios = <&gpx1 6 1>;
			linux,code = <102>;
			gpio-key,wakeup;
		};

		menu {
			label = "Menu";
			gpios = <&gpx1 5 0 0x10000 2>;
			gpios = <&gpx1 5 1>;
			linux,code = <139>;
			gpio-key,wakeup;
		};
@@ -117,7 +117,7 @@
	leds {
		compatible = "gpio-leds";
		status {
			gpios = <&gpx1 3 0 0x10000 2>;
			gpios = <&gpx1 3 1>;
			linux,default-trigger = "heartbeat";
		};
	};
Loading