platform/kernel/u-boot.git
9 months agoHandle virtual a/b sandbox/jkryszyn/virtual-ab
Jacek Kryszyn [Wed, 24 Jul 2024 05:19:11 +0000 (07:19 +0200)]
Handle virtual a/b

This commit changes the way that super is prepared
in order to handle virtual a/b partition schema.

Instead of two slots there is only one and instead
of rootfs_b and hal_b there are rootfs_a_cow and
hal_a_cow.

Change-Id: I9ed2e15df9a20a0e6b59e6f03376ad32b55120bc

9 months agosamsung: tizen_rpi: Fix wrong console environment 76/316276/1 accepted/tizen_9.0_unified accepted/tizen_unified_dev accepted/tizen_unified_toolchain accepted/tizen/9.0/unified/20241030.235351 accepted/tizen/unified/20240819.150128 accepted/tizen/unified/dev/20240821.053511 accepted/tizen/unified/toolchain/20241004.101616 accepted/tizen/unified/x/20240820.013138 accepted/tizen/unified/x/asan/20241013.235935 tizen_9.0_m2_release
Jaehoon Chung [Mon, 19 Aug 2024 02:05:34 +0000 (11:05 +0900)]
samsung: tizen_rpi: Fix wrong console environment

console is reassigned in bootscript with ${console}.
If it'sconsole=ram , $console should be "ram".
To use a correct environment, change from 'console ram' to 'console
console=ram'.

Change-Id: I05d19b46152033a20dfb9c288275ca0dc0f5d665
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
9 months agoscripts: sd_fusing: Add support for Amlogic Meson based Odroid C4 board 74/316174/2
Marek Szyprowski [Wed, 14 Aug 2024 07:49:28 +0000 (09:49 +0200)]
scripts: sd_fusing: Add support for Amlogic Meson based Odroid C4 board

This allows to easily fuse Tizen to SD card or eMMC module in SD card
adapter.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ifea9a29ca23dafab7b9745efb71c7202fa025170

9 months agoscripts: sd_fusing: Fix re-reading partition table again 73/316173/1
Marek Szyprowski [Wed, 14 Aug 2024 07:42:48 +0000 (09:42 +0200)]
scripts: sd_fusing: Fix re-reading partition table again

Actually it turned out that any direct write access to the block device
might trigger kernel and udev to re-read partition table, so call
'udevadm settle' always after writing boot image directly to block
device.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I3caf4ea6d3b89cb333e38f7b30dcf44685d73335

9 months agoscripts: sd_fusing: Add force option to mkfs.ext4 72/316172/1
Marek Szyprowski [Wed, 14 Aug 2024 09:30:47 +0000 (11:30 +0200)]
scripts: sd_fusing: Add force option to mkfs.ext4

Add force ('-F') option to mkfs.ext4 to avoid unexpectted filesystem
creation failure caused by some garbage being misdetected as DOS
partition signature:

2024-08-14T08:59:40.904 [sd_fusing.py:956] Formatting /dev/sda9 as ext4
2024-08-14T08:59:40.905 [sd_fusing.py:968] mkfs.ext4 -q -L inform /dev/sda9
Found a dos partition table in /dev/sda9
Proceed anyway? (y,N)
2024-08-14T08:59:40.924 Failed to create ext4 filesystem on /dev/sda9

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I6e960e2f48285fe2f2a139b4342621c82172350b

9 months agoscripts: sd_fusing: Update a patch vertion 46/316146/1
Jaehoon Chung [Wed, 14 Aug 2024 04:44:58 +0000 (13:44 +0900)]
scripts: sd_fusing: Update a patch vertion

Update a patch version from 9 to 10.

Change-Id: Ic30d9be84d3c4b655e1b807591d819b71946791d
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
9 months agoscripts: sd_fusing: bpif3: rename 'bootfs_b' part label to 'boot_b' 24/316124/2
Seung-Woo Kim [Wed, 14 Aug 2024 01:12:12 +0000 (10:12 +0900)]
scripts: sd_fusing: bpif3: rename 'bootfs_b' part label to 'boot_b'

Use common 'boot'_{A/B} name instead of 'bootfs_b'
like 'boot_a' because tizen-boot-bpif3.scr is changed
to use 'boot_${partition_ab}'.

Change-Id: I4b4a934ef2769041d1c2a629a2dfebe5681d9698
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
9 months agoscripts: sd_fusing: bpif3: change partition type for bootloader partitions 04/316104/1
Marek Szyprowski [Tue, 13 Aug 2024 13:18:59 +0000 (15:18 +0200)]
scripts: sd_fusing: bpif3: change partition type for bootloader partitions

Use the semi-standard types of 'HiFive Unleashed FSBL/BBL' for bootloader
related partitions instead of the 'EFI System'. This helps other systems
to avoid trying to mount those partitions as FAT volumes.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I9cea997bcc76c628497e7d6ba4725a894cee5811

9 months agoscripts: sd_fusing: bpif3: rename FAT 'boot' partition to the common 'boot_a' 03/316103/1
Marek Szyprowski [Tue, 13 Aug 2024 13:15:33 +0000 (15:15 +0200)]
scripts: sd_fusing: bpif3: rename FAT 'boot' partition to the common 'boot_a'

Use common 'boot_a' name for the first 'boot' partition.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I60a4461ce0c9326f722c351ed5a1c20ee6dd06ca

9 months agoscripts: sd_fusing: bpif3: remove unused 'env' partition 02/316102/1
Marek Szyprowski [Tue, 13 Aug 2024 13:13:59 +0000 (15:13 +0200)]
scripts: sd_fusing: bpif3: remove unused 'env' partition

Tizen u-boot for BPif3 has been patched to store its environment on the
first 'boot' partition (FAT filesystem) in uboot.env file, like on other
Tizen boards. The 'env' partition is unused then, so remove it.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ie6b648f817e55f795e77358b8ce23846953cefa3

10 months agosamsung: tizen_rpi: Add enable/disable_delay environment 68/316068/1 accepted/tizen/unified/20240814.180309 accepted/tizen/unified/dev/20240819.095658 accepted/tizen/unified/x/20240819.023240
Jaehoon Chung [Tue, 13 Aug 2024 07:10:57 +0000 (16:10 +0900)]
samsung: tizen_rpi: Add enable/disable_delay environment

Add enable/disable_delay environmenet.
This is to check a booting time without log message and bootdelay.

To disable log mssage and bootdelay
- run disable_delay
To enable log message and bootdelay
- run enable_delay

Change-Id: I5da4a7dda48f71e4d35d33d998695b05438f6063
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
10 months agosamsung: tizen_rpi: Set to slot_a by default when run tfm 92/315792/1 accepted/tizen/unified/20240808.160409 accepted/tizen/unified/dev/20240809.091508 accepted/tizen/unified/toolchain/20240812.132415 accepted/tizen/unified/x/20240809.012857 accepted/tizen/unified/x/20240809.015559 accepted/tizen/unified/x/asan/20240813.230709
Jaehoon Chung [Wed, 7 Aug 2024 22:28:30 +0000 (07:28 +0900)]
samsung: tizen_rpi: Set to slot_a by default when run tfm

In some case, it's resetting to normal mode from download mode.
So it's always running as ramdisk boot mode.

To fix above issue, Set to slot_a by default when run tfm.
"run tfm" means that user tries to flahs entire image.
So it doesn't need that it enters to slot_b mode.

