Commit 17908a13 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'nomadik-for-v3.19' of...

Merge tag 'nomadik-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into next/dt

Merge "Nomadik updates for the v3.19 series" from Linus Walleij:

Nomadik changes for the v3.19 development series:
- Rearrange the DTS files to make a pure SoC-specific file and
  a pure board file for S8815.
- Add the device tree for the NDK15 board.
- Update the defconfig and configure in the STMPE expander by
  default on the Nomadik.

* tag 'nomadik-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik

:
  ARM: nomadik: configure in STMPE support
  ARM: update Nomadik config
  ARM: nomadik: device tree for NHK15 board
  ARM: nomadik: push ethernet down to board
  ARM: nomadik: set up MCDATDIR2
  ARM: nomadik: move GPIO I2C to S8815 board file
  ARM: nomadik: disable chrystals in top level board files
  ARM: nomadik: move MMC/SD card detect GPIO to board DTS

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents b265a6df 640e2f13
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -10,6 +10,12 @@ Required root node property: src

Boards with the Nomadik SoC include:

Nomadik NHK-15 board manufactured by ST Microelectronics:

Required root node property:

compatible="st,nomadik-nhk-15";

S8815 "MiniKit" manufactured by Calao Systems:

Required root node property:
+2 −1
Original line number Diff line number Diff line
@@ -279,7 +279,8 @@ dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \
	imx28-m28evk.dtb \
	imx28-sps1.dtb \
	imx28-tx28.dtb
dtb-$(CONFIG_ARCH_NOMADIK) += ste-nomadik-s8815.dtb
dtb-$(CONFIG_ARCH_NOMADIK) += ste-nomadik-s8815.dtb \
	ste-nomadik-nhk15.dtb
dtb-$(CONFIG_ARCH_NSPIRE) += nspire-cx.dtb \
	nspire-tp.dtb \
	nspire-clp.dtb
+151 −0
Original line number Diff line number Diff line
/*
 * Device Tree for the ST-Ericsson Nomadik S8815 board
 * Produced by Calao Systems
 */

/dts-v1/;
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/gpio/gpio.h>
#include "ste-nomadik-stn8815.dtsi"

