/dts-v1/;

#define USB_CLASS_HUB			9

/ {
	#address-cells = <1>;
	#size-cells = <1>;

	aliases {
		eth5 = "/eth@90000000";
		i2c0 = &i2c_0;
		pci0 = &pci;
		rtc0 = &rtc_0;
	};

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

	cros_ec: cros-ec@0 {
		reg = <0 0>;
		compatible = "google,cros-ec-sandbox";

		/*
		 * This describes the flash memory within the EC. Note
		 * that the STM32L flash erases to 0, not 0xff.
		 */
		#address-cells = <1>;
		#size-cells = <1>;
		flash@8000000 {
			reg = <0x08000000 0x20000>;
			erase-value = <0>;
			#address-cells = <1>;
			#size-cells = <1>;

			/* Information for sandbox */
			ro {
				reg = <0 0xf000>;
			};
			wp-ro {
				reg = <0xf000 0x1000>;
			};
			rw {
				reg = <0x10000 0x10000>;
			};
		};
	};

	eth@10002000 {
		compatible = "sandbox,eth";
		reg = <0x10002000 0x1000>;
		fake-host-hwaddr = [00 00 66 44 22 00];
	};

	eth@80000000 {
		compatible = "sandbox,eth-raw";
		reg = <0x80000000 0x1000>;
		host-raw-interface = "eth0";
	};

	eth@90000000 {
		compatible = "sandbox,eth-raw";
		reg = <0x90000000 0x1000>;
		host-raw-interface = "lo";
	};

	gpio_a: gpios@0 {
		gpio-controller;
		compatible = "sandbox,gpio";
		#gpio-cells = <1>;
		gpio-bank-name = "a";
		num-gpios = <20>;
	};

	gpio_b: gpios@1 {
		gpio-controller;
		compatible = "sandbox,gpio";
		#gpio-cells = <2>;
		gpio-bank-name = "b";
		num-gpios = <10>;
	};

	hexagon {
		compatible = "demo-simple";
		colour = "white";
		sides = <6>;
	};

	i2c_0: i2c@0 {
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0 0>;
		compatible = "sandbox,i2c";
		clock-frequency = <400000>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_i2c0>;
		eeprom@2c {
			reg = <0x2c>;
			compatible = "i2c-eeprom";
			emul {
				compatible = "sandbox,i2c-eeprom";
				sandbox,filename = "i2c.bin";
				sandbox,size = <128>;
			};
		};

		rtc_0: rtc@43 {
			reg = <0x43>;
			compatible = "sandbox-rtc";
			emul {
				compatible = "sandbox,i2c-rtc";
			};
		};
		sandbox_pmic: sandbox_pmic {
			reg = <0x40>;
		};
	};

	lcd {
		u-boot,dm-pre-reloc;
		compatible = "sandbox,lcd-sdl";
		xres = <1366>;
		yres = <768>;
	};

	pci: pci-controller {
		compatible = "sandbox,pci";
		device_type = "pci";
		#address-cells = <3>;
		#size-cells = <2>;
		ranges = <0x02000000 0 0x10000000 0x10000000 0 0x2000
				0x01000000 0 0x20000000 0x20000000 0 0x2000>;
		pci@1f,0 {
			compatible = "pci-generic";
			reg = <0xf800 0 0 0 0>;
			emul@1f,0 {
				compatible = "sandbox,swap-case";
			};
		};
	};

	pinctrl {
		compatible = "sandbox,pinctrl";

		pinctrl_i2c0: i2c0 {
			groups = "i2c";
			function = "i2c";
			bias-pull-up;
		};

		pinctrl_serial0: uart0 {
			groups = "serial_a";
			function = "serial";
		};
	};

	reset@1 {
		compatible = "sandbox,reset";
	};

	spi@0 {
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0 0>;
		compatible = "sandbox,spi";
		cs-gpios = <0>, <&gpio_a 0>;
		firmware_storage_spi: flash@0 {
			reg = <0>;
			compatible = "spansion,m25p16", "sandbox,spi-flash";
			spi-max-frequency = <40000000>;
			sandbox,filename = "spi.bin";
		};
	};

	spl-test {
		u-boot,dm-pre-reloc;
		compatible = "sandbox,spl-test";
		boolval;
		intval = <1>;
		intarray = <2 3 4>;
		byteval = [05];
		bytearray = [06];
		longbytearray = [09 0a 0b 0c 0d 0e 0f 10 11];
		stringval = "message";
		stringarray = "multi-word", "message";
	};

	spl-test2 {
		u-boot,dm-pre-reloc;
		compatible = "sandbox,spl-test";
		intval = <3>;
		intarray = <5>;
		byteval = [08];
		bytearray = [01 23 34];
		longbytearray = [09 0a 0b 0c];
		stringval = "message2";
		stringarray = "another", "multi-word", "message";
	};

	spl-test3 {
		u-boot,dm-pre-reloc;
		compatible = "sandbox,spl-test";
		stringarray = "one";
	};

	spl-test4 {
		u-boot,dm-pre-reloc;
		compatible = "sandbox,spl-test.2";
	};

	square {
		compatible = "demo-shape";
		colour = "blue";
		sides = <4>;
	};

	timer {
		compatible = "sandbox,timer";
		clock-frequency = <1000000>;
	};

	tpm {
		compatible = "google,sandbox-tpm";
	};

	triangle {
		compatible = "demo-shape";
		colour = "cyan";
		sides = <3>;
		character = <83>;
		light-gpios = <&gpio_a 2>, <&gpio_b 6 0>;
	};

	/* Needs to be available prior to relocation */
	uart0: serial {
		compatible = "sandbox,serial";
		sandbox,text-colour = "cyan";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_serial0>;
	};

	usb@0 {
		compatible = "sandbox,usb";
		status = "disabled";
		hub {
			compatible = "sandbox,usb-hub";
			#address-cells = <1>;
			#size-cells = <0>;
			flash-stick {
				reg = <0>;
				compatible = "sandbox,usb-flash";
			};
		};
	};

	usb@1 {
		compatible = "sandbox,usb";
		hub {
			compatible = "usb-hub";
			usb,device-class = <USB_CLASS_HUB>;
			hub-emul {
				compatible = "sandbox,usb-hub";
				#address-cells = <1>;
				#size-cells = <0>;
				flash-stick {
					reg = <0>;
					compatible = "sandbox,usb-flash";
					sandbox,filepath = "flash.bin";
				};
			};
		};
	};

	usb@2 {
		compatible = "sandbox,usb";
		status = "disabled";
	};

	spmi: spmi@0 {
		compatible = "sandbox,spmi";
		#address-cells = <0x1>;
		#size-cells = <0x1>;
		pm8916@0 {
			compatible = "qcom,spmi-pmic";
			reg = <0x0 0x1>;
			#address-cells = <0x1>;
			#size-cells = <0x1>;

			spmi_gpios: gpios@c000 {
				compatible = "qcom,pm8916-gpio";
				reg = <0xc000 0x400>;
				gpio-controller;
				gpio-count = <4>;
				#gpio-cells = <2>;
				gpio-bank-name="spmi";
			};
		};
	};
};

#include "cros-ec-keyboard.dtsi"
#include "sandbox_pmic.dtsi"