To prevent the overwrite, change the loading address to 0x02500000.
Because scriptaddr is using 0x02400000.

Change-Id: Iad0791484fb30d08d4584763088b80ad05979df1
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
10 months agotizen: rpi4: Load uboot.env from slot_b when booting is a slot_b 71/315771/1
Jaehoon Chung [Wed, 7 Aug 2024 08:30:27 +0000 (17:30 +0900)]
tizen: rpi4: Load uboot.env from slot_b when booting is a slot_b

Load uboot.env from slot_b when booting is a slot_b.
Otherwise, it should be using the environment of slot_a.

Change-Id: I8c98b4ce7cf9948feb0582c39f733783562ffc54
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
10 months agoscripts: sd_fusing: simplyfy the code structure in get_raw_binary_sector() 33/315733/3
Łukasz Stelmach [Wed, 7 Aug 2024 06:34:33 +0000 (08:34 +0200)]
scripts: sd_fusing: simplyfy the code structure in get_raw_binary_sector()

Simplify the structure introduced in 098472c46d ("scripts: sd_fusing:
Check the raw_binary_table attribute").

Change-Id: Iaf844529d7db2b1df28175689980f0f843e5b86e
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
10 months agoscripts: sd_fusing: Wait for udev also after writing to the zero sector 51/315751/1
Marek Szyprowski [Wed, 7 Aug 2024 06:50:34 +0000 (08:50 +0200)]
scripts: sd_fusing: Wait for udev also after writing to the zero sector

Writing to the zero sector might trigger kernel/udev to re-read partition
table, so wait for udev to settle in such case.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I517570713bbaffaf58a849023eb784ca7675a842

10 months agoscripts: sd_fusing: Check the raw_binary_table attribute 16/315716/2
Jaehoon Chung [Wed, 7 Aug 2024 00:38:07 +0000 (09:38 +0900)]
scripts: sd_fusing: Check the raw_binary_table attribute

If there is no raw_binary_table, it doesn't work fine with below
message. RPI4/VF2 don't have raw_binary_table attribute.

AttributeError: 'Rpi4' object has no attribute 'raw_binary_table'

Change-Id: I379a87d9731fe82a3a32f54b38eb533b1ca4f885
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
10 months agoscripts: sd_fusing: Update a patch version 11/315711/1
Marek Szyprowski [Fri, 5 Apr 2024 01:53:23 +0000 (10:53 +0900)]
scripts: sd_fusing: Update a patch version

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Id2b66f75be5f3a078bfa7306c166f37e55e5e34a

10 months agoscripts: sd_fusing: Add support for writing bootinfo_sd.bin for BananaPiF3 46/315646/2
Marek Szyprowski [Tue, 6 Aug 2024 11:57:10 +0000 (13:57 +0200)]
scripts: sd_fusing: Add support for writing bootinfo_sd.bin for BananaPiF3

Add support for writing bootinfo_sd.bin to the protective MBR bootcode
(sector zero) are of the SD card for BananaPiF3 boards.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I88b88aa34604f70ec6343ef26a8b535361c4f872

10 months agoscripts: sd_fusing: Remove code for handling hardcoded bootcode 09/315709/1
Marek Szyprowski [Tue, 6 Aug 2024 12:13:25 +0000 (14:13 +0200)]
scripts: sd_fusing: Remove code for handling hardcoded bootcode

Remove the code for handling hardcoded bootcode as it is no longer used.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: If399c8ae19789acf98b014fcac6307fadc564f5d

10 months agoscripts: sd_fusing: Add support for writing image at specified absolute sector 44/315644/2
Marek Szyprowski [Mon, 5 Aug 2024 15:42:12 +0000 (17:42 +0200)]
scripts: sd_fusing: Add support for writing image at specified absolute sector

Add support for writing raw images at the specified absolute sector of the
target device without the need to create a MBR or GPT partition for it.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ia3a8f1eb9ba12d0541700cf4e9358f33290f3ec8

10 months agoscripts: sd_fusing: Add entry for raw binary bootcode for LicheePi4A 45/315645/2
Marek Szyprowski [Tue, 6 Aug 2024 12:12:30 +0000 (14:12 +0200)]
scripts: sd_fusing: Add entry for raw binary bootcode for LicheePi4A

The content of the bootcode will be moved from sd_fusing.py script to the
boot images, so add a new raw binary entry for the bootcode.bin file for
the LicheePi4A platform.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: If399c8ae19789acf98b014fcac6307fadc564f5c

10 months agotools: imagetool: Remove unnecessary check from toc0_verify_cert_item() 26/315426/3 accepted/tizen/unified/20240806.010530 accepted/tizen/unified/dev/20240807.093111 accepted/tizen/unified/x/20240806.104704
Seung-Woo Kim [Thu, 1 Aug 2024 00:53:43 +0000 (09:53 +0900)]
tools: imagetool: Remove unnecessary check from toc0_verify_cert_item()

Remove unnecessary null check from toc0_verify_cert_item()
because the array digest is always not null.

Change-Id: I0d7f464a6528d89824b533a4224a62113d005291
Ref: https://patchwork.ozlabs.org/project/uboot/patch/20240801010100.21009-1-sw0312.kim@samsung.com/
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
10 months agoscripts: sd_fusing: Write bootcode before calling 'udevadm settle' 80/315480/2
Marek Szyprowski [Thu, 1 Aug 2024 10:26:08 +0000 (12:26 +0200)]
scripts: sd_fusing: Write bootcode before calling 'udevadm settle'

Writing bootcode to the first sector of the device might trigger kernel
or udev to reread partition table, so do this before calling 'udevadm
settle' command.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Iaab903a31b3ff97de3195f02b5220f26b246a832

10 months agopylibfdt: Fix "invalid escape sequence '\w'" in setup.py 22/315422/1
Florian Schmaus [Tue, 20 Feb 2024 13:52:48 +0000 (08:52 -0500)]
pylibfdt: Fix "invalid escape sequence '\w'" in setup.py

Once u-boot's build system invokes

python3 scripts/dtc/pylibfdt/setup.py --quiet build_ext --inplace

it may fail with

scripts/dtc/pylibfdt/setup.py:40: SyntaxWarning: invalid escape sequence '\w'
  RE_KEY_VALUE = re.compile('(?P<key>\w+) *(?P<plus>[+])?= *(?P<value>.*)$')

depending on the used Python version.

Explicitly mark the regex string as raw string to avoid the warning.

Signed-off-by: Florian Schmaus <flo@geekplace.eu>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
[sw0312.kim: cherry-pick upstream commit d4c84d7062ec to resolve script warning]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: I5b53521afea61a07fa36725cb9ceedb4545ee188

11 months agoscripts: sd_fusing: Fix to write both a/b partition 30/314430/2
SangYoun Kwak [Thu, 11 Jul 2024 11:46:50 +0000 (20:46 +0900)]
scripts: sd_fusing: Fix to write both a/b partition

If sd_fusing script is executed with '--update ab' option, it should
write images to both a/b partitions.

When writing images, first, script reads image and writes to the
partition a until the image reaches the end.
Next, script reads image and writes to the partition b but it uses same
file object so there is nothing left to read. Thus, script writes
nothing to the partition b.

To fix this issue, a method call of the file object ".seek(0)" is added
before writing to the partitions. This will set cursor to the initial
position and the the image can be written to the partition b.

Change-Id: I78c1b3c77b6666a133527ba544911de8c4de44d4
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
11 months agoscripts: sd_fusing: Modifiy size of slots on super 57/314357/4
Jacek Kryszyn [Wed, 10 Jul 2024 14:11:21 +0000 (16:11 +0200)]
scripts: sd_fusing: Modifiy size of slots on super

Size of a slot on the super partition is now determined
using value given in the partition table of the rpi4s
target. This way it is guaranteed that the super.img
will fit on the designated partition.

Change-Id: Icdf07228156d7ac78322767c906f502abfa03c79
Signed-off-by: Jacek Kryszyn <j.kryszyn@samsung.com>
11 months agoscripts: Add new param file upgrade-type.info 42/314242/2
SangYoun Kwak [Tue, 9 Jul 2024 07:37:01 +0000 (16:37 +0900)]
scripts: Add new param file upgrade-type.info

File for the new parameter 'upgrade-type' is added.
The boot partition is selected by this parameter.

Available values(and boot partition for this value):
 * "offline" (ramdisk-recovery)
 * "online" (ramdisk)

The default value is "offline".

Change-Id: I929a5236c7f506708dda9a454af53648eef7e393
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
11 months agoscripts: sd_fusing: Fix a typo about fsbl file name 18/314218/2
Jaehoon Chung [Tue, 9 Jul 2024 02:05:13 +0000 (11:05 +0900)]
scripts: sd_fusing: Fix a typo about fsbl file name

Fix a typo about fsbl file name.
FSBL.bin is a correct. And remove unnecessary bootcode.

Change-Id: I54adc6bc30bc30446233722dd446c0c9a49d4ec6
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
11 months agoMerge "scripts: sd_fusing: Add BananaPi BPI-F3 board" into tizen accepted/tizen/unified/20240708.173158 accepted/tizen/unified/dev/20240709.043431 accepted/tizen/unified/x/20240708.014816
Jaehoon Chung [Fri, 5 Jul 2024 04:10:24 +0000 (04:10 +0000)]
Merge "scripts: sd_fusing: Add BananaPi BPI-F3 board" into tizen

11 months agoscripts: sd_fusing: Add BananaPi BPI-F3 board 24/314024/1
Jaehoon Chung [Thu, 4 Jul 2024 06:21:03 +0000 (15:21 +0900)]
scripts: sd_fusing: Add BananaPi BPI-F3 board

Add BananaPi BPI-F3 board to support new RISC-V board.

Change-Id: I4a80af2f2c5faea4be9558972929bff3121d6925
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
11 months agoAdd support for setting upgrade type 45/313645/2
Mateusz Moscicki [Fri, 28 Jun 2024 10:54:06 +0000 (12:54 +0200)]
Add support for setting upgrade type

Upgrade type (online or offline) is set by HAL API.
Depending on the type selected during bootmode=FOTA ramdisk (online) or
ramdisk-recovery (offline) will be picked as boot partition.

Change-Id: Ifb7372b0da9a3df83bbf7a979fdb4035feade8ee

11 months agoscripts: sd_fusing: Add sfdisk error handling 42/313142/3
Mateusz Moscicki [Wed, 19 Jun 2024 08:51:03 +0000 (10:51 +0200)]
scripts: sd_fusing: Add sfdisk error handling

Change-Id: I46519635e252de19a131a65bbd177eb9500b0138

12 months agoscripts: sd_fusing: support device symlinks in ensure_parttable() 39/312739/1
Łukasz Stelmach [Thu, 13 Jun 2024 11:12:41 +0000 (13:12 +0200)]
scripts: sd_fusing: support device symlinks in ensure_parttable()

sd_fusing needs to support referring to devices by symlinks created by udev like
/dev/disk/by-id/usb-Generic_STORAGE_DEVICE_000000000272-0. Their partitions
are named /dev/disk/by-id/usb-Generic_STORAGE_DEVICE_000000000272-0-partX. Therefore
there is no universal way to access both /dev/sdXY and the symlinked
partitions and using get_partition_device() is the way to go.

Change-Id: I4c586f8e9b6e3940faa6055c90835bbff1777ec5
Fixes: 43ab41c7e7 ("sd_fusing.py: Ensure selected flashing target actually matches what is on device")
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
12 months agoscripts: sd_fusing: Update a patch version to 2 86/312686/1 accepted/tizen/unified/20240614.085106 accepted/tizen/unified/dev/20240620.010554 accepted/tizen/unified/toolchain/20240624.121401 accepted/tizen/unified/x/20240614.160356 accepted/tizen/unified/x/asan/20240625.092222
Jaehoon Chung [Thu, 13 Jun 2024 04:51:00 +0000 (13:51 +0900)]
scripts: sd_fusing: Update a patch version to 2

Update a patch version from 1 to 2.
- Changed the name of update-status param to update-progress-status.

Change-Id: I2d3635872fdd06a10660724244e54e759e00dc0a
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
12 months agoModify param files (upgrade-progress-status, upgrade-state) 83/312683/2
SangYoun Kwak [Thu, 13 Jun 2024 04:33:12 +0000 (13:33 +0900)]
Modify param files (upgrade-progress-status, upgrade-state)

Since the file name for storing parameters are changed and added, the
tuple for params should be modified.
 * upgrade-status.info -> upgrade-progress-status.info (renamed)
 * upgrade-state.info (added)

Change-Id: Idb1e6536884cbb2a47cc5c92983eaffafd37445f
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
12 months agoscripts: sd_fusing: handle lsblk errors better 64/312364/2
Mateusz Majewski [Fri, 7 Jun 2024 10:44:44 +0000 (12:44 +0200)]
scripts: sd_fusing: handle lsblk errors better

This makes the error handling a bit more consistent with the rest of the
script by logging an error and doing a sys.exit(1).

Returning an error by returning None would mean that it would need to be
handled elsewhere. However this does not happen, resulting in a
confusing runtime error

    TypeError: can only concatenate str (not "NoneType") to str

as well as warnings in some editors.

Change-Id: I6b3f382e93846c3165d1a8221e2faf7dbf295a86

12 months agoscripts: sd_fusing: fixes in check_sfdisk() 48/312448/5
Jacek Kryszyn [Mon, 10 Jun 2024 07:44:10 +0000 (09:44 +0200)]
scripts: sd_fusing: fixes in check_sfdisk()

sfdisk can have a version number consisting of
{major}.{minor} or {major}.{minor}.{patch}. The new
version of check_sfdisk() handles this. In case of
a wrong version, a nicer error message which
explicitly shows minimum required version is printed.

Change-Id: I09614eabad8958ec4ac1bcc906ac09c2f5c6cbf2
Signed-off-by: Jacek Kryszyn <j.kryszyn@samsung.com>
12 months agoscripts: sd_fusing: change log.* to logging.* 43/312443/4
Jacek Kryszyn [Mon, 10 Jun 2024 07:27:35 +0000 (09:27 +0200)]
scripts: sd_fusing: change log.* to logging.*

There were several occursences of log.* instead of
logging.* which are fixed in this commit.

Change-Id: Ic30fa959f5cb4c3b3a820ae716183738c6bdddac
Signed-off-by: Jacek Kryszyn <j.kryszyn@samsung.com>
12 months agoscripts: sd_fusing: wait for udev after sfdisk 41/312441/5
Jacek Kryszyn [Mon, 10 Jun 2024 06:45:41 +0000 (08:45 +0200)]
scripts: sd_fusing: wait for udev after sfdisk

It was observed that errors related to wrong partition table
were thrown from time to time after repartitoning the device
with sfdisk. It seems that this was due to udev trying to
automatically rescan devices after being notified that some
changes were made.

This commit adds execution of udevadm settle after sfdisk.
The added command exits only after the udev event queue is
empty (or the timeout occured).

This commit reverts changes made by commit 5a7f3c8 (Invoke
ioctl to reread partitions directly) which are not needed
anymore. Running blockdev after sfdisk is also unnecessary
since sfdisk rereads the partition table anyway.

Change-Id: Ic89ea65846b4e064c85a316fdf6c07be42eb51e7
Signed-off-by: Jacek Kryszyn <j.kryszyn@samsung.com>
12 months agosd_fusing: Drop most "fstype" definitions 51/312351/1
Karol Lewandowski [Fri, 7 Jun 2024 06:12:14 +0000 (08:12 +0200)]
sd_fusing: Drop most "fstype" definitions

This commit drops most "fstype" from target classes as its
definition forces creating new filesystem using mkfs.<fstype>,
which is normally not needed as the partitions are overwriten
by flashed binaries.

Additionally, this commit also drops fstype checking from
partition table verfication as it became useless.

Change-Id: Ief2034f0a1452ab48bd3f2b54b07a709126b000e

12 months agoscripts: sd_fusing: Fix wrong filesystem type about user 20/312220/1
Jaehoon Chung [Wed, 5 Jun 2024 07:00:32 +0000 (16:00 +0900)]
scripts: sd_fusing: Fix wrong filesystem type about user

Tizen is using a user partition as f2fs filesystem.
It doesn't update the image because of mismatched filesystem type.

2024-06-05T15:52:37.819 Verifying that partition table on /dev/sdh matches target specification
2024-06-05T15:52:38.2 On-device partition mismatch with selected target: fstype=ext4, on-device:
DEVNAME=/dev/sdh5
UUID=c3237c35-3bee-45c0-80d6-599734b35701
TYPE=f2fs
PARTLABEL=user
PARTUUID=82d95111-8032-5c40-a80a-5138537eb66e

Change-Id: I801061da2176ee7ee125f95f0b808cddb181df17
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
12 months agosd_fusing.py: Update a minor version from 0 to 1 67/311967/1
Jaehoon Chung [Fri, 31 May 2024 04:58:14 +0000 (13:58 +0900)]
sd_fusing.py: Update a minor version from 0 to 1

Update a minor version from 0 to 1.

Change-Id: I9fa42c53895dfbbfcd3fa9237f2875d45258e103
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
12 months agosd_fusing.py: Ensure selected flashing target actually matches what is on device 75/311675/5 accepted/tizen/unified/20240603.161029 accepted/tizen/unified/x/20240605.012734
Karol Lewandowski [Thu, 23 May 2024 09:14:40 +0000 (11:14 +0200)]
sd_fusing.py: Ensure selected flashing target actually matches what is on device

Currently only partition label and filesystem type are checked, if available.

Change-Id: I64c43c7b80843e70876ce16ee7de24a7dc76378d
Signed-off-by: Karol Lewandowski <k.lewandowsk@samsung.com>
12 months agosd_fusing.py: Invoke ioctl to reread partitions directly 81/311581/10
Karol Lewandowski [Wed, 22 May 2024 12:57:56 +0000 (14:57 +0200)]
sd_fusing.py: Invoke ioctl to reread partitions directly

This commit drops blockdev(8) in favor for invoking ioctl(2) directly,
to be able to catch EBUSY errors that happen to occur due to not yet
known kernel/udev timinig issue.

This commit also drops sfdisk --no-reread flag, which affects issuing
ioctl to reread partition table _before_ actual repartitioning.  ioctl
to reread partition table after writing changes is invoked unconditionally
and can't be disabled.

Change-Id: I105c445f9fdb3d1d2eee7ffd2de3f7ad04920f13
Signed-off-by: Karol Lewandowski <k.lewandowsk@samsung.com>
12 months agosd_fusing.py: Refactor parameters writing 75/311475/7
Karol Lewandowski [Tue, 21 May 2024 21:57:15 +0000 (23:57 +0200)]
sd_fusing.py: Refactor parameters writing

This commit considerably alters when and which parameters are written
to "inform" partition:

 - Parameters are now updated always, not only when --format has been
   specified (this is compatible with old sd_fusing.sh behaviour)

 - Initial parameters are collected from configuration and from user
   input to reflect actual flashing options, eg. if user chosen to
   update only 'a' partition script won't set the flag that both
   partitions are cloned

   Dynamic parameters generation allowed to drop a lot of duplicated
   params.

Change-Id: I597f104b2b7972728663e2d85555407c721b7bb0
Signed-off-by: Karol Lewandowski <k.lewandowsk@samsung.com>
12 months agosd_fusing.py: Improve parameter write error message 80/311580/5
Karol Lewandowski [Wed, 22 May 2024 10:36:48 +0000 (12:36 +0200)]
sd_fusing.py: Improve parameter write error message

Change-Id: If42e16e310b1454f190b21d6cd5b662e1f17f598
Signed-off-by: Karol Lewandowski <k.lewandowsk@samsung.com>
12 months agoDynamic partitions: fuse tarballs containing super.img 76/311676/2
Jacek Kryszyn [Thu, 23 May 2024 10:25:47 +0000 (12:25 +0200)]
Dynamic partitions: fuse tarballs containing super.img

Allow to fuse tarballs prepared in such a way that they already
contain super.img and do not contain rootfs.img and hal.img.

Change-Id: Iac09011bd92f51354e16e70d3bb5f9ab12f299b2
Signed-off-by: Jacek Kryszyn <j.kryszyn@samsung.com>
12 months agoDynamic partitions: change size of a slot 62/311562/3
Jacek Kryszyn [Wed, 22 May 2024 08:02:42 +0000 (10:02 +0200)]
Dynamic partitions: change size of a slot

Slot size was incorrect due to missing brackets. Now it is
equal to double size of hal and rootfs. Some additional code
is added to take into account metadata size and alignment of
super.

Change-Id: I7f163d7e4a74b3f5e7a1a2f207ebece9581b4876
Signed-off-by: Jacek Kryszyn <j.kryszyn@samsung.com>
13 months agorpi4: restore USB support in ARM64 build 19/310419/3
Marek Szyprowski [Fri, 26 Apr 2024 20:51:04 +0000 (22:51 +0200)]
rpi4: restore USB support in ARM64 build

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I9896646b56075a13ca9893062b0813649c09ee39

13 months agotizen: bootscript: rpi4: update boot scripts 18/310418/3
Marek Szyprowski [Thu, 11 Apr 2024 09:11:56 +0000 (11:11 +0200)]
tizen: bootscript: rpi4: update boot scripts

Update RPi4 boot script to match the one developed recently for
LicheePi4A/VF2. This improves the following things:
- switch to generic devtype/devnum envs like for typical distro_boot case
- correctly load script and kernel from boot_b
- root= kernel parameter is correctly set for partitions up to 19th
- reordered some operations and added more comments
- tested A/B booting
- tested booting from legacy MBR based layout
- tested USB booting

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: If038c93db7fc7f8a6f009e5dd43ae74286a6edb2

13 months agorpi: set devtype/devnum envs for the detected boot medium 17/310417/3
Marek Szyprowski [Thu, 25 Apr 2024 16:32:24 +0000 (18:32 +0200)]
rpi: set devtype/devnum envs for the detected boot medium

Set 'devtype' and 'devnum' envs (same as in the standard distro_boot) for
the detected boot medium, so they can be used in the boot scripts.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ibd828dc1e07cc23e9f4e89f609d475b56b8d9129

13 months agotizen: rpi4: drop obsolete, unused SPL-related defines 16/310416/3
Marek Szyprowski [Fri, 26 Apr 2024 11:38:15 +0000 (13:38 +0200)]
tizen: rpi4: drop obsolete, unused SPL-related defines

u-boot for RPi4 never used SPL, so drop these SPL-related defines inherited
from the old RPi3 and OpTEE code.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I00c3dc221f2b9b8df789e936aa6d3a936b65ffcf

13 months agotizen: rpi4: drop outdated MBR support 14/310414/3
Marek Szyprowski [Fri, 26 Apr 2024 08:58:33 +0000 (10:58 +0200)]
tizen: rpi4: drop outdated MBR support

Tizen use GPT partition layout, so there is no point keeping MBR support.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I5059df0261f17b42fb07e1504d99dc2db3507b0b

13 months agotizen: bootscript: vf2: use only ramdisk_size name in the scripts 13/310413/3
Marek Szyprowski [Fri, 26 Apr 2024 20:35:02 +0000 (22:35 +0200)]
tizen: bootscript: vf2: use only ramdisk_size name in the scripts

Avoid confusion with ramdisk_size/ramdisksize env names and use only the
first one consistently.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Iff8077cacff8174a354aaaf28e6ea1752c042c6d

13 months agoEnable network on VF2 board 85/310585/3 accepted/tizen/unified/20240510.095752 accepted/tizen/unified/toolchain/20240513.061330 accepted/tizen/unified/x/20240510.020852
Daniil Ruban [Thu, 2 May 2024 07:11:31 +0000 (09:11 +0200)]
Enable network on VF2 board

- This MR enables network on VF2 boards. This is needed
 to have network boot on CI device under test
- Patch adds some fixes from: https://patchwork.ozlabs.org/project/uboot/list/?series=346678&state=*
 which was suddenly removed

Change-Id: I3f61728d04401fff57e829d2ac4ab1314aaa16b5
Signed-off-by: Daniil Ruban <intx82@gmail.com>
13 months agotizen: sd_fusing.py: Fix wrong user_partition count for vf2* 59/310459/1
Seung-Woo Kim [Mon, 29 Apr 2024 11:16:01 +0000 (20:16 +0900)]
tizen: sd_fusing.py: Fix wrong user_partition count for vf2*

Fix wrong user_partition count for vf2* properly

Change-Id: I8a56c5673e07629d7cd4797b8e687619be97d48c
Fixes: commit 15b42595fc8a ("tizen: sd_fusing.py: change partition of vf2* for backward compatibility")
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
13 months agotizen: sd_fusing.py: Allow updating a & b partitions in one invocation 39/310339/3
Karol Lewandowski [Thu, 25 Apr 2024 20:47:53 +0000 (22:47 +0200)]
tizen: sd_fusing.py: Allow updating a & b partitions in one invocation

This commit adds '--update ab' option, allowing both partition sets to
be updated at once.

Change-Id: I007392f0978753589a05d9e8586877c463ac1798
Signed-off-by: Karol Lewandowski <k.lewandowsk@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
13 months agotizen: sd_fusing.py: change partition of vf2* for backward compatibility 53/310453/1
Seung-Woo Kim [Mon, 29 Apr 2024 08:58:12 +0000 (17:58 +0900)]
tizen: sd_fusing.py: change partition of vf2* for backward compatibility

Before A/B partition support, there was the empty 4th part and
user flashing partition map in initrd-flash has partition number
with the empty partition. For backward compatibility, add the 4th
partition again.

Change-Id: Ic9417218ee3bd2d20cf8c82869d0e856a8600024
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
13 months agotizen: packaging: Repackage 64-bit rpi4 bootloader for use in mixed 64-bit boot/32... 54/307954/3 accepted/tizen/unified/20240430.020547 accepted/tizen/unified/toolchain/20240507.011927 accepted/tizen/unified/x/20240430.094857
Karol Lewandowski [Thu, 14 Mar 2024 12:39:42 +0000 (13:39 +0100)]
tizen: packaging: Repackage 64-bit rpi4 bootloader for use in mixed 64-bit boot/32-bit userspace scenarios

Change-Id: I02fe3ac88b49b8f15b2ff7153842613331b19cda
Signed-off-by: Karol Lewandowski <k.lewandowsk@samsung.com>
14 months agoscripts: sd_fusing.py: Update a patch version 09/309509/1 accepted/tizen/unified/x/20240422.211538
Marek Szyprowski [Fri, 5 Apr 2024 01:53:23 +0000 (10:53 +0900)]
scripts: sd_fusing.py: Update a patch version

Update a patch version to 2.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I4e477d99f6d6132ae8666f71e7037ae5d662c983

14 months agotizen: sd_fusing.py: add support for VisionFive2 with Super partition 08/309508/1
Marek Szyprowski [Thu, 11 Apr 2024 12:40:39 +0000 (14:40 +0200)]
tizen: sd_fusing.py: add support for VisionFive2 with Super partition

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Id5a23a2edd5af357d1febd756793f4aa96ca0d5b

14 months agotizen: sd_fusing.py: Switch VF2 board to A/B partition scheme 07/309507/1
Marek Szyprowski [Thu, 11 Apr 2024 11:54:01 +0000 (13:54 +0200)]
tizen: sd_fusing.py: Switch VF2 board to A/B partition scheme

Use A/B partition scheme also for VisionFive2 board.

Boot script for VF2 has been updated to discover partitions based on
their GPT name, so it is safe to change layout.

While touching this, lets remove useless 'none' partition, which was
there only to force partitions to have specific numbers, hardcoded
earlier in the boot scripts. Also reduce the size of the 'boot'
partition, as there is nothing so large to store on it.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: If5893114a217dc98766da0afcc925f05b31c0c14

14 months agotizen: bootscript: vf2: update boot scripts 06/309506/1
Marek Szyprowski [Thu, 11 Apr 2024 09:11:56 +0000 (11:11 +0200)]
tizen: bootscript: vf2: update boot scripts

Update VF2 boot script to match the one developped recently for
LicheePi4A. This improves the following things:
- partitions are discovered by GPT name, not by hardcoded number
- root= kernel parameter is correctly set for partitions up to 19th
- switch to generic devtype/devnum envs like for typical distro_boot case
- reordered some operations and added more comments
- tested A/B booting

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I038f42c8b4f1133798b8d8c8e2f89955b717ca9d

14 months agotizen: sd_fusing.py: add LicheePi4A with Super partition support 35/309435/1
Marek Szyprowski [Wed, 10 Apr 2024 11:37:27 +0000 (13:37 +0200)]
tizen: sd_fusing.py: add LicheePi4A with Super partition support

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: If13b5df03c396c59ade8ba36529d67dc285dd745

14 months agotizen: sd_fusing.py: change bogus 'param' name to 'reserved0' 34/309434/1
Marek Szyprowski [Wed, 10 Apr 2024 10:00:33 +0000 (12:00 +0200)]
tizen: sd_fusing.py: change bogus 'param' name to 'reserved0'

The original sd_fusing_rpi4.sh had following content:

[...]
size=${PARAM_SZ}MiB, name=reserved0
size=${RESERVED1_SZ}MiB, name=reserved1
size=${RESERVED2_SZ}MiB, name=reserved2

It looks that while rewriting the above to python, the size and name has
been mixed resulting in creating 'param' partition. Then this bogus name
was copied to the Rpi4AoT and LicheePi4A variants. Restore proper
'reserved0' name for all variants.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I931a6a3b3bbaa0aaa7d2ae934b62133b9de89568

14 months agotizen: sd_fusing.py: rpi4s: getting rid of unnecessary alignments 94/309094/5
Jacek Kryszyn [Thu, 4 Apr 2024 13:17:27 +0000 (15:17 +0200)]
tizen: sd_fusing.py: rpi4s: getting rid of unnecessary alignments

In case of rpi4s target (Tizen with dynamic partitions
on rpi4) do not perform unnecessary calculations of aligned
size of partitions.

Change-Id: Ieea75f133d35d29f72a5b2336181b200809e5f14
Signed-off-by: Jacek Kryszyn <j.kryszyn@samsung.com>
14 months agoscripts: sd_fusing.py: Update a patch version 14/309114/1
Jaehoon Chung [Fri, 5 Apr 2024 01:53:23 +0000 (10:53 +0900)]
scripts: sd_fusing.py: Update a patch version

Update a patch version from 0 to 1.

Change-Id: I0282bb3f625331f58a9802133a0b32ac664d9d9f
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
14 months agotizen: sd_fusing.py: Catch kernel not being able to re-read partition table
Karol Lewandowski [Thu, 4 Apr 2024 12:15:27 +0000 (14:15 +0200)]
tizen: sd_fusing.py: Catch kernel not being able to re-read partition table

sfdisk(8) by default request kernel to reread partition table but does not
seem to return error code when it fails to do so.  This commit fixes followig
error:

    The partition table has been altered.
    Calling ioctl() to re-read partition table.
    Re-reading the partition table failed.: Permission denied
    The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or partx(8).
    Syncing disks.
    Traceback (most recent call last):
      File "/usr/local/bin/sd_fusing.py", line 958, in <module>
        check_partition_format(args, target)
      File "/usr/local/bin/sd_fusing.py", line 711, in check_partition_format
        mkpart(args, target)
      File "/usr/local/bin/sd_fusing.py", line 596, in mkpart
        d = "/dev/" + get_partition_device(target.device, i+1)
            ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    TypeError: can only concatenate str (not "NoneType") to str

Change-Id: I32e6636f0d374e5f4327d425373d8e38f48b7916
Signed-off-by: Karol Lewandowski <k.lewandowsk@samsung.com>
14 months agotizen: sd_fusing.py: Exit if A/B update is requested on unsupported target 83/309083/2
Łukasz Stelmach [Thu, 4 Apr 2024 10:50:07 +0000 (12:50 +0200)]
tizen: sd_fusing.py: Exit if A/B update is requested on unsupported target

This error occurs if the target class improperly inherits from
SdFusingTarget instead of SdFusingTargetAB.

Change-Id: I83379fff92566d0036a868837e613a9a9cd94f7e
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
14 months agotizen: sd_fusing.py: add LicheePi4A board support 48/308748/7
Marek Szyprowski [Fri, 29 Mar 2024 12:03:55 +0000 (13:03 +0100)]
tizen: sd_fusing.py: add LicheePi4A board support

Add support for preparing SD-card bootable on LicheePi4A board (with
A/B partitions on GPT layout).

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: If956976769e07d0e2166a03651d6111c39e635a4

14 months agotizen: sd_fusing.py: add support for writing bootcode to sector zero 85/308885/3
Marek Szyprowski [Tue, 2 Apr 2024 07:42:08 +0000 (09:42 +0200)]
tizen: sd_fusing.py: add support for writing bootcode to sector zero

Some boards require special binary bootcode in sector zero (MBR or
protective MBR) to boot properly. Add support for such case.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I8cc0594328ccd6e5445d1b47804e374b0b3550a8

14 months agotizen: sd_fusing.py: add support for partition start & size specified in sectors 47/308747/3
Marek Szyprowski [Thu, 28 Mar 2024 19:23:46 +0000 (20:23 +0100)]
tizen: sd_fusing.py: add support for partition start & size specified in sectors

Add support for specifying partition's start & size in sectors and adjust
lba-start parameter (first allowed sector of the first partition) to 34,
what is the minimal possible value for the GPT layout. This doesn't affect
any start or size of the partitions specified in MBytes, because according
to sfdisk manual, they are always aligned to 1MB.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I8fdccb896072a9cddfe7e185f6650eb0471caae2

14 months agoriscv: Move virtio scan to board_late_init() 87/306287/5 accepted/tizen/unified/20240402.151307 accepted/tizen/unified/20240402.163558 accepted/tizen/unified/x/20240403.102935
Łukasz Stelmach [Mon, 19 Feb 2024 12:21:37 +0000 (13:21 +0100)]
riscv: Move virtio scan to board_late_init()

When virtio_init() gets called from board_init() PCI isn't ready. Thus,
virtio-over-PCI (e.g. network interfaces) devices can't be detected and
used without additional `virtio scan` scan in the shell or a script.

Change-Id: I446c473c2c41be8b59842dce09593a47d9a42d73
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Forwarded: https://lore.kernel.org/u-boot/20240328095824.1179072-1-l.stelmach@samsung.com/

14 months agoscripts: tizen: sd_fusing.py: Add NOTICE log level 35/308635/2
Łukasz Stelmach [Thu, 28 Mar 2024 08:59:37 +0000 (09:59 +0100)]
scripts: tizen: sd_fusing.py: Add NOTICE log level

Add a second normal logging level. This level should be used
for essential progress messages. Use with caution to avoid
overwhelming users with output.

Change-Id: Ib22446978af5289f647cdffbb4ccd56d56c7d086
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
14 months agoRevert "scripts: tizen: sd_fusing.py: Display an information during flashing" 34/308634/2
Łukasz Stelmach [Thu, 28 Mar 2024 07:20:58 +0000 (08:20 +0100)]
Revert "scripts: tizen: sd_fusing.py: Display an information during flashing"

This partially reverts commit 8f78bf12c0eba95ebb203868856899fdcec2935c.

Only the logging module should be used for printing messages to enable
consistent control over script's output.

Change-Id: I3c9b91ff8a8accdef910700348e24be0ca1b7890
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
14 months agotizen: bootscript: remove usb boot related workaround 68/308368/1 accepted/tizen/unified/20240327.064201 accepted/tizen/unified/x/20240401.142404
Marek Szyprowski [Fri, 22 Mar 2024 08:53:51 +0000 (09:53 +0100)]
tizen: bootscript: remove usb boot related workaround

Once rootfs block device retry loop has been added to init script, this
workaround is no longer needed.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I81ae139d07595e40316dbd4ebbee6ed58c7725ee

14 months agotizen: bootscript: Use set bootmode also for cpio initramfs 05/308305/2 accepted/tizen/unified/20240322.174326 accepted/tizen/unified/x/20240326.073311
Seung-Woo Kim [Thu, 21 Mar 2024 05:00:53 +0000 (14:00 +0900)]
tizen: bootscript: Use set bootmode also for cpio initramfs

When using initramfs, bootmode should be used as it is set,
instead of 'normal'. So, also for cpio initramfs case, use set
bootmode.
Also, adjust script flow to check ramdisk/initramfs only once.

Change-Id: Iac90ee47a8e9f8a89fdd812f7b78bc5f43048198
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
14 months agoscripts: tizen: sd_fusing.py: Display an information during flashing 88/307988/2 accepted/tizen/unified/20240319.020727 accepted/tizen/unified/x/20240320.055302
Jaehoon Chung [Fri, 15 Mar 2024 04:26:09 +0000 (13:26 +0900)]
scripts: tizen: sd_fusing.py: Display an information during flashing

Display an information during flashing.
Developer can see what script is doing.

Change-Id: Id6ffd67b885f623f8778db9a51e7606a7896c71a
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
14 months agoRevert "samsung: tizen_rpi: Add container partition in GPT_PARTS_DEFAULT" 87/307987/1
Jaehoon Chung [Fri, 15 Mar 2024 00:39:50 +0000 (09:39 +0900)]
Revert "samsung: tizen_rpi: Add container partition in GPT_PARTS_DEFAULT"

This reverts commit f398a318d7d49bf21055f9b5f4bc40d6ccedd1ec.
AoT partitoin is not used by default. So it doesn't need to add
container partiton in GPT_PARTS_DEFAULT.

Change-Id: Ia63c0f52b5fc347623ff1d23d15b1538882bd70f
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
14 months agotizen: bootscript: add support for loading initramfs from ramdisk partition 78/306978/5
Marek Szyprowski [Fri, 1 Mar 2024 10:14:52 +0000 (11:14 +0100)]
tizen: bootscript: add support for loading initramfs from ramdisk partition

If initrd-style ramdisk is not detected (no filesystem nor /sbin/init
file found), then check ramdisk partition for the gzip magic value and if
detected, load it as initramfs image.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I17933632635b0c20cf672c2484cd714c3739d760

14 months agotizen: rpi: add support for RPi5 console 71/307171/2 accepted/tizen/unified/20240315.111201 accepted/tizen/unified/20240315.155124 accepted/tizen/unified/x/20240319.055506
Marek Szyprowski [Tue, 5 Mar 2024 13:56:21 +0000 (14:56 +0100)]
tizen: rpi: add support for RPi5 console

RPi5 board uses different drivers for the serial console than RPi4, so
the kernel's console parameter has to be adjusted depending on the
detected board and its configuration.

On RPi5 there are 2 serial ports available for debug messages:

1. Dedicated debug UART port. Used by firmware and u-boot
unconditionally. It is instantiated as /dev/ttyAMA10. By default it is
also used for kernel's earlycon and serial console.

2. Standard UART available on GPIO14 & GPIO15 lines (pins 8 & 10 on the
40-pin header, like on the RPi4). This can be enabled by adding
"dtoverlay=uart0-pi5" line to "config.txt" on "boot" partition. It is
instantiated as /dev/ttyAMA0. It can be used only for the standard Linux
kernel console and serial login.

Change-Id: I34aa978148fb593f5f88d3ed6471c8c3c7a74a38
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
14 months agoconfigs: tizen_rpi_4: enable options needed for RPi5 support 70/307170/2
Marek Szyprowski [Tue, 5 Mar 2024 12:28:49 +0000 (13:28 +0100)]
configs: tizen_rpi_4: enable options needed for RPi5 support

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ib6613e118a4cfbbda309934f5f2da6012976a1cb

14 months agommc: bcmstb: Add support for bcm2712 SD controller 69/307169/2
Ivan T. Ivanov [Tue, 23 Jan 2024 08:07:57 +0000 (10:07 +0200)]
mmc: bcmstb: Add support for bcm2712 SD controller

Make sure that core SDHCI accessors are used and add
device specific card detection initialization, which
is borrowed from vendor Linux driver code.

Tested-by: Jens Maus <mail@jens-maus.de>
Tested-by: Darko Alavanja <darko.alavanja@konsulko.com>
Signed-off-by: Ivan T. Ivanov <iivanov@suse.de>
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
[backport of the commit 10127cdbab64831175a56c782d34183ac57358b7 from mainline]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: If66eedd51c77b59dc8c97543419897e32258d4d1

14 months agorpi5: Use devicetree to retrieve board revision 68/307168/2
Ivan T. Ivanov [Tue, 23 Jan 2024 08:07:55 +0000 (10:07 +0200)]
rpi5: Use devicetree to retrieve board revision

Firmware on RPi5 return error on board revision query
through firmware interface, but on the other hand it fills
"linux,revision" in "system" node, so use it to detect board
revision.

system {
linux,revision = <0xc04170>;
linux,serial = <0x6cf44e80 0x3c533ede>;
};

Reviewed-by: Matthias Brugger <mbrugger@suse.com>
Tested-by: Jens Maus <mail@jens-maus.de>
Tested-by: Darko Alavanja <darko.alavanja@konsulko.com>
Signed-off-by: Ivan T. Ivanov <iivanov@suse.de>
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
[backport of the commit 08a5b4bd6cc14ad999a2d9a389f8b8b9dcea1682 from mainline]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I9e5a1698456f03891ea0fb0c375f5386e8f447be

14 months agorpi5: Use devicetree as alternative way to read IO base addresses 67/307167/2
Dmitry Malkin [Tue, 23 Jan 2024 08:07:54 +0000 (10:07 +0200)]
rpi5: Use devicetree as alternative way to read IO base addresses

MBOX and Watchdog on RPi5/bcm2712 have a different base IO offsets.
Find them via devicetree blob passed by bootloader.

Signed-off-by: Dmitry Malkin <dmitry@bedrocksystems.com>
Reviewed-by: Matthias Brugger <mbrugger@suse.com>
Tested-by: Jens Maus <mail@jens-maus.de>
Tested-by: Darko Alavanja <darko.alavanja@konsulko.com>
Signed-off-by: Ivan T. Ivanov <iivanov@suse.de>
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
[backport of the commit 60878e753c3d37ddc974c0de9da643850df175b6 from mainline]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I4c674196a08176b649f325cd777c5f01adad1380

14 months agorpi5: add initial memory map for bcm2712 66/307166/2
Dmitry Malkin [Tue, 23 Jan 2024 08:07:53 +0000 (10:07 +0200)]
rpi5: add initial memory map for bcm2712

This includes:
* 1GB of RAM (from 4GB or 8GB total)
* AXI ranges (main peripherals)

When HDMI cable is plugged in at boot time firmware will
insert "simple-framebuffer" device into devicetree and will
shrink first memory region to 0x3f800000UL. Board setup then
will properly reserve framebuffer region.

When no HDMI cable is plugged in the size of the region will
be 0x3fc00000UL.

Signed-off-by: Dmitry Malkin <dmitry@bedrocksystems.com>
Tested-by: Jens Maus <mail@jens-maus.de>
Tested-by: Darko Alavanja <darko.alavanja@konsulko.com>
Signed-off-by: Ivan T. Ivanov <iivanov@suse.de>
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
[backport of the commit a5a27eafc422b7a57de904b73152fc9a860c7640 from mainline]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I2b0bbf11932c5d44a8a0fe41b3464f9575c6c4dc

15 months agoscripts: tizen: sd_fusing.py: Separate the VF2 from RV64 06/307506/1
Jaehoon Chung [Mon, 11 Mar 2024 09:24:21 +0000 (18:24 +0900)]
scripts: tizen: sd_fusing.py: Separate the VF2 from RV64

VisionFive2 needs to flash the u-boot-spl.bin.normal.out.
Separate the VF2 from RV64.

Change-Id: I19cef42d61131c6907daef2a8d791106673264c1
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
15 months agoscripts: tizen: Remove sd_fusing shell scripts 84/307384/1
Jaehoon Chung [Fri, 8 Mar 2024 00:30:01 +0000 (09:30 +0900)]
scripts: tizen: Remove sd_fusing shell scripts

Remove sd_fusing shell scripts. Instead, use sd_fusing.py script.
We don't support shell script anymore.

Change-Id: I4915893a0aeaaed46f0b0dcb40eb546f85c8fed0
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
15 months agotizen: bootscript: vf2: Support booting from nvme 58/306458/2
Tymoteusz Wenerski [Wed, 21 Feb 2024 12:34:15 +0000 (13:34 +0100)]
tizen: bootscript: vf2: Support booting from nvme

Support booting from nvme with valid rootpart number.

Change-Id: Ibbb5b3c3c66caa7ce112ff2ddd593a9ca90a995d
Signed-off-by: Tymoteusz Wenerski <t.wenerski@partner.samsung.com>
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
15 months agotizen: rpi: enable 'memory' cgroup by default 89/306689/1
Marek Szyprowski [Mon, 26 Feb 2024 07:47:53 +0000 (08:47 +0100)]
tizen: rpi: enable 'memory' cgroup by default

The 'memory' cgroup is required for Tizen, but since kernel's commit
"cgroup: Disable cgroup "memory" by default" it is disabled in RPi vendor
kernels.

Enable it directly from command line to avoid the need of patching vendor
kernels.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I381e3cbdaaf409649b37a685536cc3fe52044a48

17 months agoscripts: tizen: sd_fusing.py: Add Rpi4AoT partition map 93/304193/1
Jaehoon Chung [Fri, 12 Jan 2024 00:55:25 +0000 (09:55 +0900)]
scripts: tizen: sd_fusing.py: Add Rpi4AoT partition map

Add Rpi4Aot Partition map to support an AoT on RPi4.

Change-Id: I6ab6b1d51408c01cb2e219cc6f4699eb849f130e
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
17 months agosamsung: tizen_rpi: Add container partition in GPT_PARTS_DEFAULT 79/304079/4
Jaehoon Chung [Wed, 10 Jan 2024 01:17:05 +0000 (10:17 +0900)]
samsung: tizen_rpi: Add container partition in GPT_PARTS_DEFAULT

Add container partition in GPT_PARTS_DEFAULT and DFU_ALT_SYSTEM.

Change-Id: I7f19453d84ee8f295be41c903f778a0dbee064f7
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
17 months agoscripts: tizen: sd_fusing_rpi4: Add container images partitions 78/304078/4
Jaehoon Chung [Wed, 10 Jan 2024 00:58:45 +0000 (09:58 +0900)]
scripts: tizen: sd_fusing_rpi4: Add container images partitions

Add containers images partitions for supporting AoT.
It will be applied to sd_fusing.py in future.
Until applying this into sd_fusing.py, this script can be using.

NOTE: sd_fusing shell script was deprecated. This script will be
removed.

Change-Id: I35b6aaa12fd68941f832513f7513d22b994b0455
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
17 months agoconfigs: meson64: Remove the duplicated defined ENV_SETTING 44/304044/1 accepted/tizen_unified_riscv accepted/tizen/unified/20240110.154144 accepted/tizen/unified/riscv/20240110.052257
Jaehoon Chung [Tue, 9 Jan 2024 09:31:56 +0000 (18:31 +0900)]
configs: meson64: Remove the duplicated defined ENV_SETTING

Remove the duplicated defined ENV_SETTING.
It's caused by not created correct 0-format.cmd file.

Change-Id: Ia5df7c8c3840368f5c952c29caf3dbe00d28b6bf
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
17 months agoscripts: Add InitParams about RV64 38/303538/1
Jaehoon Chung [Tue, 2 Jan 2024 01:40:55 +0000 (10:40 +0900)]
scripts: Add InitParams about RV64

Add InitParams about RV64(Visionfive2 board).
It will be created reboot-param.bin and reboot-param.info.

Change-Id: I282d974e777b5caea50353eb3ccc8922099f6d0c
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
17 months agoscripts: Change a class name from RpiInitParams to InitParams 37/303537/1
Jaehoon Chung [Tue, 2 Jan 2024 01:28:02 +0000 (10:28 +0900)]
scripts: Change a class name from RpiInitParams to InitParams

InitParams can be also used for other targets, not only Rpi.
So the Rpi prefix can be removed.

Change-Id: I6b55056cddb8aef2fa582a9e40565423319904fe
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
17 months agoconfigs: Enable CONFIG_SPL_DM_SEQ_ALIAS 93/303393/1 accepted/tizen/unified/20231227.170504 accepted/tizen/unified/riscv/20231227.105107
Jaehoon Chung [Wed, 27 Dec 2023 03:34:36 +0000 (12:34 +0900)]
configs: Enable CONFIG_SPL_DM_SEQ_ALIAS

Enable CONFIG_SPL_DM_SEQ_ALIAS configuration to use alias on SPL side.

Change-Id: Ibce270d2f96a51ffae577e82a05ffa242fa50734
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
17 months agoi2c: designware_i2c: adjust timing calculation 92/303392/1
Heinrich Schuchardt [Fri, 13 Oct 2023 13:09:39 +0000 (15:09 +0200)]
i2c: designware_i2c: adjust timing calculation

In SPL probing of the designware_i2c device on the StarFive VisionFive 2
board fails with

    dw_i2c: mode 0, ic_clk 1000000, speed 100000,
    period 10 rise 1 fall 1 tlow 5 thigh 4 spk 0
    dw_i2c: bad counts. hcnt = -4 lcnt = 4
    device_probe: i2c@12050000 failed to probe -22

When changing the offset for the high phase from 7 to 3 the device is
probed correctly. This now matches the value from the Linux driver.

Without this fix the memory size of the StarFive VisionFive 2 board cannot
be read from EEPROM.

Fixes: e71b6f6622d6 ("i2c: designware_i2c: Rewrite timing calculation")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
[cherry picked from mainline commit 35e8007ef382cb1f0523a9106fbc8d4d4404cb27]
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Change-Id: Iebbce724f9db2102ec2743dbf749352013c8e400

18 months agoscripts: support x86 emulator images for QEMU 46/301846/2 accepted/tizen/unified/20231211.095412 accepted/tizen/unified/riscv/20231215.050220
Łukasz Stelmach [Fri, 24 Nov 2023 10:59:45 +0000 (11:59 +0100)]
scripts: support x86 emulator images for QEMU

Change-Id: I24261d9dbc2926e1d0b7b39402269a09b48dd82b
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
18 months agoscripts: add support for "swap" filesystem type 45/301845/2
Łukasz Stelmach [Fri, 24 Nov 2023 10:55:12 +0000 (11:55 +0100)]
scripts: add support for "swap" filesystem type

Run mkswap(8) for partitions with have their fstype set to "swap". x86
emulator images require swap partition to be present.

Change-Id: Ia8e9be666f1f2c587396b8e11bf515d02370a2ad
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>