/ {
	model = "Nomadik STN8815NHK";
	compatible = "st,nomadik-nhk-15";

	chosen {
		bootargs = "root=/dev/ram0 console=ttyAMA1,115200n8 earlyprintk";
	};

	aliases {
		stmpe-i2c0 = &stmpe0;
		stmpe-i2c1 = &stmpe1;
	};

	pinctrl {
		stmpe2401_1 {
			stmpe2401_1_nhk_mode: stmpe2401_1_nhk {
				nhk_cfg1 {
					ste,pins = "GPIO76_B20"; // IRQ line
					ste,input = <0>;
				};
				nhk_cfg2 {
					ste,pins = "GPIO77_B8"; // reset line
					ste,output = <1>;
				};
			};
		};
		stmpe2401_2 {
			stmpe2401_2_nhk_mode: stmpe2401_2_nhk {
				nhk_cfg1 {
					ste,pins = "GPIO78_A8"; // IRQ line
					ste,input = <0>;
				};
				nhk_cfg2 {
					ste,pins = "GPIO79_C9"; // reset line
					ste,output = <1>;
				};
			};
		};
	};

	src@101e0000 {
		/* These chrystal outputs are not used on this board */
		disable-sxtalo;
		disable-mxtalo;
	};

	/* This is where the interrupt is routed on the NHK-15 debug board */
	external-bus@34000000 {
		compatible = "simple-bus";
		reg = <0x34000000 0x1000000>;
		#address-cells = <1>;
		#size-cells = <1>;
		ranges = <0 0x34000000 0x1000000>;
		ethernet@300 {
			compatible = "smsc,lan91c111";
			reg = <0x300 0x0fd00>;
			reg-io-width = <2>;
			reset-gpios = <&stmpe_gpio44 10 GPIO_ACTIVE_HIGH>;
			interrupt-parent = <&stmpe_gpio44>;
			interrupts = <11 IRQ_TYPE_EDGE_RISING>;
		};
	};

	i2c0 {
		stmpe0: stmpe2401@43 {
			compatible = "st,stmpe2401";
			reg = <0x43>;
			reset-gpios = <&gpio2 13 GPIO_ACTIVE_LOW>; // GPIO77
			interrupts = <12 IRQ_TYPE_EDGE_FALLING>; // GPIO76
			interrupt-parent = <&gpio2>;
			interrupt-controller;
			wakeup-source;
			pinctrl-names = "default";
			pinctrl-0 = <&stmpe2401_1_nhk_mode>;
			stmpe_gpio43: stmpe_gpio {
				compatible = "st,stmpe-gpio";
				gpio-controller;
				#gpio-cells = <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				/* Some pins in alternate functions */
				st,norequest-mask = <0xf0f002>;
			};
			stmpe_keypad {
				compatible = "st,stmpe-keypad";
				debounce-interval = <64>;
				st,scan-count = <8>;
				st,no-autorepeat;
				keypad,num-rows = <8>;
				keypad,num-columns = <8>;
				linux,keymap = <0x00020072 // Vol down
						0x00030073 // Vol up
						0x0100009e // Back
						0x010100e3 // TV out
						0x01020098 // Lock
						0x0103013b // Start
						0x020000a3 // Next
						0x020100a4 // Play
						0x020200a5 // Prev
						0x02030160 // OK
						0x03000069 // Left
						0x0301006a // Right
						0x03020067 // Up
						0x0303006c>; // Down
			};
		};
		stmpe1: stmpe2401@44 {
			compatible = "st,stmpe2401";
			reg = <0x44>;
			reset-gpios = <&gpio2 15 GPIO_ACTIVE_LOW>; // GPIO79
			interrupts = <14 IRQ_TYPE_EDGE_FALLING>; // GPIO78
			interrupt-parent = <&gpio2>;
			interrupt-controller;
			wakeup-source;
			pinctrl-names = "default";
			pinctrl-0 = <&stmpe2401_2_nhk_mode>;
			stmpe_gpio44: stmpe_gpio {
				compatible = "st,stmpe-gpio";
				gpio-controller;
				#gpio-cells = <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
			};
		};
	};

	amba {
		mmcsd: sdi@101f6000 {
			cd-gpios = <&stmpe_gpio44 7 GPIO_ACTIVE_LOW>;
			wp-gpios = <&stmpe_gpio44 18 GPIO_ACTIVE_HIGH>;
		};
	};

	/* Custom board node with GPIO pins to active etc */
	usb-s8815 {
		/* This will turn off SATA so that MMC/SD can thrive */
		mmcsd-gpio {
			gpios = <&stmpe_gpio44 2 0x1>;
		};
	};
};
+48 −8
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@
 */

/dts-v1/;
#include <dt-bindings/interrupt-controller/irq.h>
#include "ste-nomadik-stn8815.dtsi"

