/*
 * Copyright 2016 The Chromium OS Authors. All rights reserved.
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

/dts-v1/;

/ {
	chromeos {
		family: family {
		};
		models: models {
		};
	};
};

&family {
	audio {
		audio_type: audio-type {
			card = "bxtda7219max";
			volume = "cras-config/{cras-config-dir}/{card}";
			dsp-ini = "cras-config/{cras-config-dir}/dsp.ini";
			hifi-conf = "ucm-config/{card}.{ucm-suffix}/HiFi.conf";
			alsa-conf = "ucm-config/{card}.{ucm-suffix}/{card}.{ucm-suffix}.conf";
			topology-bin = "topology/5a98-reef-{topology-name}-8-tplg.bin";
		};
		audio_type_1mic: audio-type-1mic {
			card = "bxtda7219max";
			volume = "cras-config/{cras-config-dir}/{card}";
			dsp-ini = "cras-config/{cras-config-dir}/dsp.ini";
			hifi-conf = "ucm-config/1mic/HiFi.conf";
			alsa-conf = "ucm-config/1mic/{card}.conf";
			topology-bin = "topology/5a98-reef-{topology-name}-8-tplg.bin";
		};

		audio_type_2mic: audio-type-2mic {
			card = "bxtda7219max";
			cras-config-dir = "2mic";
			ucm-suffix = "2mic";
			topology-name = "2mic";
			volume = "cras-config/{cras-config-dir}/{card}";
			dsp-ini = "cras-config/{cras-config-dir}/dsp.ini";
			hifi-conf = "ucm-config/2mic/Wibble";
			alsa-conf = "ucm-config/2mic/{card}.conf";
		};
	};
	bcs {
		touch_bcs: touch-bcs {
			overlay = "overlay-reef-private";
			package = "chromeos-touch-firmware-reef";
			tarball = "chromeos-base/{package}/{package}-{ebuild-version}.tbz2";
			ebuild-version = "1.0-r9";
		};
	};
	power {
		power_type_clamshell: power-type-clamshell {
			charging-ports = "CROS_USB_PD_CHARGER0 LEFT\nCROS_USB_PD_CHARGER1 RIGHT";
			power-supply-full-factor = "0.12";
			suspend-to-idle = "1";
		};
		power_type_convertible: power-type-convertible {
			charging-ports = "CROS_USB_PD_CHARGER0 LEFT";
			power-supply-full-factor = "0.12";
		};
	};
	firmware {
		script = "updater4.sh";
		shared: caroline {
			bcs-overlay = "overlay-reef-private";
			ec-image = "bcs://Caroline_EC.2017.21.1.tbz2";
			pd-image = "bcs://Caroline_PD.2017.21.1.tbz2";
			main-image = "bcs://Caroline.2017.21.1.tbz2";
			main-rw-image = "bcs://Caroline.2017.41.0.tbz2";
			build-targets {
				coreboot = "caroline";
				ec = "caroline";
				depthcharge = "caroline";
				libpayload = "caroline";
			};
		};
	};
	mapping {
		sku-map@0 {
			platform-name = "Reef";
			smbios-name-match = "Reef";
			/*
			 * This is an example! It does not match any real
			 * family.
			 */
			simple-sku-map = <
				4 &reef_touch
				5 &reef_notouch
				8 &whitetip
				9 &whitetip1
				10 &blacktip
				11 &blacktip_touch
				12 &blacktip_notouch
				20 &caroline
				21 &broken>;
		};
		sku-map@1 {
			platform-name = "Pyro";
			smbios-name-match = "Pyro";
			single-sku = <&pyro>;
		};
	};
	touch {
		/* Example of how to put firmware in BCS */
		elan_touchscreen: elan-touchscreen {
			bcs-type = <&touch_bcs>;
			vendor = "elan";
			firmware-bin = "{vendor}/{pid}_{version}.bin";
			firmware-symlink = "{vendor}ts_i2c_{pid}.bin";
		};
		elan_touchpad: elan-touchpad {
			bcs-type = <&touch_bcs>;
			vendor = "elan";
			firmware-bin = "{vendor}/{pid}_{version}.bin";
			firmware-symlink = "{vendor}_i2c_{pid}.bin";
		};
		wacom_stylus: wacom-stylus {
			vendor = "wacom";
			firmware-bin = "wacom/{version}.hex";
			firmware-symlink = "wacom_firmware_{MODEL}.bin";
		};
	};
};

