- Apr 04, 2022
-
-
Most Allwinner sunxi SoCs have separate boot ROMs in non-secure and secure mode. The "non-secure" or "normal" boot ROM (NBROM) uses the existing sunxi_egon image type. The secure boot ROM (SBROM) uses a completely different image type, known as TOC0. A TOC0 image is composed of a header and two or more items. One item is the firmware binary. The others form a chain linking the firmware signature to the root-of-trust public key (ROTPK), which has its hash burned in the SoC's eFuses. Signatures are made using RSA-2048 + SHA256. The pseudo-ASN.1 structure is manually assembled; this is done to work around bugs/quirks in the boot ROM, which vary between SoCs. This TOC0 implementation has been verified to work with the A50, A64, H5, H6, and H616 SBROMs, and it may work with other SoCs. Signed-off-by:
Samuel Holland <samuel@sholland.org> Acked-by:
Andre Przywara <andre.przywara@arm.com> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
As mkimage -T sunxi_egon now gains support for -A parameter, specify the architecture when generating SPL boot image for sunxi. Reviewed-by:
Andre Przywara <andre.przywara@arm.com> Signed-off-by:
Icenowy Zheng <icenowy@aosc.io> Signed-off-by:
Samuel Holland <samuel@sholland.org> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
There's now a sun20i family in sunxi, which uses RISC-V CPU. Add support for making eGON.BT0 image for RISC-V. Reviewed-by:
Andre Przywara <andre.przywara@arm.com> Signed-off-by:
Icenowy Zheng <icenowy@aosc.io> Signed-off-by:
Samuel Holland <samuel@sholland.org> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
Refactor some functions in mkimage sunxi_egon type, in order to prepare for adding support for more CPU architectures (e.g. RISC-V). In addition, compatibility for operation w/o specified architecture is kept, in this case the architecture is assumed as ARM. Reviewed-by:
Andre Przywara <andre.przywara@arm.com> Signed-off-by:
Icenowy Zheng <icenowy@aosc.io> Signed-off-by:
Samuel Holland <samuel@sholland.org> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
The sunxi_egon type used to take no -A argument (because we assume sunxi targets are all ARM). However, as Allwinner D1 appears as the first RISC-V sunxi target, we need to support -A; in addition, as external projects rely on U-Boot mkimage to generate sunxi eGON.BT0 header, we need to keep compatibility with command line without -A. As the default value of arch in mkimage is not proper (IH_ARCH_PPC instead of IH_ARCH_INVALID), to keep more compatibility, add an Aflag field to image parameters to describe whether an architecture is explicitly specified. Reviewed-by:
Tom Rini <trini@konsulko.com> Signed-off-by:
Icenowy Zheng <icenowy@aosc.io> Signed-off-by:
Samuel Holland <samuel@sholland.org> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
This is now handled automatically by the pinctrl driver. Signed-off-by:
Samuel Holland <samuel@sholland.org> Reviewed-by:
Andre Przywara <andre.przywara@arm.com> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
Pin lists and mux values were taken from the Linux drivers. Signed-off-by:
Samuel Holland <samuel@sholland.org> Reviewed-by:
Andre Przywara <andre.przywara@arm.com> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
This is now handled automatically by the pinctrl driver. Signed-off-by:
Samuel Holland <samuel@sholland.org> Reviewed-by:
Andre Przywara <andre.przywara@arm.com> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
This is the only possible mux setting for the A64's PWM peripheral. Signed-off-by:
Samuel Holland <samuel@sholland.org> Reviewed-by:
Andre Przywara <andre.przywara@arm.com> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
This is now handled automatically by the pinctrl driver. Signed-off-by:
Samuel Holland <samuel@sholland.org> Reviewed-by:
Andre Przywara <andre.przywara@arm.com> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
Pin lists and mux values were taken from the Linux drivers. Signed-off-by:
Samuel Holland <samuel@sholland.org> Reviewed-by:
Andre Przywara <andre.przywara@arm.com> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
When the DM_I2C driver is loaded, the pin setup is done automatically from the device tree by the pinctrl driver. Clean up the code in the process: remove #ifdefs and recognize that the pin configuration is the same for all sun8i/sun50i SoCs, not just those which select CONFIG_MACH_SUN8I. Signed-off-by:
Samuel Holland <samuel@sholland.org> Reviewed-by:
Andre Przywara <andre.przywara@arm.com> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
When the DM_I2C driver is loaded, the pin setup is done automatically from the device tree by the pinctrl driver. Signed-off-by:
Samuel Holland <samuel@sholland.org> Reviewed-by:
Andre Przywara <andre.przywara@arm.com> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
These options are not currently enabled anywhere. Any new users should use DM clocks and pinctrl. Signed-off-by:
Samuel Holland <samuel@sholland.org> Reviewed-by:
Andre Przywara <andre.przywara@arm.com> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
Where multiple options were available, the one matching board.c and the device trees was chosen. Pin lists and mux values were taken from the Linux drivers. Signed-off-by:
Samuel Holland <samuel@sholland.org> [Andre: fixup H5 I2C1 pinmux] Reviewed-by:
Andre Przywara <andre.przywara@arm.com> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
This is now handled automatically by the pinctrl driver. Signed-off-by:
Samuel Holland <samuel@sholland.org> Reviewed-by:
Andre Przywara <andre.przywara@arm.com> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
Pin lists and mux values were taken from the Linux drivers. Signed-off-by:
Samuel Holland <samuel@sholland.org> Reviewed-by:
Andre Przywara <andre.przywara@arm.com> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
This is now handled automatically by the pinctrl driver. Signed-off-by:
Samuel Holland <samuel@sholland.org> Reviewed-by:
Andre Przywara <andre.przywara@arm.com> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
Pin lists and mux values were taken from the Linux drivers. Signed-off-by:
Samuel Holland <samuel@sholland.org> Reviewed-by:
Andre Przywara <andre.przywara@arm.com> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
This is now handled automatically by the pinctrl driver. Signed-off-by:
Samuel Holland <samuel@sholland.org> Reviewed-by:
Andre Przywara <andre.przywara@arm.com> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
Pin lists and mux values were taken from the Linux drivers. Signed-off-by:
Samuel Holland <samuel@sholland.org> Reviewed-by:
Andre Przywara <andre.przywara@arm.com> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
This includes UART0 and R_UART (s_uart) on all supported platforms, plus the additional UART configurations from arch/arm/mach-sunxi/board.c. Pin lists and mux values were taken from the Linux drivers. Signed-off-by:
Samuel Holland <samuel@sholland.org> Reviewed-by:
Andre Przywara <andre.przywara@arm.com> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
The sunxi pinctrl hardware has bias and drive control. Add driver support for configuring those options. Reviewed-by:
Simon Glass <sjg@chromium.org> Signed-off-by:
Samuel Holland <samuel@sholland.org> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
The pinmux command uses this function to display pinmux status. Since the driver cannot map pin numbers to a list of supported functions, only functions which are common across all pins can be reported by name. Signed-off-by:
Samuel Holland <samuel@sholland.org> Reviewed-by:
Andre Przywara <andre.przywara@arm.com> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
Implement the operations to get pin and function names, and to set the mux for a pin. The pin count and pin names are calculated as if each bank has the maximum number of pins. Function names are simply the index into a list of { function name, mux value } pairs. We assume all pins associated with a function use the same mux value for that function. This is generally true within a group of pins on a single port, but generally false when some peripheral can be muxed to multiple ports. For example, A64 UART3 uses mux 3 on port D, and mux 2 on port H. But all of the port D pins use the same mux value, and so do all of the port H pins. This applies even when the pins for some function are not contiguous, and when the lower-numbered mux values are unused. A good example of both of these cases is SPI0 on most SoCs. This strategy saves a lot of space (which is especially important for SPL), but where the mux value for a certain function differs across ports, it forces us to choose a single port for that function at build time. Since almost all boards use the default (i.e. reference design) pin muxes[1], this is unlikely to be a problem. [1]: See commit dda9fa73 ("sunxi: Simplify MMC pinmux selection") Signed-off-by:
Samuel Holland <samuel@sholland.org> [Andre: add comment summarising the commit message] Reviewed-by:
Andre Przywara <andre.przywara@arm.com> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
Create a do-nothing driver for each sunxi pin controller variant. Since only one driver can automatically bind to a DT node, since the GPIO driver already requires a manual binding process, and since the pinctrl driver needs access to some of the same information, refactor the GPIO driver to be bound by the pinctrl driver. This commit should cause no functional change. Signed-off-by:
Samuel Holland <samuel@sholland.org> Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@konsulko.com>
-
If include/generated/env.in does not exist, which is a typical case for clean build, quiet_cmd_gen_envp command tries to delete this file unconditionally. This produces following warning during the build: ENVP include/generated/env.in rm: cannot remove 'include/generated/env.in': No such file or directory Add '-f' option to the `rm` command to not complain if file does not exist. Fixes: f432eb6d ("env: Avoid using a leftover text-environment file") Reviewed-by:
Sean Anderson <seanga2@gmail.com> Signed-off-by:
Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
-
- Apr 01, 2022
-
-
colibri-imx6ull ethernet device is fec2, while the optional secondary ethernet is fec1, update the ethernet aliases in the .dts file so that ethaddr is set to fec2 and eth1addr to fec1. Without this change the ethernet interfaces have a different mac address between Linux and U-Boot. Signed-off-by:
Francesco Dolcini <francesco.dolcini@toradex.com> Reviewed-by:
Fabio Estevam <festevam@gmail.com>
-
https://source.denx.de/u-boot/custodians/u-boot-efiTom Rini authored
Pull request for efi-2022-04-rc6 Documentation: * Move VxWorks and Plan 9 to HTML documentation * Move all command man-pages to a separate directory Test: * Fix pylint errors UEFI * Fix build flags for initrddump.efi QEMU * Remove unused function to get RNG device
-
If include/generated/environment.h exists (perhaps leftover from a build of another board) it is used, even if the board currently being built does not have a text environment. This causes a build error. Fix it by emptying the file if it should not be there. Fixes: u-boot/u-boot#9 Signed-off-by:
Simon Glass <sjg@chromium.org> Reported-by:
Sean Anderson <seanga2@gmail.com> Tested-by:
Sean Anderson <seanga2@gmail.com>
-
- Mar 31, 2022
-
-
It seems a copy'n'paste typo when tool had been introduced. It has never had the 'exit' suffix in the file name. Hence, the custom CFLAGS never been applied and, for example, BFD linker complains: LD lib/efi_loader/initrddump_efi.so ld.bfd: lib/efi_loader/initrddump.o: warning: relocation in read-only section `.text.efi_main' ld.bfd: warning: creating DT_TEXTREL in a shared object Remove wrong 'exit' suffix from the custom CFLAGS variable. Fixes: 65ab48d6 ("efi_selftest: provide initrddump test tool") Fixes: 9c045a49 ("efi_loader: move dtbdump.c, initrddump.c to lib/efi_loader") Signed-off-by:
Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-
Heinrich Schuchardt authored
* Use f'' strings instead of .format(). * Correct sequence of imports. * Remove a superfluous import. * Add missing documentation. * Replace yield by return. Signed-off-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-
Heinrich Schuchardt authored
* fix style of argument documentation * add encoding to open() calls Signed-off-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-
This converts the existing README.plan9 to reST, and puts it under the doc/usage/os directory. Signed-off-by:
Bin Meng <bmeng.cn@gmail.com> Reviewed-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-
At present the doc only mentions Arm, PowerPC and x86. RISC-V support has been added since VxWorks SR0650 support for a while, and U-Boot supports loading a RISC-V VxWorks kernel too. Let's document it. Signed-off-by:
Bin Meng <bmeng.cn@gmail.com> Reviewed-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-
This converts the existing README.vxworks to reST, and puts it under the doc/usage/os directory. Signed-off-by:
Bin Meng <bmeng.cn@gmail.com> Reviewed-by:
Heinrich Schuchardt <xypron.glpk@gmx.de>
-
Update the extension command title for consistency with other commands. Signed-off-by:
Bin Meng <bmeng.cn@gmail.com> Reviewed-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-
Currently all shell command docs are put in the doc/usage root. Let's group them into cmd/ sub-directory. Signed-off-by:
Bin Meng <bmeng.cn@gmail.com> Reviewed-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-
Provide human readable descriptions of the speed nodes instead of the name of constants from the code as it is already done for 'mmc rescan' command in commit 212f0784 ("doc: mmc rescan speed mode"). Signed-off-by:
Patrick Delaunay <patrick.delaunay@foss.st.com> Reviewed-by:
Aswath Govindraju <a-govindraju@ti.com> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-