/* SPDX-License-Identifier: GPL-2.0+ */
/*
 * Configuration file for Qualcomm Snapdragon boards
 *
 * (C) Copyright 2021 Dzmitry Sankouski <dsankouski@gmail.com>
 * (C) Copyright 2023 Linaro Ltd.
 */

#ifndef __CONFIGS_SNAPDRAGON_H
#define __CONFIGS_SNAPDRAGON_H

#define CFG_SYS_BAUDRATE_TABLE	{ 115200, 230400, 460800, 921600 }

// 2a5aa852-b856-4d97-baa9-5c5f4421551f
#define QUALCOMM_UBOOT_BOOT_IMAGE_GUID \
	EFI_GUID(0x2a5aa852, 0xb856, 0x4d97, 0xba, 0xa9, \
		0x5c, 0x5f, 0x44, 0x21, 0x55, 0x1f)

/* Load addressed are calculated during board_late_init(). See arm/mach-snapdragon/board.c */
#define CFG_EXTRA_ENV_SETTINGS \
	"bootdelay=1\0" \
	"stdin=serial,button-kbd\0"	\
	"stdout=serial,vidconsole\0"	\
	"stderr=serial,vidconsole\0" \
	"preboot=bootflow scan -l\0" \
	"gbl=load mmc 0:1 ${kernel_addr_r} gbl_aarch64.efi; bootefi ${kernel_addr_r}\0" \
	"uuid_efi=BC0330EB-3410-4951-A617-03898DBE3377\0" \
	"uuid_boot_a=77036CD4-03D5-42BB-8ED1-37E5A88BAA37\0" \
	"uuid_boot_b=77036CD4-03D5-42BB-8ED1-37E5A88BAA77\0" \
	"uuid_init_boot_a=9FB61B5A-5245-47C2-9A59-DBE909F38497\0" \
	"uuid_init_boot_b=9FB61B5A-5245-47C2-9A59-DBE909F38477\0" \
	"uuid_vendor_boot_a=4FFF84FA-5269-43A8-9E36-25C566123B67\0" \
	"uuid_vendor_boot_b=4FFF84FA-5269-43A8-9E36-25C566123B77\0" \
	"uuid_vbmeta=A11D2A7C-D82A-4C2F-8A01-1805240E6627\0" \
	"uuid_modemst1=EBBEADAF-22C9-E33B-8F5D-0E81686A68C7\0" \
	"uuid_modemst2=0A288B1F-22C9-E33B-8F5D-0E81686A68C7\0" \
	"uuid_fsg=638FF8E2-22C9-E33B-8F5D-0E81686A68C7\0" \
	"uuid_fsc=57B90A16-22C9-E33B-8F5D-0E81686A68C7\0" \
	"uuid_misc=82ACC91F-357C-4A68-9C8F-689E1B1A23A7\0" \
	"uuid_metadata=649044CD-B22B-443F-8DF8-687EB85380A7\0" \
	"uuid_super=88147DE5-14E6-43CC-9FE2-48F6B99CBB47\0" \
	"uuid_userdata=1B81E7E6-F50D-419B-A739-2AEEF8DA3337\0" \
	"partitions_aosp=name=efi,start=128K,size=128M,uuid=${uuid_efi};name=boot_a,size=128M,uuid=${uuid_boot_a};name=boot_b,size=128M,uuid=${uuid_boot_b};name=init_boot_a,size=128M,uuid=${uuid_init_boot_a};name=init_boot_b,size=128M,uuid=${uuid_init_boot_b};name=vendor_boot_a,size=128M,uuid=${uuid_vendor_boot_a};name=vendor_boot_b,size=128M,uuid=${uuid_vendor_boot_b};name=vbmeta,size=128M,uuid=${uuid_vbmeta};name=modemst1,size=2M,uuid=${uuid_modemst1};name=modemst2,size=2M,uuid=${uuid_modemst2};name=fsg,size=2M,uuid=${uuid_fsg};name=fsc,size=1M,uuid=${uuid_fsc};name=misc,size=1M,uuid=${uuid_misc};name=metadata,size=256M,uuid=${uuid_metadata};name=super,size=4096M,uuid=${uuid_super};name=userdata,size=-,uuid=${uuid_userdata};\0" \
	"gpt_mmc_aosp=gpt write mmc 0 $partitions_aosp\0" \
	"fastboot=setenv bootargs androidboot.serialno=${serial#} ; fastboot -l $fastboot_addr_r usb 0\0" \
	"bootmenu_0=Boot first available device=bootflow scan -b\0" \
	"bootmenu_1=Enable USB mass storage=ums 0 scsi 0,1,2,3,4,5\0" \
	"bootmenu_2=Enable fastboot mode=run fastboot\0" \
	"bootmenu_3=Reset device=reset\0" \
	"menucmd=bootmenu\0" \
	"bootcmd=bootflow scan -b\0" /* first entry is default */

#endif
