diff options
| -rw-r--r-- | Documentation/devicetree/bindings/usb/am33xx-usb.txt | 21 | ||||
| -rw-r--r-- | arch/arm/boot/dts/Makefile | 1 | ||||
| -rw-r--r-- | arch/arm/boot/dts/am335x-bone.dts | 44 | ||||
| -rw-r--r-- | arch/arm/boot/dts/am335x-evm.dts | 63 | ||||
| -rw-r--r-- | arch/arm/boot/dts/am335x-evmsk.dts | 84 | ||||
| -rw-r--r-- | arch/arm/boot/dts/am33xx.dtsi | 17 | ||||
| -rw-r--r-- | arch/arm/boot/dts/omap4-panda-a4.dts | 17 | ||||
| -rw-r--r-- | arch/arm/boot/dts/omap4-panda-es.dts | 9 | ||||
| -rw-r--r-- | arch/arm/boot/dts/omap4-panda.dts | 18 | ||||
| -rw-r--r-- | arch/arm/boot/dts/omap4-sdp-es23plus.dts | 17 | ||||
| -rw-r--r-- | arch/arm/boot/dts/omap4-sdp.dts | 18 | ||||
| -rw-r--r-- | arch/arm/boot/dts/omap5-evm.dts | 13 | ||||
| -rw-r--r-- | arch/arm/boot/dts/omap5.dtsi | 22 | ||||
| -rw-r--r-- | arch/arm/boot/dts/samsung_k3pe0e000b.dtsi | 67 | 
14 files changed, 410 insertions, 1 deletions
diff --git a/Documentation/devicetree/bindings/usb/am33xx-usb.txt b/Documentation/devicetree/bindings/usb/am33xx-usb.txt index ca8fa56e9f0..707c1a2dae0 100644 --- a/Documentation/devicetree/bindings/usb/am33xx-usb.txt +++ b/Documentation/devicetree/bindings/usb/am33xx-usb.txt @@ -1,5 +1,7 @@  AM33XX MUSB GLUE   - compatible : Should be "ti,musb-am33xx" + - reg : offset and length of register sets, first usbss, then for musb instances + - interrupts : usbss, musb instance interrupts in order   - ti,hwmods : must be "usb_otg_hs"   - multipoint : Should be "1" indicating the musb controller supports     multipoint. This is a MUSB configuration-specific setting. @@ -12,3 +14,22 @@ AM33XX MUSB GLUE     represents PERIPHERAL.   - power : Should be "250". This signifies the controller can supply upto     500mA when operating in host mode. + +Example: + +usb@47400000  { +	compatible = "ti,musb-am33xx"; +	reg = <0x47400000 0x1000	/* usbss */ +	       0x47401000 0x800		/* musb instance 0 */ +	       0x47401800 0x800>;	/* musb instance 1 */ +	interrupts = <17		/* usbss */ +		      18		/* musb instance 0 */ +		      19>;		/* musb instance 1 */ +	multipoint = <1>; +	num-eps = <16>; +	ram-bits = <12>; +	port0-mode = <3>; +	port1-mode = <3>; +	power = <250>; +	ti,hwmods = "usb_otg_hs"; +}; diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 634bd424657..2458b69e2be 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -73,6 +73,7 @@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \  	omap4-sdp.dtb \  	omap5-evm.dtb \  	am335x-evm.dtb \ +	am335x-evmsk.dtb \  	am335x-bone.dtb  dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb  dtb-$(CONFIG_ARCH_U8500) += snowball.dtb diff --git a/arch/arm/boot/dts/am335x-bone.dts b/arch/arm/boot/dts/am335x-bone.dts index 91eee97371e..2c338889df1 100644 --- a/arch/arm/boot/dts/am335x-bone.dts +++ b/arch/arm/boot/dts/am335x-bone.dts @@ -24,6 +24,20 @@  		reg = <0x80000000 0x10000000>; /* 256 MB */  	}; +	am33xx_pinmux: pinmux@44e10800 { +		pinctrl-names = "default"; +		pinctrl-0 = <&user_leds_s0>; + +		user_leds_s0: user_leds_s0 { +			pinctrl-single,pins = < +				0x54 0x7	/* gpmc_a5.gpio1_21, OUTPUT | MODE7 */ +				0x58 0x17	/* gpmc_a6.gpio1_22, OUTPUT_PULLUP | MODE7 */ +				0x5c 0x7	/* gpmc_a7.gpio1_23, OUTPUT | MODE7 */ +				0x60 0x17	/* gpmc_a8.gpio1_24, OUTPUT_PULLUP | MODE7 */ +			>; +		}; +	}; +  	ocp {  		uart1: serial@44e09000 {  			status = "okay"; @@ -39,6 +53,36 @@  		};  	}; + +	leds { +		compatible = "gpio-leds"; + +		led@2 { +			label = "beaglebone:green:heartbeat"; +			gpios = <&gpio2 21 0>; +			linux,default-trigger = "heartbeat"; +			default-state = "off"; +		}; + +		led@3 { +			label = "beaglebone:green:mmc0"; +			gpios = <&gpio2 22 0>; +			linux,default-trigger = "mmc0"; +			default-state = "off"; +		}; + +		led@4 { +			label = "beaglebone:green:usr2"; +			gpios = <&gpio2 23 0>; +			default-state = "off"; +		}; + +		led@5 { +			label = "beaglebone:green:usr3"; +			gpios = <&gpio2 24 0>; +			default-state = "off"; +		}; +	};  };  /include/ "tps65217.dtsi" diff --git a/arch/arm/boot/dts/am335x-evm.dts b/arch/arm/boot/dts/am335x-evm.dts index 513284fc66b..9f65f17ebdf 100644 --- a/arch/arm/boot/dts/am335x-evm.dts +++ b/arch/arm/boot/dts/am335x-evm.dts @@ -24,6 +24,28 @@  		reg = <0x80000000 0x10000000>; /* 256 MB */  	}; +	am33xx_pinmux: pinmux@44e10800 { +		pinctrl-names = "default"; +		pinctrl-0 = <&matrix_keypad_s0 &volume_keys_s0>; + +		matrix_keypad_s0: matrix_keypad_s0 { +			pinctrl-single,pins = < +				0x54 0x7	/* gpmc_a5.gpio1_21, OUTPUT | MODE7 */ +				0x58 0x7	/* gpmc_a6.gpio1_22, OUTPUT | MODE7 */ +				0x64 0x27	/* gpmc_a9.gpio1_25, INPUT | MODE7 */ +				0x68 0x27	/* gpmc_a10.gpio1_26, INPUT | MODE7 */ +				0x6c 0x27	/* gpmc_a11.gpio1_27, INPUT | MODE7 */ +			>; +		}; + +		volume_keys_s0: volume_keys_s0 { +			pinctrl-single,pins = < +				0x150 0x27	/* spi0_sclk.gpio0_2, INPUT | MODE7 */ +				0x154 0x27	/* spi0_d0.gpio0_3, INPUT | MODE7 */ +			>; +		}; +	}; +  	ocp {  		uart1: serial@44e09000 {  			status = "okay"; @@ -95,6 +117,47 @@  		regulator-name = "lis3_reg";  		regulator-boot-on;  	}; + +	matrix_keypad: matrix_keypad@0 { +		compatible = "gpio-matrix-keypad"; +		debounce-delay-ms = <5>; +		col-scan-delay-us = <2>; + +		row-gpios = <&gpio2 25 0	/* Bank1, pin25 */ +			     &gpio2 26 0	/* Bank1, pin26 */ +			     &gpio2 27 0>;	/* Bank1, pin27 */ + +		col-gpios = <&gpio2 21 0	/* Bank1, pin21 */ +			     &gpio2 22 0>;	/* Bank1, pin22 */ + +		linux,keymap = <0x0000008b	/* MENU */ +				0x0100009e	/* BACK */ +				0x02000069	/* LEFT */ +				0x0001006a	/* RIGHT */ +				0x0101001c	/* ENTER */ +				0x0201006c>;	/* DOWN */ +	}; + +	gpio_keys: volume_keys@0 { +		compatible = "gpio-keys"; +		#address-cells = <1>; +		#size-cells = <0>; +		autorepeat; + +		switch@9 { +			label = "volume-up"; +			linux,code = <115>; +			gpios = <&gpio1 2 1>; +			gpio-key,wakeup; +		}; + +		switch@10 { +			label = "volume-down"; +			linux,code = <114>; +			gpios = <&gpio1 3 1>; +			gpio-key,wakeup; +		}; +	};  };  /include/ "tps65910.dtsi" diff --git a/arch/arm/boot/dts/am335x-evmsk.dts b/arch/arm/boot/dts/am335x-evmsk.dts index 6f538798786..f5a6162a4ff 100644 --- a/arch/arm/boot/dts/am335x-evmsk.dts +++ b/arch/arm/boot/dts/am335x-evmsk.dts @@ -30,6 +30,29 @@  		reg = <0x80000000 0x10000000>; /* 256 MB */  	}; +	am33xx_pinmux: pinmux@44e10800 { +		pinctrl-names = "default"; +		pinctrl-0 = <&user_leds_s0 &gpio_keys_s0>; + +		user_leds_s0: user_leds_s0 { +			pinctrl-single,pins = < +				0x10 0x7	/* gpmc_ad4.gpio1_4, OUTPUT | MODE7 */ +				0x14 0x7	/* gpmc_ad5.gpio1_5, OUTPUT | MODE7 */ +				0x18 0x7	/* gpmc_ad6.gpio1_6, OUTPUT | MODE7 */ +				0x1c 0x7	/* gpmc_ad7.gpio1_7, OUTPUT | MODE7 */ +			>; +		}; + +		gpio_keys_s0: gpio_keys_s0 { +			pinctrl-single,pins = < +				0x94 0x27	/* gpmc_oen_ren.gpio2_3, INPUT | MODE7 */ +				0x90 0x27	/* gpmc_advn_ale.gpio2_2, INPUT | MODE7 */ +				0x70 0x27	/* gpmc_wait0.gpio0_30, INPUT | MODE7 */ +				0x9c 0x27	/* gpmc_ben0_cle.gpio2_5, INPUT | MODE7 */ +			>; +		}; +	}; +  	ocp {  		uart1: serial@44e09000 {  			status = "okay"; @@ -86,6 +109,67 @@  		regulator-name = "lis3_reg";  		regulator-boot-on;  	}; + +	leds { +		compatible = "gpio-leds"; + +		led@1 { +			label = "evmsk:green:usr0"; +			gpios = <&gpio2 4 0>; +			default-state = "off"; +		}; + +		led@2 { +			label = "evmsk:green:usr1"; +			gpios = <&gpio2 5 0>; +			default-state = "off"; +		}; + +		led@3 { +			label = "evmsk:green:mmc0"; +			gpios = <&gpio2 6 0>; +			linux,default-trigger = "mmc0"; +			default-state = "off"; +		}; + +		led@4 { +			label = "evmsk:green:heartbeat"; +			gpios = <&gpio2 7 0>; +			linux,default-trigger = "heartbeat"; +			default-state = "off"; +		}; +	}; + +	gpio_buttons: gpio_buttons@0 { +		compatible = "gpio-keys"; +		#address-cells = <1>; +		#size-cells = <0>; + +		switch@1 { +			label = "button0"; +			linux,code = <0x100>; +			gpios = <&gpio3 3 0>; +		}; + +		switch@2 { +			label = "button1"; +			linux,code = <0x101>; +			gpios = <&gpio3 2 0>; +		}; + +		switch@3 { +			label = "button2"; +			linux,code = <0x102>; +			gpios = <&gpio1 30 0>; +			gpio-key,wakeup; +		}; + +		switch@4 { +			label = "button3"; +			linux,code = <0x103>; +			gpios = <&gpio3 5 0>; +		}; +	};  };  /include/ "tps65910.dtsi" diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi index 5dfd6822e6f..20a3f29a6bf 100644 --- a/arch/arm/boot/dts/am33xx.dtsi +++ b/arch/arm/boot/dts/am33xx.dtsi @@ -321,5 +321,22 @@  			ti,hwmods = "spi1";  			status = "disabled";  		}; + +		usb@47400000 { +			compatible = "ti,musb-am33xx"; +			reg = <0x47400000 0x1000	/* usbss */ +			       0x47401000 0x800		/* musb instance 0 */ +			       0x47401800 0x800>;	/* musb instance 1 */ +			interrupts = <17		/* usbss */ +				      18		/* musb instance 0 */ +				      19>;		/* musb instance 1 */ +			multipoint = <1>; +			num-eps = <16>; +			ram-bits = <12>; +			port0-mode = <3>; +			port1-mode = <3>; +			power = <250>; +			ti,hwmods = "usb_otg_hs"; +		};  	};  }; diff --git a/arch/arm/boot/dts/omap4-panda-a4.dts b/arch/arm/boot/dts/omap4-panda-a4.dts new file mode 100644 index 00000000000..75466d2abfb --- /dev/null +++ b/arch/arm/boot/dts/omap4-panda-a4.dts @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.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/ "omap4-panda.dts" + +/* Pandaboard Rev A4+ have external pullups on SCL & SDA */ +&dss_hdmi_pins { +	pinctrl-single,pins = < +		0x5a 0x118	/* hdmi_cec.hdmi_cec INPUT PULLUP | MODE 0 */ +		0x5c 0x100	/* hdmi_scl.hdmi_scl INPUT | MODE 0 */ +		0x5e 0x100	/* hdmi_sda.hdmi_sda INPUT | MODE 0 */ +		>; +}; diff --git a/arch/arm/boot/dts/omap4-panda-es.dts b/arch/arm/boot/dts/omap4-panda-es.dts index d4ba43a48d9..73bc1a67e44 100644 --- a/arch/arm/boot/dts/omap4-panda-es.dts +++ b/arch/arm/boot/dts/omap4-panda-es.dts @@ -22,3 +22,12 @@  		"AFML", "Line In",  		"AFMR", "Line In";  }; + +/* PandaboardES has external pullups on SCL & SDA */ +&dss_hdmi_pins { +	pinctrl-single,pins = < +		0x5a 0x118	/* hdmi_cec.hdmi_cec INPUT PULLUP | MODE 0 */ +		0x5c 0x100	/* hdmi_scl.hdmi_scl INPUT | MODE 0 */ +		0x5e 0x100	/* hdmi_sda.hdmi_sda INPUT | MODE 0 */ +		>; +}; diff --git a/arch/arm/boot/dts/omap4-panda.dts b/arch/arm/boot/dts/omap4-panda.dts index 32baf65a7ea..4122efe31cf 100644 --- a/arch/arm/boot/dts/omap4-panda.dts +++ b/arch/arm/boot/dts/omap4-panda.dts @@ -65,6 +65,8 @@  			&twl6040_pins  			&mcpdm_pins  			&mcbsp1_pins +			&dss_hdmi_pins +			&tpd12s015_pins  	>;  	twl6040_pins: pinmux_twl6040_pins { @@ -92,6 +94,22 @@  			0xc4 0x100	/* abe_mcbsp1_fsx.abe_mcbsp1_fsx INPUT | MODE0 */  		>;  	}; + +	dss_hdmi_pins: pinmux_dss_hdmi_pins { +		pinctrl-single,pins = < +			0x5a 0x118	/* hdmi_cec.hdmi_cec INPUT PULLUP | MODE 0 */ +			0x5c 0x118	/* hdmi_scl.hdmi_scl INPUT PULLUP | MODE 0 */ +			0x5e 0x118	/* hdmi_sda.hdmi_sda INPUT PULLUP | MODE 0 */ +		>; +	}; + +	tpd12s015_pins: pinmux_tpd12s015_pins { +		pinctrl-single,pins = < +			0x22 0x3	/* gpmc_a17.gpio_41 OUTPUT | MODE3 */ +			0x48 0x3	/* gpmc_nbe1.gpio_60 OUTPUT | MODE3 */ +			0x58 0x10b	/* hdmi_hpd.gpio_63 INPUT PULLDOWN | MODE3 */ +		>; +	};  };  &i2c1 { diff --git a/arch/arm/boot/dts/omap4-sdp-es23plus.dts b/arch/arm/boot/dts/omap4-sdp-es23plus.dts new file mode 100644 index 00000000000..b4a40ffbce3 --- /dev/null +++ b/arch/arm/boot/dts/omap4-sdp-es23plus.dts @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.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/ "omap4-sdp.dts" + +/* SDP boards with 4430 ES2.3+ or 4460 have external pullups on SCL & SDA */ +&dss_hdmi_pins { +	pinctrl-single,pins = < +		0x5a 0x118	/* hdmi_cec.hdmi_cec INPUT PULLUP | MODE 0 */ +		0x5c 0x100	/* hdmi_scl.hdmi_scl INPUT | MODE 0 */ +		0x5e 0x100	/* hdmi_sda.hdmi_sda INPUT | MODE 0 */ +		>; +}; diff --git a/arch/arm/boot/dts/omap4-sdp.dts b/arch/arm/boot/dts/omap4-sdp.dts index 0f57bdf7c2d..43e5258a937 100644 --- a/arch/arm/boot/dts/omap4-sdp.dts +++ b/arch/arm/boot/dts/omap4-sdp.dts @@ -124,6 +124,8 @@  			&dmic_pins  			&mcbsp1_pins  			&mcbsp2_pins +			&dss_hdmi_pins +			&tpd12s015_pins  	>;  	uart2_pins: pinmux_uart2_pins { @@ -194,6 +196,22 @@  			0xbc 0x100	/* abe_mcbsp2_fsx.abe_mcbsp2_fsx INPUT | MODE0 */  		>;  	}; + +	dss_hdmi_pins: pinmux_dss_hdmi_pins { +		pinctrl-single,pins = < +			0x5a 0x118	/* hdmi_cec.hdmi_cec INPUT PULLUP | MODE 0 */ +			0x5c 0x118	/* hdmi_scl.hdmi_scl INPUT PULLUP | MODE 0 */ +			0x5e 0x118	/* hdmi_sda.hdmi_sda INPUT PULLUP | MODE 0 */ +		>; +	}; + +	tpd12s015_pins: pinmux_tpd12s015_pins { +		pinctrl-single,pins = < +			0x22 0x3	/* gpmc_a17.gpio_41 OUTPUT | MODE3 */ +			0x48 0x3	/* gpmc_nbe1.gpio_60 OUTPUT | MODE3 */ +			0x58 0x10b	/* hdmi_hpd.gpio_63 INPUT PULLDOWN | MODE3 */ +		>; +	};  };  &i2c1 { diff --git a/arch/arm/boot/dts/omap5-evm.dts b/arch/arm/boot/dts/omap5-evm.dts index c663eba7316..8722c15bbba 100644 --- a/arch/arm/boot/dts/omap5-evm.dts +++ b/arch/arm/boot/dts/omap5-evm.dts @@ -8,6 +8,7 @@  /dts-v1/;  /include/ "omap5.dtsi" +/include/ "samsung_k3pe0e000b.dtsi"  / {  	model = "TI OMAP5 EVM board"; @@ -15,7 +16,7 @@  	memory {  		device_type = "memory"; -		reg = <0x80000000 0x40000000>; /* 1 GB */ +		reg = <0x80000000 0x80000000>; /* 2 GB */  	};  	vmmcsd_fixed: fixedregulator-mmcsd { @@ -140,3 +141,13 @@  &mcbsp3 {  	status = "disabled";  }; + +&emif1 { +	cs1-used; +	device-handle = <&samsung_K3PE0E000B>; +}; + +&emif2 { +	cs1-used; +	device-handle = <&samsung_K3PE0E000B>; +}; diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi index ead74c85d99..790bb2a4b34 100644 --- a/arch/arm/boot/dts/omap5.dtsi +++ b/arch/arm/boot/dts/omap5.dtsi @@ -474,5 +474,27 @@  			ti,hwmods = "timer11";  			ti,timer-pwm;  		}; + +		emif1: emif@0x4c000000 { +			compatible	= "ti,emif-4d5"; +			ti,hwmods	= "emif1"; +			phy-type	= <2>; /* DDR PHY type: Intelli PHY */ +			reg = <0x4c000000 0x400>; +			interrupts = <0 110 0x4>; +			hw-caps-read-idle-ctrl; +			hw-caps-ll-interface; +			hw-caps-temp-alert; +		}; + +		emif2: emif@0x4d000000 { +			compatible	= "ti,emif-4d5"; +			ti,hwmods	= "emif2"; +			phy-type	= <2>; /* DDR PHY type: Intelli PHY */ +			reg = <0x4d000000 0x400>; +			interrupts = <0 111 0x4>; +			hw-caps-read-idle-ctrl; +			hw-caps-ll-interface; +			hw-caps-temp-alert; +		};  	};  }; diff --git a/arch/arm/boot/dts/samsung_k3pe0e000b.dtsi b/arch/arm/boot/dts/samsung_k3pe0e000b.dtsi new file mode 100644 index 00000000000..9657a5cbc3a --- /dev/null +++ b/arch/arm/boot/dts/samsung_k3pe0e000b.dtsi @@ -0,0 +1,67 @@ +/* + * Timings and Geometry for Samsung K3PE0E000B memory part + */ + +/ { +	samsung_K3PE0E000B: lpddr2 { +		compatible	= "Samsung,K3PE0E000B","jedec,lpddr2-s4"; +		density		= <4096>; +		io-width	= <32>; + +		tRPab-min-tck	= <3>; +		tRCD-min-tck	= <3>; +		tWR-min-tck	= <3>; +		tRASmin-min-tck	= <3>; +		tRRD-min-tck	= <2>; +		tWTR-min-tck	= <2>; +		tXP-min-tck	= <2>; +		tRTP-min-tck	= <2>; +		tCKE-min-tck	= <3>; +		tCKESR-min-tck	= <3>; +		tFAW-min-tck	= <8>; + +		timings_samsung_K3PE0E000B_533MHz: lpddr2-timings@0 { +			compatible	= "jedec,lpddr2-timings"; +			min-freq	= <10000000>; +			max-freq	= <533333333>; +			tRPab		= <21000>; +			tRCD		= <18000>; +			tWR		= <15000>; +			tRAS-min	= <42000>; +			tRRD		= <10000>; +			tWTR		= <7500>; +			tXP		= <7500>; +			tRTP		= <7500>; +			tCKESR		= <15000>; +			tDQSCK-max	= <5500>; +			tFAW		= <50000>; +			tZQCS		= <90000>; +			tZQCL		= <360000>; +			tZQinit		= <1000000>; +			tRAS-max-ns	= <70000>; +			tDQSCK-max-derated = <6000>; +		}; + +		timings_samsung_K3PE0E000B_266MHz: lpddr2-timings@1 { +			compatible	= "jedec,lpddr2-timings"; +			min-freq	= <10000000>; +			max-freq	= <266666666>; +			tRPab		= <21000>; +			tRCD		= <18000>; +			tWR		= <15000>; +			tRAS-min	= <42000>; +			tRRD		= <10000>; +			tWTR		= <7500>; +			tXP		= <7500>; +			tRTP		= <7500>; +			tCKESR		= <15000>; +			tDQSCK-max	= <5500>; +			tFAW		= <50000>; +			tZQCS		= <90000>; +			tZQCL		= <360000>; +			tZQinit		= <1000000>; +			tRAS-max-ns	= <70000>; +			tDQSCK-max-derated = <6000>; +		}; +	}; +};  |