&models {
	pyro: pyro {
		wallpaper = "default";
		string-list = "default", "more";
		bool-prop;
		audio {
			main {
				audio-type = <&audio_type>;
				cras-config-dir = "pyro";
				ucm-suffix = "pyro";
				topology-name = "pyro";
			};
		};
		power {
			power-type = <&power_type_clamshell>;
			power-supply-full-factor = "0.20";
		};
		firmware {
			bcs-overlay = "overlay-pyro-private";
			ec-image = "bcs://Pyro_EC.9042.87.1.tbz2";
			pd-image = "bcs://Pyro_PD.9042.87.1.tbz2";
			main-image = "bcs://Pyro.9042.87.1.tbz2";
			main-rw-image = "bcs://Pyro.9042.110.0.tbz2";
			build-targets {
				coreboot = "pyro";
				ec = "pyro";
				depthcharge = "pyro";
				libpayload = "pyro";
			};
		};
		thermal {
			dptf-dv = "pyro/dptf.dv";
		};
		touch {
			present = "probe";
			probe-regex = "[Tt]ouchscreen|WCOMNTN2";
			stylus {
				touch-type = <&wacom_stylus>;
				version = "4209";
			};
			touchscreen {
				touch-type = <&elan_touchscreen>;
				pid = "0a97";
				version = "1012";
			};
		};
	};
	caroline: caroline {
		default = <&pyro>;
		wallpaper = "caroline";
		audio {
			main {
				cras-config-dir = "caroline";
			};
		};
		firmware {
			shares = < &shared >;
		};
	};
	reef {
		wallpaper = "epic";
		arc {
			hw-features = "reef/arc++/hardware_features";
		};
		power {
			power-type = <&power_type_clamshell>;
			set-wifi-transmit-power-for-tablet-mode = <1>;
		};
		firmware {
			bcs-overlay = "overlay-reef-private";
			ec-image = "bcs://Reef_EC.9042.87.1.tbz2";
			main-image = "bcs://Reef.9042.87.1.tbz2";
			main-rw-image = "bcs://Reef.9042.110.0.tbz2";
			build-targets {
				coreboot = "pyro";
				ec = "pyro";
				depthcharge = "pyro";
				libpayload = "pyro";
			};
		};
		submodels {
			reef_touch: touch {
				touch {
					present = "yes";
				};
				audio {
					main {
						audio-type = <&audio_type_1mic>;
						cras-config-dir = "1mic";
						ucm-suffix = "1mic";
						topology-name = "1mic";
					};
				};
				thermal {
					dptf-dv = "reef_touch/dptf.dv";
				};
			};
			reef_notouch: notouch {
				touch {
					present = "no";
				};
				audio {
					main {
						audio-type = <&audio_type_2mic>;
					};
				};
				thermal {
					dptf-dv = "reef_notouch/dptf.dv";
				};
			};
		};
		touch {
			stylus {
				touch-type = <&wacom_stylus>;
				version = "4209";
			};
			touchpad {
				touch-type = <&elan_touchpad>;
				pid = "97.0";
				version = "6.0";
			};
			touchscreen@0 {
				touch-type = <&elan_touchscreen>;
				pid = "3062";
				version = "5602";
			};
			touchscreen@1 {
				touch-type = <&elan_touchscreen>;
				pid = "306e";
				version = "5611";
			};
		};
	};
	broken: broken {
		default = <&caroline>;
		firmware {
			bcs-overlay = "overlay-reef-private";
			main-image = "bcs://Reef.9042.87.1.tbz2";
			no-firmware;
		};
	};

	/* Whitelabel model */
	whitetip: whitetip {
		powerd-prefs = "whitetip";
		firmware {
			sig-id-in-customization-id;
			shares = <&shared>;
		};
		audio {
			main {
				audio-type = <&audio_type>;
				cras-config-dir = "reefcras";
				ucm-suffix = "reefucm";
				topology-name = "reeftop";
			};
		};
		touch {
			present = "yes";
			stylus {
				touch-type = <&wacom_stylus>;
				version = "4209";
			};
		};
	};

	whitetip1: whitetip1 {
		whitelabel = <&whitetip>;
		wallpaper = "shark";
		brand-code = "SHAR";
		firmware {
			key-id = "WHITETIP1";
                        no-firmware;
		};
	};

	whitetip2 {
		whitelabel = <&whitetip>;
		wallpaper = "more_shark";
		brand-code = "SHAQ";
		firmware {
			key-id = "WHITETIP2";
		};
	};

	/* Whitelabel model */
	blacktip: blacktip {
		firmware {
			shares = <&shared>;
		};
		submodels {
			blacktip_touch: touch {
				touch {
					present = "yes";
				};
			};
			blacktip_notouch: notouch {
				touch {
					present = "no";
				};
			};
		};
		whitelabels {
			blacktip1 {
				wallpaper = "dark";
				brand-code = "HBBN";
				key-id = "BLACKTIP1";
			};
			blacktip2 {
				wallpaper = "darker";
				brand-code = "HBBO";
				key-id = "BLACKTIP2";
			};
		};
	};
};

/include/ "target_dirs.dtsi"
