mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-15 17:28:15 +00:00
e6ca148104
Fix multiple issues in ubifs distroboot code: U-Boot supports attaching only one MTD device as UBI at the time. So always call 'ubifsmount ubi0:${bootubivol}' for mounting UBI volume ${bootubivol}. Usage of 'ubi${devnum}' is incorrect as 'ubi part' command attach MTD device always as UBI device ubi0. Set distroboot ${bootfstype} variable to ubifs in ubifs_boot command. Distroboot scripts require ${bootfstype} variable to be properly set and it is already set for all other boot types. Set distroboot ${distro_bootpart} variable to ${bootubivol} value. UBI device does not have partitions, but has volumes. Distroboot scripts require something to be set in ${distro_bootpart} variable, so set it to the UBI volume which is currently mounted by ubifs. Set distroboot ${devnum} variable to fixed string "ubi0". ubifs code differs from the other partition code that it requires "ubi" prefix before number. Explicitly unmount ubifs volume after loading all data from it. This allows to detach UBI device from MTD device. Move definition of MTD device with UBI and UBI volume with ubifs filesystem from global env variables ${bootubipart} and ${bootubivol} into the distroboot "func" macro, defined in board include config files. UBIFS distroboot macros then set ${bootubipart} and ${bootubivol} local variables for compatibility with existing distroboot scripts. This last change allows to define more UBIFS target devices and make it clear what is boot MTD/UBI device. All board include config files are adjusted to use this new scheme of specifying boot MTD/UBI device. Signed-off-by: Pali Rohár <pali@kernel.org> Acked-by: Frieder Schrempf <frieder.schrempf@kontron.de>
71 lines
1.6 KiB
C
71 lines
1.6 KiB
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/*
|
|
* Copyright (C) 2018 Collabora Ltd.
|
|
*
|
|
* Based on include/configs/xpress.h:
|
|
* Copyright (C) 2015-2016 Stefan Roese <sr@denx.de>
|
|
*/
|
|
#ifndef __PCL063_H
|
|
#define __PCL063_H
|
|
|
|
#include <linux/sizes.h>
|
|
#include "mx6_common.h"
|
|
|
|
/* SPL options */
|
|
#include "imx6_spl.h"
|
|
|
|
/*
|
|
* There is a bug in some i.MX6UL processors that results in the initial
|
|
* portion of OCRAM being unavailable when booting from (at least) an SD
|
|
* card.
|
|
*
|
|
* Tweak the SPL text base address to avoid this.
|
|
*/
|
|
|
|
#define CONFIG_SYS_FSL_USDHC_NUM 1
|
|
|
|
/* Console configs */
|
|
#define CONFIG_MXC_UART_BASE UART1_BASE
|
|
|
|
/* MMC Configs */
|
|
|
|
#define CONFIG_SYS_FSL_ESDHC_ADDR USDHC1_BASE_ADDR
|
|
|
|
/* Miscellaneous configurable options */
|
|
|
|
/* Physical Memory Map */
|
|
#define PHYS_SDRAM MMDC0_ARB_BASE_ADDR
|
|
#define PHYS_SDRAM_SIZE SZ_256M
|
|
|
|
#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM
|
|
#define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR
|
|
#define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE
|
|
|
|
/* NAND */
|
|
#define CONFIG_SYS_MAX_NAND_DEVICE 1
|
|
#define CONFIG_SYS_NAND_BASE 0x40000000
|
|
|
|
/* USB Configs */
|
|
#define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW)
|
|
#define CONFIG_MXC_USB_FLAGS 0
|
|
|
|
#define CONFIG_EXTRA_ENV_SETTINGS \
|
|
"console=ttymxc0,115200n8\0" \
|
|
"fdt_addr_r=0x82000000\0" \
|
|
"fdt_high=0xffffffff\0" \
|
|
"initrd_high=0xffffffff\0" \
|
|
"kernel_addr_r=0x81000000\0" \
|
|
"pxefile_addr_r=0x87100000\0" \
|
|
"ramdisk_addr_r=0x82100000\0" \
|
|
"scriptaddr=0x87000000\0" \
|
|
BOOTENV
|
|
|
|
#define BOOT_TARGET_DEVICES(func) \
|
|
func(MMC, mmc, 0) \
|
|
func(UBIFS, ubifs, 0, UBI, boot) \
|
|
func(PXE, pxe, na) \
|
|
func(DHCP, dhcp, na)
|
|
|
|
#include <config_distro_bootcmd.h>
|
|
|
|
#endif /* __PCL063_H */
|