/dts-v1/;
/ {
	model = "Google Urara";
	config {
		hwid = "Urara TEST 1";
	};
	chromeos-config {
		/* Enable factory-friendly features. */
		gbb-flag-dev-screen-short-delay;
		gbb-flag-force-dev-boot-usb;
		gbb-flag-disable-fw-rollback-check;
	};
	flash@0 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "chromeos,flashmap";
		reg = <0x00000000 0x00200000>;

		/* ---- Section: Read-only ---- */
		wp-ro {
			label = "wp-ro";
			reg = <0x00000000 0x00100000>;
			read-only;
		};

		ro-section {
			label = "ro-section";
			reg = <0x00000000 0x00f0000>;
			read-only;
		};
		ro-boot {
			label = "coreboot";
			size = <0x00080000>;
			read-only;
			type = "blob coreboot";
			required;
		};

		ro-fmap {
			label = "fmap";

			/* We encourage to align FMAP partition in as large
			 * block as possible so that flashrom can find it soon.
			 * For example, aligning to 512KB is better than to
			 * 256KB. */

			reg = <0x000e0000 0x00001000>;
			read-only;
			type = "fmap";
			ver-major = <1>;
			ver-minor = <0>;
		};

		ro-gbb {
			label = "gbb";

			/* GBB offset must be aligned to 4K bytes */
			reg = <0x000e1000 0x0000ef00>;
			read-only;
			type = "blob gbb";
		};

		ro-firmware-id {
			label = "ro-frid";
			reg = <0x000eff00 0x00000100>;
			read-only;
			type = "blobstring fwid";
		};

		/* ---- Section: Vital-product data (VPD) ---- */
		ro-vpd {
			label = "ro-vpd";

			/* VPD offset must be aligned to 4K bytes */
			reg = <0x000f0000 0x00010000>;
			read-only;
			type = "wiped";
			wipe-value = [ff];
		};

		/* ---- Section: Rewritable slot A ---- */
		rw-a {
			label = "rw-section-a";
			/* Alignment: 4k (for updating) */
			reg = <0x00100000 0x000070000>;
		};
		rw-a-vblock {
			label = "vblock-a";
			/*
			 * Alignment: 4k (for updating) and must be in start of
			 * each RW_SECTION.
			 */
			reg = <0x00100000 0x00002000>;
			type = "keyblock boot";
			with_index;
			keyblock = "firmware.keyblock";
			signprivate = "firmware_data_key.vbprivk";
			version = <1>;
			kernelkey = "kernel_subkey.vbpubk";
			preamble-flags = <1>;
		};
		rw-a-boot {
			/* Alignment: no requirement (yet). */
			label = "fw-main-a";
			reg = <0x00102000 0x0006df00>;
			type = "blob boot";
			with_index;
		};
		rw-a-firmware-id {
			/* Alignment: no requirement. */
			label = "rw-fwid-a";
			reg = <0x0016ff00 0x00000100>;
			read-only;
			type = "blobstring fwid";
		};

		/* ---- Section: Rewritable shared 16 KB---- */
		shared-section {
			/*
			 * Alignment: 4k (for updating).
			 * Anything in this range may be updated in recovery.
			 */
			label = "rw-shared";
			reg = <0x00170000 0x00002000>;
		};
		shared-data {
			label = "shared-data";
			/*
			 * Alignment: 4k (for random read/write).
			 * RW firmware can put calibration data here.
			 */
			reg = <0x00170000 0x00002000>;
			type = "wiped";
			wipe-value = [00];
		};
		rw-gpt {
			label = "rw-gpt";
			/* Large enough for two GPT instances. */
			reg = <0x00172000 0x00002000>;
		};
		rw-gpt-primary {
			label = "rw-gpt-primary";
			reg = <0x00172000 0x00001000>;
			type = "wiped";
			wipe-value = [ff];
		};
		rw-gpt-secondary {
			label = "rw-gpt-secondary";
			reg = <0x00173000 0x00001000>;
			type = "wiped";
			wipe-value = [ff];
		};
		/* ---- Section: Rewritable Event Log 16KB ---- */
		rw-elog {
			label = "rw-elog";
			/* Alignment: 4K (for updating) */
			reg = <0x00174000 0x00004000>;
			type = "wiped";
			wipe-value = [ff];
		};
		/* ---- Section: Rewritable VPD 32 KB ---- */
		rw-vpd {
			label = "rw-vpd";
			/* Alignment: 4k (for updating) */
			reg = <0x00178000 0x00008000>;
			type = "wiped";
			wipe-value = [ff];
		};


		/* ---- Section: Rewritable slot B ---- */
		rw-b {
			label = "rw-section-b";
			/* Alignment: 4k (for updating) */
			reg = <0x00180000 0x00070000>;
		};
		rw-b-vblock {
			label = "vblock-b";
			/*
			 * Alignment: 4k (for updating) and must be in start of
			 * each RW_SECTION.
			 */
			reg = <0x00180000 0x00002000>;
			type = "keyblock boot";
			with_index;
			keyblock = "firmware.keyblock";
			signprivate = "firmware_data_key.vbprivk";
			version = <1>;
			kernelkey = "kernel_subkey.vbpubk";
			preamble-flags = <1>;
		};
		rw-b-boot {
			label = "fw-main-b";
			/* Alignment: no requirement (yet). */
			reg = <0x00182000 0x0006df00>;
			type = "blob boot";
			with_index;
		};
		rw-b-firmware-id {
			label = "rw-fwid-b";
			/* Alignment: no requirement. */
			reg = <0x001eff00 0x00000100>;
			read-only;
			type = "blobstring fwid";
		};

		/* ---- Section: nvram 64KB ---- */
		rw-nvram {
			label = "rw-nvram";
			/* Alignment: 64K (for block erases) */
			reg = <0x001f0000 0x00010000>;
			type = "wiped";
			wipe-value = [ff];
		};
	};
};
