Newer
Older
barebox / dts / src / arm / exynos5250-snow.dts
/*
 * Google Snow board device tree source
 *
 * 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.
*/

/dts-v1/;
#include "exynos5250.dtsi"
#include "exynos5250-cros-common.dtsi"

/ {
	model = "Google Snow";
	compatible = "google,snow", "samsung,exynos5250", "samsung,exynos5";

	aliases {
		i2c104 = &i2c_104;
	};

	rtc@101E0000 {
		status = "okay";
	};

	pinctrl@11400000 {
		sd3_clk: sd3-clk {
			samsung,pin-drv = <0>;
		};

		sd3_cmd: sd3-cmd {
			samsung,pin-pud = <3>;
			samsung,pin-drv = <0>;
		};

		sd3_bus4: sd3-bus-width4 {
			samsung,pin-drv = <0>;
		};
	};

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

		lid-switch {
			label = "Lid";
			gpios = <&gpx3 5 1>;
			linux,input-type = <5>; /* EV_SW */
			linux,code = <0>; /* SW_LID */
			debounce-interval = <1>;
			gpio-key,wakeup;
		};
	};

	i2c-arbitrator {
		compatible = "i2c-arb-gpio-challenge";
		#address-cells = <1>;
		#size-cells = <0>;

		i2c-parent = <&{/i2c@12CA0000}>;

		our-claim-gpio = <&gpf0 3 1>;
		their-claim-gpios = <&gpe0 4 1>;
		slew-delay-us = <10>;
		wait-retry-us = <3000>;
		wait-free-us = <50000>;

		/* Use ID 104 as a hint that we're on physical bus 4 */
		i2c_104: i2c@0 {
			reg = <0>;
			#address-cells = <1>;
			#size-cells = <0>;

			battery: sbs-battery@b {
				compatible = "sbs,sbs-battery";
				reg = <0xb>;
				sbs,poll-retry-count = <1>;
			};

			ec: embedded-controller {
				compatible = "google,cros-ec-i2c";
				reg = <0x1e>;
				interrupts = <6 0>;
				interrupt-parent = <&gpx1>;
				wakeup-source;

				keyboard-controller {
				        compatible = "google,cros-ec-keyb";
				        keypad,num-rows = <8>;
				        keypad,num-columns = <13>;
				        google,needs-ghost-filter;
					linux,keymap = <0x0001007d	/* L_META */
							0x0002003b	/* F1 */
							0x00030030	/* B */
							0x00040044	/* F10 */
							0x00060031	/* N */
							0x0008000d	/* = */
							0x000a0064	/* R_ALT */

							0x01010001	/* ESC */
							0x0102003e	/* F4 */
							0x01030022	/* G */
							0x01040041	/* F7 */
							0x01060023	/* H */
							0x01080028	/* ' */
							0x01090043	/* F9 */
							0x010b000e	/* BKSPACE */

							0x0200001d	/* L_CTRL */
							0x0201000f	/* TAB */
							0x0202003d	/* F3 */
							0x02030014	/* T */
							0x02040040	/* F6 */
							0x0205001b	/* ] */
							0x02060015	/* Y */
							0x02070056	/* 102ND */
							0x0208001a	/* [ */
							0x02090042	/* F8 */

							0x03010029	/* GRAVE */
							0x0302003c	/* F2 */
							0x03030006	/* 5 */
							0x0304003f	/* F5 */
							0x03060007	/* 6 */
							0x0308000c	/* - */
							0x030b002b	/* \ */

							0x04000061	/* R_CTRL */
							0x0401001e	/* A */
							0x04020020	/* D */
							0x04030021	/* F */
							0x0404001f	/* S */
							0x04050025	/* K */
							0x04060024	/* J */
							0x04080027	/* ; */
							0x04090026	/* L */
							0x040a002b	/* \ */
							0x040b001c	/* ENTER */

							0x0501002c	/* Z */
							0x0502002e	/* C */
							0x0503002f	/* V */
							0x0504002d	/* X */
							0x05050033	/* , */
							0x05060032	/* M */
							0x0507002a	/* L_SHIFT */
							0x05080035	/* / */
							0x05090034	/* . */
							0x050B0039	/* SPACE */

							0x06010002	/* 1 */
							0x06020004	/* 3 */
							0x06030005	/* 4 */
							0x06040003	/* 2 */
							0x06050009	/* 8 */
							0x06060008	/* 7 */
							0x0608000b	/* 0 */
							0x0609000a	/* 9 */
							0x060a0038	/* L_ALT */
							0x060b006c	/* DOWN */
							0x060c006a	/* RIGHT */

							0x07010010	/* Q */
							0x07020012	/* E */
							0x07030013	/* R */
							0x07040011	/* W */
							0x07050017	/* I */
							0x07060016	/* U */
							0x07070036	/* R_SHIFT */
							0x07080019	/* P */
							0x07090018	/* O */
							0x070b0067	/* UP */
							0x070c0069>;	/* LEFT */
				};
			};
		};
	};

	mmc@12200000 {
		status = "okay";
	};

	mmc@12220000 {
		status = "okay";
	};

	/*
	 * On Snow we've got SIP WiFi and so can keep drive strengths low to
	 * reduce EMI.
	 */
	mmc@12230000 {
		status = "okay";
		slot@0 {
			pinctrl-names = "default";
			pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>;
		};
	};

	usb@12110000 {
		samsung,vbus-gpio = <&gpx1 1 0>;
	};

	fixed-rate-clocks {
		xxti {
			compatible = "samsung,clock-xxti";
			clock-frequency = <24000000>;
		};
	};
};