/ {
@@ -14,14 +15,6 @@
		bootargs = "root=/dev/ram0 console=ttyAMA1,115200n8 earlyprintk";
	};

	/* This is where the interrupt is routed on the S8815 board */
	external-bus@34000000 {
		ethernet@300 {
			interrupt-parent = <&gpio3>;
			interrupts = <8 0x1>;
		};
	};

	src@101e0000 {
		/* These chrystal drivers are not used on this board */
		disable-sxtalo;
@@ -47,6 +40,14 @@
				};
			};
		};
		gpioi2c {
			gpioi2c_default_mode: gpioi2c_default {
				gpioi2c_default_cfg {
					ste,pins = "GPIO73_C21", "GPIO74_C20";
					ste,input = <0>;
				};
			};
		};
		user-led {
			user_led_default_mode: user_led_default {
				user_led_default_cfg {
@@ -65,6 +66,45 @@
		};
	};

	/* Ethernet */
	external-bus@34000000 {
		compatible = "simple-bus";
		reg = <0x34000000 0x1000000>;
		#address-cells = <1>;
		#size-cells = <1>;
		ranges = <0 0x34000000 0x1000000>;
		ethernet@300 {
			compatible = "smsc,lan91c111";
			reg = <0x300 0x0fd00>;
			interrupt-parent = <&gpio3>;
			interrupts = <8 IRQ_TYPE_EDGE_RISING>;
		};
	};

	/* GPIO I2C connected to the USB portions of the STw4811 only */
	gpio-i2c {
		compatible = "i2c-gpio";
		gpios = <&gpio2 10 0>, /* sda */
			<&gpio2 9 0>; /* scl */
		#address-cells = <1>;
		#size-cells = <0>;
		pinctrl-names = "default";
		pinctrl-0 = <&gpioi2c_default_mode>;

		stw4811@2d {
			   compatible = "st,stw4811-usb";
			   reg = <0x2d>;
		};
	};


	/* Configure card detect for the uSD slot */
	amba {
		mmcsd: sdi@101f6000 {
			cd-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
		};
	};

	/* Custom board node with GPIO pins to active etc */
	usb-s8815 {
		/* This will bias the MMC/SD card detect line */
+3 −42
Original line number Diff line number Diff line
@@ -117,7 +117,7 @@
			mmcsd_default_mux: mmcsd_mux {
				mmcsd_default_mux {
					ste,function = "mmcsd";
					ste,pins = "mmcsd_a_1";
					ste,pins = "mmcsd_a_1", "mmcsd_b_1";
				};
			};
			mmcsd_default_mode: mmcsd_default {
@@ -127,9 +127,9 @@
					ste,output = <0>;
				};
				mmcsd_default_cfg2 {
					/* MCCMDDIR, MCDAT0DIR, MCDAT31DIR */
					/* MCCMDDIR, MCDAT0DIR, MCDAT31DIR, MCDATDIR2 */
					ste,pins = "GPIO10_C11", "GPIO15_A12",
					"GPIO16_C13";
					"GPIO16_C13", "GPIO23_D15";
					ste,output = <1>;
				};
				mmcsd_default_cfg3 {
@@ -169,21 +169,11 @@
				};
			};
		};
		i2c2 {
			i2c2_default_mode: i2c2_default {
				i2c2_default_cfg {
					ste,pins = "GPIO73_C21", "GPIO74_C20";
					ste,input = <0>;
				};
			};
		};
	};

	src: src@101e0000 {
		compatible = "stericsson,nomadik-src";
		reg = <0x101e0000 0x1000>;
		disable-sxtalo;
		disable-mxtalo;

		/*
		 * MXTAL "Main Chrystal" is a chrystal oscillator @19.2 MHz
@@ -683,18 +673,6 @@
		};
	};

	external-bus@34000000 {
		compatible = "simple-bus";
		reg = <0x34000000 0x1000000>;
		#address-cells = <1>;
		#size-cells = <1>;
		ranges = <0 0x34000000 0x1000000>;
		ethernet@300 {
			compatible = "smsc,lan91c111";
			reg = <0x300 0x0fd00>;
		};
	};

	/* I2C0 connected to the STw4811 power management chip */
	i2c0 {
		compatible = "st,nomadik-i2c", "arm,primecell";
@@ -749,22 +727,6 @@
		};
	};

	/* I2C2 connected to the USB portions of the STw4811 only */
	i2c2 {
		compatible = "i2c-gpio";
		gpios = <&gpio2 10 0>, /* sda */
			<&gpio2 9 0>; /* scl */
		#address-cells = <1>;
		#size-cells = <0>;
		pinctrl-names = "default";
		pinctrl-0 = <&i2c2_default_mode>;

		stw4811@2d {
			   compatible = "st,stw4811-usb";
			   reg = <0x2d>;
		};
	};

	amba {
		compatible = "arm,amba-bus";
		#address-cells = <1>;
@@ -844,7 +806,6 @@
			bus-width = <4>;
			cap-mmc-highspeed;
			cap-sd-highspeed;
			cd-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
			pinctrl-names = "default";
			pinctrl-0 = <&mmcsd_default_mux>, <&mmcsd_default_mode>;
			vmmc-supply = <&vmmc_regulator>;
Loading