/dts-v1/;

#include <dt-bindings/gpio/x86-gpio.h>

/include/ "skeleton.dtsi"
/include/ "keyboard.dtsi"
/include/ "serial.dtsi"
/include/ "rtc.dtsi"
/include/ "tsc_timer.dtsi"

/ {
	model = "Google Samus";
	compatible = "google,samus", "intel,broadwell";

	aliases {
		spi0 = &spi;
		usb0 = &usb_0;
		usb1 = &usb_1;
	};

	config {
	       silent_console = <0>;
	};

	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		cpu@0 {
			device_type = "cpu";
			compatible = "intel,core-i3-gen5";
			reg = <0>;
			intel,apic-id = <0>;
			intel,slow-ramp = <3>;
		};

		cpu@1 {
			device_type = "cpu";
			compatible = "intel,core-i3-gen5";
			reg = <1>;
			intel,apic-id = <1>;
		};

		cpu@2 {
			device_type = "cpu";
			compatible = "intel,core-i3-gen5";
			reg = <2>;
			intel,apic-id = <2>;
		};

		cpu@3 {
			device_type = "cpu";
			compatible = "intel,core-i3-gen5";
			reg = <3>;
			intel,apic-id = <3>;
		};

	};

	chosen {
		stdout-path = "/serial";
	};

	keyboard {
		intel,duplicate-por;
	};

	pch_pinctrl {
		compatible = "intel,x86-broadwell-pinctrl";
		u-boot,dm-pre-reloc;
		reg = <0 0>;

		/* Put this first: it is the default */
		gpio_unused: gpio-unused {
			mode-gpio;
			direction = <PIN_INPUT>;
			owner = <OWNER_GPIO>;
			sense-disable;
		};

		gpio_acpi_sci: acpi-sci {
			mode-gpio;
			direction = <PIN_INPUT>;
			invert;
			route = <ROUTE_SCI>;
		};

		gpio_acpi_smi: acpi-smi {
			mode-gpio;
			direction = <PIN_INPUT>;
			invert;
			route = <ROUTE_SMI>;
		};

		gpio_input: gpio-input {
			mode-gpio;
			direction = <PIN_INPUT>;
			owner = <OWNER_GPIO>;
		};

		gpio_input_invert: gpio-input-invert {
			mode-gpio;
			direction = <PIN_INPUT>;
			owner = <OWNER_GPIO>;
			invert;
		};

		gpio_native: gpio-native {
		};

		gpio_out_high: gpio-out-high {
			mode-gpio;
			direction = <PIN_OUTPUT>;
			output-value = <1>;
			owner = <OWNER_GPIO>;
			sense-disable;
		};

		gpio_out_low: gpio-out-low {
			mode-gpio;
			direction = <PIN_OUTPUT>;
			output-value = <0>;
			owner = <OWNER_GPIO>;
			sense-disable;
		};

		gpio_pirq: gpio-pirq {
			mode-gpio;
			direction = <PIN_INPUT>;
			owner = <OWNER_GPIO>;
			pirq-apic = <PIRQ_APIC_ROUTE>;
		};

		soc_gpio@0 {
			config =
				<0 &gpio_unused 0>,	/* unused */
				<1 &gpio_unused 0>,	/* unused */
				<2 &gpio_unused 0>,	/* unused */
				<3 &gpio_unused 0>,	/* unused */
				<4 &gpio_native 0>,	/* native: i2c0_sda_gpio4 */
				<5 &gpio_native 0>,	/* native: i2c0_scl_gpio5 */
				<6 &gpio_native 0>,	/* native: i2c1_sda_gpio6 */
				<7 &gpio_native 0>,	/* native: i2c1_scl_gpio7 */
				<8 &gpio_acpi_sci 0>,	/* pch_lte_wake_l */
				<9 &gpio_input_invert 0>,	/* trackpad_int_l (wake) */
				<10 &gpio_acpi_sci 0>,	/* pch_wlan_wake_l */
				<11 &gpio_unused 0>,	/* unused */
				<12 &gpio_unused 0>,	/* unused */
				<13 &gpio_pirq 3>,	/* trackpad_int_l (pirql) */
				<14 &gpio_pirq 4>,	/* touch_int_l (pirqm) */
				<15 &gpio_unused 0>,	/* unused (strap) */
				<16 &gpio_input 0>,	/* pch_wp */
				<17 &gpio_unused 0>,	/* unused */
				<18 &gpio_unused 0>,	/* unused */
				<19 &gpio_unused 0>,	/* unused */
				<20 &gpio_native 0>,	/* pcie_wlan_clkreq_l */
				<21 &gpio_out_high 0>,	/* pp3300_ssd_en */
				<22 &gpio_unused 0>,	/* unused */
				<23 &gpio_out_low 0>,	/* pp3300_autobahn_en */
				<24 &gpio_unused 0>,	/* unused */
				<25 &gpio_input 0>,	/* ec_in_rw */
				<26 &gpio_unused 0>,	/* unused */
				<27 &gpio_acpi_sci 0>,	/* pch_wake_l */
				<28 &gpio_unused 0>,	/* unused */
				<29 &gpio_unused 0>,	/* unused */
				<30 &gpio_native 0>,	/* native: pch_suswarn_l */
				<31 &gpio_native 0>,	/* native: acok_buf */
				<32 &gpio_native 0>,	/* native: lpc_clkrun_l */
				<33 &gpio_native 0>,	/* native: ssd_devslp */
				<34 &gpio_acpi_smi 0>,	/* ec_smi_l */
				<35 &gpio_acpi_smi 0>,	/* pch_nmi_dbg_l (route in nmi_en) */
				<36 &gpio_acpi_sci 0>,	/* ec_sci_l */
				<37 &gpio_unused 0>,	/* unused */
				<38 &gpio_unused 0>,	/* unused */
				<39 &gpio_unused 0>,	/* unused */
				<40 &gpio_native 0>,	/* native: pch_usb1_oc_l */
				<41 &gpio_native 0>,	/* native: pch_usb2_oc_l */
				<42 &gpio_unused 0>,	/* wlan_disable_l */
				<43 &gpio_out_high 0>,	/* pp1800_codec_en */
				<44 &gpio_unused 0>,	/* unused */
				<45 &gpio_acpi_sci 0>,	/* dsp_int - codec wake */
				<46 &gpio_pirq 6>,	/* hotword_det_l_3v3 (pirqo) - codec irq */
				<47 &gpio_out_low 0>,	/* ssd_reset_l */
				<48 &gpio_unused 0>,	/* unused */
				<49 &gpio_unused 0>,	/* unused */
				<50 &gpio_unused 0>,	/* unused */
				<51 &gpio_unused 0>,	/* unused */
				<52 &gpio_input 0>,	/* sim_det */
				<53 &gpio_unused 0>,	/* unused */
				<54 &gpio_unused 0>,	/* unused */
				<55 &gpio_unused 0>,	/* unused */
				<56 &gpio_unused 0>,	/* unused */
				<57 &gpio_out_high 0>,	/* codec_reset_l */
				<58 &gpio_unused 0>,	/* unused */
				<59 &gpio_out_high 0>,	/* lte_disable_l */
				<60 &gpio_unused 0>,	/* unused */
				<61 &gpio_native 0>,	/* native: pch_sus_stat */
				<62 &gpio_native 0>,	/* native: pch_susclk */
				<63 &gpio_native 0>,	/* native: pch_slp_s5_l */
				<64 &gpio_unused 0>,	/* unused */
				<65 &gpio_input 0>,	/* ram_id3 */
				<66 &gpio_input 0>,	/* ram_id3_old (strap) */
				<67 &gpio_input 0>,	/* ram_id0 */
				<68 &gpio_input 0>,	/* ram_id1 */
				<69 &gpio_input 0>,	/* ram_id2 */
				<70 &gpio_unused 0>,	/* unused */
				<71 &gpio_native 0>,	/* native: modphy_en */
				<72 &gpio_unused 0>,	/* unused */
				<73 &gpio_unused 0>,	/* unused */
				<74 &gpio_unused 0>,	/* unused */
				<75 &gpio_unused 0>,	/* unused */
				<76 &gpio_unused 0>,	/* unused */
				<77 &gpio_unused 0>,	/* unused */
				<78 &gpio_unused 0>,	/* unused */
				<79 &gpio_unused 0>,	/* unused */
				<80 &gpio_unused 0>,	/* unused */
				<81 &gpio_unused 0>,	/* unused */
				<82 &gpio_native 0>,	/* native: ec_rcin_l */
				<83 &gpio_native 0>,	/* gspi0_cs */
				<84 &gpio_native 0>,	/* gspi0_clk */
				<85 &gpio_native 0>,	/* gspi0_miso */
				<86 &gpio_native 0>,	/* gspi0_mosi (strap) */
				<87 &gpio_unused 0>,	/* unused */
				<88 &gpio_unused 0>,	/* unused */
				<89 &gpio_out_high 0>,	/* pp3300_sd_en */
				<90 &gpio_unused 0>,	/* unused */
				<91 &gpio_unused 0>,	/* unused */
				<92 &gpio_unused 0>,	/* unused */
				<93 &gpio_unused 0>,	/* unused */
				<94 &gpio_unused 0>;	/* unused */
		};
	};

	pci {
		compatible = "pci-x86";
		#address-cells = <3>;
		#size-cells = <2>;
		u-boot,dm-pre-reloc;
		ranges = <0x02000000 0x0 0xe0000000 0xe0000000 0 0x10000000
			0x42000000 0x0 0xd0000000 0xd0000000 0 0x10000000
			0x01000000 0x0 0x1000 0x1000 0 0xefff>;

		northbridge@0,0 {
			reg = <0x00000000 0 0 0 0>;
			compatible = "intel,broadwell-northbridge";
			board-id-gpios = <&gpio_c 5 0>, <&gpio_c 4 0>,
					<&gpio_c 3 0>, <&gpio_c 1 0>;
			u-boot,dm-pre-reloc;
			spd {
				#address-cells = <1>;
				#size-cells = <0>;
				samsung_4 {
					reg = <6>;
					data = [91 20 f1 03 04 11 05 0b
						03 11 01 08 0a 00 50 01
						78 78 90 50 90 11 50 e0
						10 04 3c 3c 01 90 00 00
						00 80 00 00 00 00 00 a8
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 0f 11 02 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 80 ce 01
						00 00 55 00 00 00 00 00
						4b 34 45 38 45 33 30 34
						45 44 2d 45 47 43 45 20
						20 20 00 00 80 ce 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00];
				};
				hynix-h9ccnnnbltmlar-ntm-lpddr3-32 {
					/*
					 * banks 8, ranks 2, rows 14,
					 * columns 10, density 4096 mb, x32
					 */
					reg = <8>;
					data = [91 20 f1 03 04 11 05 0b
						03 11 01 08 0a 00 50 01
						78 78 90 50 90 11 50 e0
						10 04 3c 3c 01 90 00 00
						00 80 00 00 00 00 00 a8
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 0f 01 02 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 80 ad 00
						00 00 55 00 00 00 00 00
						48 39 43 43 4e 4e 4e 42
						4c 54 4d 4c 41 52 2d 4e
						54 4d 00 00 80 ad 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00];
					};
				samsung_8 {
					reg = <10>;
					data = [91 20 f1 03 04 12 05 0a
						03 11 01 08 0a 00 50 01
						78 78 90 50 90 11 50 e0
						10 04 3c 3c 01 90 00 00
						00 80 00 00 00 00 00 a8
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 0f 11 02 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 80 ce 01
						00 00 55 00 00 00 00 00
						4b 34 45 36 45 33 30 34
						45 44 2d 45 47 43 45 20
						20 20 00 00 80 ce 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00];
				};
				hynix-h9ccnnnbltmlar-ntm-lpddr3-16 {
					/*
					 * banks 8, ranks 2, rows 14,
					 * columns 11, density 4096 mb, x16
					 */
					reg = <12>;
					data = [91 20 f1 03 04 12 05 0a
						03 11 01 08 0a 00 50 01
						78 78 90 50 90 11 50 e0
						10 04 3c 3c 01 90 00 00
						00 80 00 00 00 00 00 a8
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 0f 01 02 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 80 ad 00
						00 00 55 00 00 00 00 00
						48 39 43 43 4e 4e 4e 42
						4c 54 4d 4c 41 52 2d 4e
						54 4d 00 00 80 ad 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00];
				};
				hynix-h9ccnnncltmlar-lpddr3 {
					/*
					 * banks 8, ranks 2, rows 15,
					 * columns 11, density 8192 mb, x16
					 */
					reg = <13>;
					data = [91 20 f1 03 05 1a 05 0a
						03 11 01 08 0a 00 50 01
						78 78 90 50 90 11 50 e0
						90 06 3c 3c 01 90 00 00
						00 80 00 00 00 00 00 a8
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 0f 01 02 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 80 ad 00
						00 00 55 00 00 00 00 00
						48 39 43 43 4e 4e 4e 43
						4c 54 4d 4c 41 52 00 00
						00 00 00 00 80 ad 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00];
				};
				elpida-edfb232a1ma {
					/*
					 * banks 8, ranks 2, rows 15,
					 * columns 11, density 8192 mb, x16
					 */
					reg = <15>;
					data = [91 20 f1 03 05 1a 05 0a
						03 11 01 08 0a 00 50 01
						78 78 90 50 90 11 50 e0
						90 06 3c 3c 01 90 00 00
						00 80 00 00 00 00 00 a8
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 0f 01 02 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 02 fe 00
						00 00 00 00 00 00 00 00
						45 44 46 42 32 33 32 41
						31 4d 41 2d 47 44 2d 46
						00 00 00 00 02 fe 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00
						00 00 00 00 00 00 00 00];
				};
			};
		};

		gma@2,0 {
			reg = <0x00001000 0 0 0 0>;
			compatible = "intel,broadwell-igd";
			intel,dp-hotplug = <6 6 6>;
			intel,port-select = <1>;	/* eDP */
			intel,power-cycle-delay = <6>;
			intel,power-up-delay = <2000>;
			intel,power-down-delay = <500>;
			intel,power-backlight-on-delay = <2000>;
			intel,power-backlight-off-delay = <2000>;
			intel,cpu-backlight = <0x00000200>;
			intel,pch-backlight = <0x04000200>;
			intel,pre-graphics-delay = <200>;
		};

		me@16,0 {
			reg = <0x0000b000 0 0 0 0>;
			compatible = "intel,me";
			u-boot,dm-pre-reloc;
		};

		usb_1: usb@14,0 {
			reg = <0x0000a000 0 0 0 0>;
			compatible = "xhci-pci";
		};

		usb_0: usb@1d,0 {
			status = "disabled";
			reg = <0x0000e800 0 0 0 0>;
			compatible = "ehci-pci";
		};

		pch@1f,0 {
			reg = <0x0000f800 0 0 0 0>;
			compatible = "intel,broadwell-pch";
			u-boot,dm-pre-reloc;
			#address-cells = <1>;
			#size-cells = <1>;
			intel,pirq-routing = <0x8b 0x8a 0x8b 0x8b
						0x80 0x80 0x80 0x80>;
			intel,gpi-routing = <0 0 0 0 0 0 0 2
						1 0 0 0 0 0 0 0>;
			/* Enable EC SMI source */
			intel,alt-gp-smi-enable = <0x0040>;

			/* EC-SCI is GPIO36 */
			intel,gpe0-en = <0 0x10 0 0>;

			power-enable-gpio = <&gpio_a 23 0>;

			spi: spi {
				#address-cells = <1>;
				#size-cells = <0>;
				compatible = "intel,ich9-spi";
				spi-flash@0 {
					#size-cells = <1>;
					#address-cells = <1>;
					reg = <0>;
					compatible = "winbond,w25q64",
							"spi-flash";
					memory-map = <0xff800000 0x00800000>;
					rw-mrc-cache {
						label = "rw-mrc-cache";
						reg = <0x003e0000 0x00010000>;
					};
				};
			};

			gpio_a: gpioa {
				compatible = "intel,broadwell-gpio";
				u-boot,dm-pre-reloc;
				#gpio-cells = <2>;
				gpio-controller;
				reg = <0 0>;
				bank-name = "A";
			};

			gpio_b: gpiob {
				compatible = "intel,broadwell-gpio";
				u-boot,dm-pre-reloc;
				#gpio-cells = <2>;
				gpio-controller;
				reg = <1 0>;
				bank-name = "B";
			};

			gpio_c: gpioc {
				compatible = "intel,broadwell-gpio";
				u-boot,dm-pre-reloc;
				#gpio-cells = <2>;
				gpio-controller;
				reg = <2 0>;
				bank-name = "C";
			};

			lpc {
				compatible = "intel,broadwell-lpc";
				#address-cells = <1>;
				#size-cells = <0>;
				u-boot,dm-pre-reloc;
				intel,gen-dec = <0x800 0xfc 0x900 0xfc>;
				cros-ec@200 {
					compatible = "google,cros-ec-lpc";
					reg = <0x204 1 0x200 1 0x880 0x80>;

					/*
					 * Describes the flash memory within
					 * the EC
					 */
					#address-cells = <1>;
					#size-cells = <1>;
					flash@8000000 {
						reg = <0x08000000 0x20000>;
						erase-value = <0xff>;
					};
				};
			};
		};

		sata@1f,2 {
			compatible = "intel,wildcatpoint-ahci";
			reg = <0x0000fa00 0 0 0 0>;
			u-boot,dm-pre-reloc;
			intel,sata-mode = "ahci";
			intel,sata-port-map = <1>;
			intel,sata-port0-gen3-tx = <0x72>;
			reset-gpio = <&gpio_b 15 GPIO_ACTIVE_LOW>;
		};

		smbus: smbus@1f,3 {
			compatible = "intel,ich-i2c";
			reg = <0x0000fb00 0 0 0 0>;
			u-boot,dm-pre-reloc;
		};
	};

	tpm {
		reg = <0xfed40000 0x5000>;
		compatible = "infineon,slb9635lpc";
	};

	microcode {
		update@0 {
#include "microcode/mc0306d4_00000018.dtsi"
		};
	};

};
