/*
 * Copyright (c) 2019,2020, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

#include "sdm429.dtsi"
#include "sdm429w-pm660.dtsi"

&pil_mss {
	qcom,sequential-fw-load;
};

&firmware {
	android {
		compatible = "android,firmware";
		vbmeta {
			compatible = "android,vbmeta";
			parts = "vbmeta,boot,system,vendor,dtbo,recovery";
		};
		fstab {
			compatible = "android,fstab";
			vendor {
				compatible = "android,vendor";
				dev =
		"/dev/block/platform/soc/7824900.sdhci/by-name/vendor";
				type = "ext4";
				mnt_flags = "ro,barrier=1,discard";
				fsmgr_flags = "wait,avb";
				status = "ok";
			};
			system {
				compatible = "android,system";
				dev =
		"/dev/block/platform/soc/7824900.sdhci/by-name/system";
				type = "ext4";
				mnt_flags = "ro,barrier=1,discard";
				fsmgr_flags = "wait,avb";
				status = "ok";
			};
		};
	};
};
