Changes between Version 6 and Version 7 of gsc/alternate_boot_device
- Timestamp:
- 07/22/2024 07:18:37 PM (7 weeks ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
gsc/alternate_boot_device
v6 v7 3 3 = Alternate Boot Device 4 4 Some Gateworks family products have an 'Alternate boot device' that can be used for alternate firmware images, such as a flash recovery image: 5 * Newport - eMMC vs microSD5 * Newport - eMMC (primary) vs microSD (alternate) 6 6 7 [=#auto-switch-boot] 7 8 == Auto Switch Boot Device 8 9 The [wiki:gsc Gateworks System Controller] implements an 'Auto Switch Boot Device' feature that can be useful as a firmware recovery mechanism. GSC register R1.6 (SWITCH_BOOT_ENABLE) enables this mode. When this is set and the board powers on it will initiate a countdown timer cleared by the boot firmware that expires in 30 seconds. Therefore if the boot firmware is missing/corrupt the board will power cycle and boot off the alternate device. … … 17 18 i2c dev 0 && i2c mw 0x20 1 0x40 1 ;# enable R1.6 (SWITCH_BOOT_ENABLE) 18 19 }}} 20 21 == Current Boot Device 22 The current boot device is held in GSC register R21 (0x15) with a value of 0 being primary and a value of 1 being alternate. This value will be toggled by the 'Auto Switch Boot' feature [wiki:gsc/#auto-switch-boot above] but can also be manually set: 23 24 From Linux: 25 * Alternate 26 {{{#!bash 27 i2cset -f -y 0 0x20 0x15 1 # set boot device to 1 (alternate) 28 }}} 29 * Primary 30 {{{#!bash 31 i2cset -f -y 0 0x20 0x15 0 # set boot device to 0 (primary) 32 }}} 33 34 U-Boot: 35 * Alternate: 36 {{{#!bash 37 i2c dev 0 && i2c mw 0x20 0x15 1 # set boot device to 1 (alternate) 38 }}} 39 * Primary: 40 {{{#!bash 41 i2c dev 0 && i2c mw 0x20 0x15 0 # set boot device to 0 (primary) 42 }}}