mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-08-31 19:41:32 +02:00
Merge branch '2023-11-07-assorted-big-cleanups' into next
- Merge in changes such that CONFIG_CMDLINE can be disabled and merge in a series that starts to remove <common.h> usage.
This commit is contained in:
commit
1e4d9dd871
@ -287,9 +287,6 @@ stages:
|
||||
sandbox64_clang:
|
||||
TEST_PY_BD: "sandbox64"
|
||||
OVERRIDE: "-O clang-16"
|
||||
sandbox_nolto:
|
||||
TEST_PY_BD: "sandbox"
|
||||
BUILD_ENV: "NO_LTO=1"
|
||||
sandbox_spl:
|
||||
TEST_PY_BD: "sandbox_spl"
|
||||
TEST_PY_TEST_SPEC: "test_ofplatdata or test_handoff or test_spl"
|
||||
|
@ -258,12 +258,6 @@ sandbox with clang test.py:
|
||||
OVERRIDE: "-O clang-16"
|
||||
<<: *buildman_and_testpy_dfn
|
||||
|
||||
sandbox without LTO test.py:
|
||||
variables:
|
||||
TEST_PY_BD: "sandbox"
|
||||
BUILD_ENV: "NO_LTO=1"
|
||||
<<: *buildman_and_testpy_dfn
|
||||
|
||||
sandbox64 test.py:
|
||||
variables:
|
||||
TEST_PY_BD: "sandbox64"
|
||||
@ -275,12 +269,6 @@ sandbox64 with clang test.py:
|
||||
OVERRIDE: "-O clang-16"
|
||||
<<: *buildman_and_testpy_dfn
|
||||
|
||||
sandbox64 without LTO test.py:
|
||||
variables:
|
||||
TEST_PY_BD: "sandbox64"
|
||||
BUILD_ENV: "NO_LTO=1"
|
||||
<<: *buildman_and_testpy_dfn
|
||||
|
||||
sandbox_spl test.py:
|
||||
variables:
|
||||
TEST_PY_BD: "sandbox_spl"
|
||||
|
2
Makefile
2
Makefile
@ -851,7 +851,7 @@ HAVE_VENDOR_COMMON_LIB = $(if $(wildcard $(srctree)/board/$(VENDOR)/common/Makef
|
||||
libs-$(CONFIG_API) += api/
|
||||
libs-$(HAVE_VENDOR_COMMON_LIB) += board/$(VENDOR)/common/
|
||||
libs-y += boot/
|
||||
libs-y += cmd/
|
||||
libs-$(CONFIG_CMDLINE) += cmd/
|
||||
libs-y += common/
|
||||
libs-$(CONFIG_OF_EMBED) += dts/
|
||||
libs-y += env/
|
||||
|
@ -134,7 +134,7 @@ config SANDBOX
|
||||
select ARCH_SUPPORTS_LTO
|
||||
select BOARD_LATE_INIT
|
||||
select BZIP2
|
||||
select CMD_POWEROFF
|
||||
select CMD_POWEROFF if CMDLINE
|
||||
select DM
|
||||
select DM_EVENT
|
||||
select DM_FUZZING_ENGINE
|
||||
@ -152,10 +152,10 @@ config SANDBOX
|
||||
select PCI_ENDPOINT
|
||||
select SPI
|
||||
select SUPPORT_OF_CONTROL
|
||||
select SYSRESET_CMD_POWEROFF
|
||||
select SYSRESET_CMD_POWEROFF if CMD_POWEROFF
|
||||
select SYS_CACHE_SHIFT_4
|
||||
select IRQ
|
||||
select SUPPORT_EXTENSION_SCAN
|
||||
select SUPPORT_EXTENSION_SCAN if CMDLINE
|
||||
select SUPPORT_ACPI
|
||||
imply BITREVERSE
|
||||
select BLOBLIST
|
||||
@ -210,6 +210,9 @@ config SANDBOX
|
||||
imply BINMAN
|
||||
imply CMD_MBR
|
||||
imply CMD_MMC
|
||||
imply BOOTSTD_DEFAULTS if BOOTSTD_FULL && CMDLINE
|
||||
imply BOOTMETH_DISTRO if BOOTSTD_FULL && CMDLINE
|
||||
imply CMD_SYSBOOT if BOOTSTD_FULL
|
||||
|
||||
config SH
|
||||
bool "SuperH architecture"
|
||||
|
@ -7,6 +7,7 @@
|
||||
#ifndef _CPU_H
|
||||
#define _CPU_H
|
||||
|
||||
#include <asm/arch/omap.h>
|
||||
#if !(defined(__KERNEL_STRICT_NAMES) || defined(__ASSEMBLY__))
|
||||
#include <asm/types.h>
|
||||
#endif /* !(__KERNEL_STRICT_NAMES || __ASSEMBLY__) */
|
||||
|
@ -8,7 +8,6 @@
|
||||
#ifndef __DM365_LOWLEVEL_H
|
||||
#define __DM365_LOWLEVEL_H
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/arch/hardware.h>
|
||||
#include <asm/io.h>
|
||||
|
||||
|
@ -8,8 +8,6 @@
|
||||
#ifndef _PINCTRL_SNAPDRAGON_H
|
||||
#define _PINCTRL_SNAPDRAGON_H
|
||||
|
||||
#include <common.h>
|
||||
|
||||
struct msm_pinctrl_data {
|
||||
int pin_count;
|
||||
int functions_count;
|
||||
|
@ -5,7 +5,6 @@
|
||||
*
|
||||
* Copyright (C) 2022 Texas Instruments Incorporated - https://www.ti.com/
|
||||
*/
|
||||
#include <common.h>
|
||||
#include <asm/arch/hardware.h>
|
||||
#include "common.h"
|
||||
|
||||
|
@ -7,7 +7,6 @@
|
||||
* Dave Gerlach <d-gerlach@ti.com>
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <fdt_support.h>
|
||||
#include <spl.h>
|
||||
#include <asm/io.h>
|
||||
|
@ -6,7 +6,6 @@
|
||||
* Lokesh Vutla <lokeshvutla@ti.com>
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <fdt_support.h>
|
||||
#include <init.h>
|
||||
#include <asm/global_data.h>
|
||||
|
@ -9,7 +9,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/system.h>
|
||||
#include <asm/armv8/mmu.h>
|
||||
|
||||
|
@ -6,7 +6,6 @@
|
||||
* Lokesh Vutla <lokeshvutla@ti.com>
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <cpu_func.h>
|
||||
#include <image.h>
|
||||
#include <init.h>
|
||||
|
@ -6,7 +6,6 @@
|
||||
* Lokesh Vutla <lokeshvutla@ti.com>
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <init.h>
|
||||
#include <spl.h>
|
||||
#include <asm/io.h>
|
||||
|
@ -6,7 +6,6 @@
|
||||
* David Huang <d-huang@ti.com>
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <init.h>
|
||||
#include <spl.h>
|
||||
#include <asm/io.h>
|
||||
|
@ -6,7 +6,6 @@
|
||||
* Lokesh Vutla <lokeshvutla@ti.com>
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/io.h>
|
||||
#include <linux/kernel.h>
|
||||
#include "common.h"
|
||||
|
@ -7,7 +7,6 @@
|
||||
*/
|
||||
|
||||
#include <asm/io.h>
|
||||
#include <common.h>
|
||||
#include <cpu_func.h>
|
||||
#include <dm.h>
|
||||
#include <hang.h>
|
||||
|
@ -6,7 +6,6 @@
|
||||
* Andreas Dannenberg <dannenberg@ti.com>
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <image.h>
|
||||
#include <log.h>
|
||||
|
@ -9,7 +9,6 @@
|
||||
#ifndef __ASM_ARCH_MUX_K2G_H
|
||||
#define __ASM_ARCH_MUX_K2G_H
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/io.h>
|
||||
|
||||
#define K2G_PADCFG_REG (KS2_DEVICE_STATE_CTRL_BASE + 0x1000)
|
||||
|
@ -6,8 +6,6 @@
|
||||
#ifndef _MVEBU_EFUSE_H
|
||||
#define _MVEBU_EFUSE_H
|
||||
|
||||
#include <common.h>
|
||||
|
||||
struct efuse_val {
|
||||
union {
|
||||
struct {
|
||||
|
@ -6,7 +6,6 @@
|
||||
#ifndef _TEGRA_XUSB_PADCTL_COMMON_H_
|
||||
#define _TEGRA_XUSB_PADCTL_COMMON_H_
|
||||
|
||||
#include <common.h>
|
||||
#include <fdtdec.h>
|
||||
#include <dm/ofnode.h>
|
||||
|
||||
|
@ -4,7 +4,6 @@
|
||||
#define _PSU_INIT_GPL_H_
|
||||
|
||||
#include <asm/io.h>
|
||||
#include <common.h>
|
||||
|
||||
int mask_pollonvalue(unsigned long add, u32 mask, u32 value);
|
||||
|
||||
|
@ -1,151 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
/*
|
||||
* fsl_mcdmafec.h -- Multi-channel DMA Fast Ethernet Controller definitions
|
||||
*
|
||||
* Copyright (C) 2004-2007 Freescale Semiconductor, Inc.
|
||||
* TsiChung Liew (Tsi-Chung.Liew@freescale.com)
|
||||
*/
|
||||
|
||||
#ifndef fsl_mcdmafec_h
|
||||
#define fsl_mcdmafec_h
|
||||
|
||||
/* Re-use of the definitions */
|
||||
#include <asm/fec.h>
|
||||
|
||||
typedef struct fecdma {
|
||||
u32 rsvd0; /* 0x000 */
|
||||
u32 eir; /* 0x004 */
|
||||
u32 eimr; /* 0x008 */
|
||||
u32 rsvd1[6]; /* 0x00C - 0x023 */
|
||||
u32 ecr; /* 0x024 */
|
||||
u32 rsvd2[6]; /* 0x028 - 0x03F */
|
||||
u32 mmfr; /* 0x040 */
|
||||
u32 mscr; /* 0x044 */
|
||||
u32 rsvd3[7]; /* 0x048 - 0x063 */
|
||||
u32 mibc; /* 0x064 */
|
||||
u32 rsvd4[7]; /* 0x068 - 0x083 */
|
||||
u32 rcr; /* 0x084 */
|
||||
u32 rhr; /* 0x088 */
|
||||
u32 rsvd5[14]; /* 0x08C - 0x0C3 */
|
||||
u32 tcr; /* 0x0C4 */
|
||||
u32 rsvd6[7]; /* 0x0C8 - 0x0E3 */
|
||||
u32 palr; /* 0x0E4 */
|
||||
u32 paur; /* 0x0E8 */
|
||||
u32 opd; /* 0x0EC */
|
||||
u32 rsvd7[10]; /* 0x0F0 - 0x117 */
|
||||
u32 iaur; /* 0x118 */
|
||||
u32 ialr; /* 0x11C */
|
||||
u32 gaur; /* 0x120 */
|
||||
u32 galr; /* 0x124 */
|
||||
u32 rsvd8[7]; /* 0x128 - 0x143 */
|
||||
u32 tfwr; /* 0x144 */
|
||||
u32 rsvd9[14]; /* 0x148 - 0x17F */
|
||||
u32 fmc; /* 0x180 */
|
||||
u32 rfdr; /* 0x184 */
|
||||
u32 rfsr; /* 0x188 */
|
||||
u32 rfcr; /* 0x18C */
|
||||
u32 rlrfp; /* 0x190 */
|
||||
u32 rlwfp; /* 0x194 */
|
||||
u32 rfar; /* 0x198 */
|
||||
u32 rfrp; /* 0x19C */
|
||||
u32 rfwp; /* 0x1A0 */
|
||||
u32 tfdr; /* 0x1A4 */
|
||||
u32 tfsr; /* 0x1A8 */
|
||||
u32 tfcr; /* 0x1AC */
|
||||
u32 tlrfp; /* 0x1B0 */
|
||||
u32 tlwfp; /* 0x1B4 */
|
||||
u32 tfar; /* 0x1B8 */
|
||||
u32 tfrp; /* 0x1BC */
|
||||
u32 tfwp; /* 0x1C0 */
|
||||
u32 frst; /* 0x1C4 */
|
||||
u32 ctcwr; /* 0x1C8 */
|
||||
} fecdma_t;
|
||||
|
||||
struct fec_info_dma {
|
||||
int index;
|
||||
u32 iobase;
|
||||
u32 pinmux;
|
||||
u32 miibase;
|
||||
int phy_addr;
|
||||
int dup_spd;
|
||||
char *phy_name;
|
||||
int phyname_init;
|
||||
cbd_t *rxbd; /* Rx BD */
|
||||
cbd_t *txbd; /* Tx BD */
|
||||
uint rx_idx;
|
||||
uint tx_idx;
|
||||
char *txbuf;
|
||||
int initialized;
|
||||
struct fec_info_dma *next;
|
||||
u16 rx_task; /* DMA receive Task Number */
|
||||
u16 tx_task; /* DMA Transmit Task Number */
|
||||
u16 rx_pri; /* DMA Receive Priority */
|
||||
u16 tx_pri; /* DMA Transmit Priority */
|
||||
u16 rx_init; /* DMA Receive Initiator */
|
||||
u16 tx_init; /* DMA Transmit Initiator */
|
||||
u16 used_tbd_idx; /* next transmit BD to clean */
|
||||
u16 clean_tbd_num; /* the number of available transmit BDs */
|
||||
int to_loop;
|
||||
struct mii_dev *bus;
|
||||
};
|
||||
|
||||
/* Bit definitions and macros for IEVENT */
|
||||
#define FEC_EIR_TXERR (0x00040000)
|
||||
#define FEC_EIR_RXERR (0x00020000)
|
||||
#undef FEC_EIR_CLEAR_ALL
|
||||
#define FEC_EIR_CLEAR_ALL (0xFFFE0000)
|
||||
|
||||
/* Bit definitions and macros for R_HASH */
|
||||
#define FEC_RHASH_FCE_DC (0x80000000)
|
||||
#define FEC_RHASH_MULTCAST (0x40000000)
|
||||
#define FEC_RHASH_HASH(x) (((x)&0x0000003F)<<24)
|
||||
|
||||
/* Bit definitions and macros for FEC_TFWR */
|
||||
#undef FEC_TFWR_X_WMRK
|
||||
#undef FEC_TFWR_X_WMRK_64
|
||||
#undef FEC_TFWR_X_WMRK_128
|
||||
#undef FEC_TFWR_X_WMRK_192
|
||||
|
||||
#define FEC_TFWR_X_WMRK(x) ((x)&0x0F)
|
||||
#define FEC_TFWR_X_WMRK_64 (0x00)
|
||||
#define FEC_TFWR_X_WMRK_128 (0x01)
|
||||
#define FEC_TFWR_X_WMRK_192 (0x02)
|
||||
#define FEC_TFWR_X_WMRK_256 (0x03)
|
||||
#define FEC_TFWR_X_WMRK_320 (0x04)
|
||||
#define FEC_TFWR_X_WMRK_384 (0x05)
|
||||
#define FEC_TFWR_X_WMRK_448 (0x06)
|
||||
#define FEC_TFWR_X_WMRK_512 (0x07)
|
||||
#define FEC_TFWR_X_WMRK_576 (0x08)
|
||||
#define FEC_TFWR_X_WMRK_640 (0x09)
|
||||
#define FEC_TFWR_X_WMRK_704 (0x0A)
|
||||
#define FEC_TFWR_X_WMRK_768 (0x0B)
|
||||
#define FEC_TFWR_X_WMRK_832 (0x0C)
|
||||
#define FEC_TFWR_X_WMRK_896 (0x0D)
|
||||
#define FEC_TFWR_X_WMRK_960 (0x0E)
|
||||
#define FEC_TFWR_X_WMRK_1024 (0x0F)
|
||||
|
||||
/* FIFO definitions */
|
||||
/* Bit definitions and macros for FSTAT */
|
||||
#define FIFO_STAT_IP (0x80000000)
|
||||
#define FIFO_STAT_FRAME(x) (((x)&0x0000000F)<<24)
|
||||
#define FIFO_STAT_FAE (0x00800000)
|
||||
#define FIFO_STAT_RXW (0x00400000)
|
||||
#define FIFO_STAT_UF (0x00200000)
|
||||
#define FIFO_STAT_OF (0x00100000)
|
||||
#define FIFO_STAT_FR (0x00080000)
|
||||
#define FIFO_STAT_FULL (0x00040000)
|
||||
#define FIFO_STAT_ALARM (0x00020000)
|
||||
#define FIFO_STAT_EMPTY (0x00010000)
|
||||
|
||||
/* Bit definitions and macros for FCTRL */
|
||||
#define FIFO_CTRL_WCTL (0x40000000)
|
||||
#define FIFO_CTRL_WFR (0x20000000)
|
||||
#define FIFO_CTRL_FRAME (0x08000000)
|
||||
#define FIFO_CTRL_GR(x) (((x)&0x00000007)<<24)
|
||||
#define FIFO_CTRL_IPMASK (0x00800000)
|
||||
#define FIFO_CTRL_FAEMASK (0x00400000)
|
||||
#define FIFO_CTRL_RXWMASK (0x00200000)
|
||||
#define FIFO_CTRL_UFMASK (0x00100000)
|
||||
#define FIFO_CTRL_OFMASK (0x00080000)
|
||||
|
||||
#endif /* fsl_mcdmafec_h */
|
@ -314,21 +314,6 @@
|
||||
#include <asm/immap_547x_8x.h>
|
||||
#include <asm/m547x_8x.h>
|
||||
|
||||
#ifdef CONFIG_FSLDMAFEC
|
||||
#define FEC0_RX_TASK 0
|
||||
#define FEC0_TX_TASK 1
|
||||
#define FEC0_RX_PRIORITY 6
|
||||
#define FEC0_TX_PRIORITY 7
|
||||
#define FEC0_RX_INIT 16
|
||||
#define FEC0_TX_INIT 17
|
||||
#define FEC1_RX_TASK 2
|
||||
#define FEC1_TX_TASK 3
|
||||
#define FEC1_RX_PRIORITY 6
|
||||
#define FEC1_TX_PRIORITY 7
|
||||
#define FEC1_RX_INIT 30
|
||||
#define FEC1_TX_INIT 31
|
||||
#endif
|
||||
|
||||
#define CFG_SYS_UART_BASE (MMAP_UART0 + (CFG_SYS_UART_PORT * 0x100))
|
||||
|
||||
#ifdef CONFIG_SLTTMR
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
#if defined(CONFIG_MCFFEC) || defined(CONFIG_FSLDMAFEC)
|
||||
#if defined(CONFIG_MCFFEC)
|
||||
static int fec_get_node(int fec_idx)
|
||||
{
|
||||
char fec_alias[5] = {"fec"};
|
||||
@ -77,4 +77,4 @@ int fec_get_mii_base(int fec_idx, u32 *mii_base)
|
||||
return fec_get_fdt_prop(fec_idx, "mii-base", mii_base);
|
||||
}
|
||||
|
||||
#endif //CONFIG_MCFFEC || CONFIG_FSLDMAFEC
|
||||
#endif //CONFIG_MCFFEC
|
||||
|
@ -3,7 +3,6 @@
|
||||
* Copyright (C) 2004-2009 Freescale Semiconductor, Inc.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <asm-offsets.h>
|
||||
#include <mpc83xx.h>
|
||||
#include <system-constants.h>
|
||||
@ -19,6 +18,8 @@
|
||||
#ifdef CONFIG_QE
|
||||
#include <fsl_qe.h>
|
||||
#endif
|
||||
#include <asm/ppc.h>
|
||||
#include <asm/fsl_lbc.h>
|
||||
|
||||
#include "lblaw/lblaw.h"
|
||||
#include "elbc/elbc.h"
|
||||
|
@ -20,6 +20,7 @@
|
||||
|
||||
#include <asm/cache.h>
|
||||
#include <asm/mmu.h>
|
||||
#include <asm/fsl_lbc.h>
|
||||
#include <asm/u-boot.h>
|
||||
|
||||
#include "hrcw/hrcw.h"
|
||||
|
@ -9,7 +9,6 @@
|
||||
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <display_options.h>
|
||||
#include <env.h>
|
||||
#include <init.h>
|
||||
|
@ -6,9 +6,6 @@
|
||||
#ifndef __ASM_PPC_FSL_LBC_H
|
||||
#define __ASM_PPC_FSL_LBC_H
|
||||
|
||||
#include <config.h>
|
||||
#include <common.h>
|
||||
|
||||
#ifdef CONFIG_MPC85xx
|
||||
void lbc_sdram_init(void);
|
||||
#endif
|
||||
|
@ -9,7 +9,7 @@
|
||||
#define __ASM_GBL_DATA_H
|
||||
|
||||
#include <config.h>
|
||||
#include "asm/types.h"
|
||||
#include <linux/types.h>
|
||||
|
||||
/* Architecture-specific global data */
|
||||
struct arch_global_data {
|
||||
|
3
arch/sandbox/include/asm/barrier.h
Normal file
3
arch/sandbox/include/asm/barrier.h
Normal file
@ -0,0 +1,3 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
|
||||
#define nop()
|
@ -6,7 +6,6 @@
|
||||
#ifndef __SANDBOX_CLK_H
|
||||
#define __SANDBOX_CLK_H
|
||||
|
||||
#include <common.h>
|
||||
#include <clk.h>
|
||||
#include <dt-structs.h>
|
||||
#include <linux/clk-provider.h>
|
||||
|
@ -6,8 +6,6 @@
|
||||
#ifndef __SANDBOX_MBOX_H
|
||||
#define __SANDBOX_MBOX_H
|
||||
|
||||
#include <common.h>
|
||||
|
||||
#define SANDBOX_MBOX_PING_XOR 0x12345678
|
||||
|
||||
struct udevice;
|
||||
|
@ -6,8 +6,6 @@
|
||||
#ifndef __SANDBOX_POWER_DOMAIN_H
|
||||
#define __SANDBOX_POWER_DOMAIN_H
|
||||
|
||||
#include <common.h>
|
||||
|
||||
struct udevice;
|
||||
|
||||
int sandbox_power_domain_query(struct udevice *dev, unsigned long id);
|
||||
|
@ -6,8 +6,6 @@
|
||||
#ifndef __SANDBOX_RESET_H
|
||||
#define __SANDBOX_RESET_H
|
||||
|
||||
#include <common.h>
|
||||
|
||||
struct udevice;
|
||||
|
||||
int sandbox_reset_query(struct udevice *dev, unsigned long id);
|
||||
|
@ -6,7 +6,6 @@
|
||||
#ifndef __SLIMBOOTLOADER_ARCH_H__
|
||||
#define __SLIMBOOTLOADER_ARCH_H__
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/hob.h>
|
||||
|
||||
/**
|
||||
|
@ -7,7 +7,6 @@
|
||||
#ifndef __ASM_X86_DMA_MAPPING_H
|
||||
#define __ASM_X86_DMA_MAPPING_H
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/cache.h>
|
||||
#include <cpu_func.h>
|
||||
#include <linux/dma-direction.h>
|
||||
|
@ -5,8 +5,7 @@ config TEXT_BASE
|
||||
|
||||
config BOARD_SPECIFIC_OPTIONS # dummy
|
||||
def_bool y
|
||||
select CMD_QFW
|
||||
select QFW_MMIO
|
||||
select QFW_MMIO if CMD_QFW
|
||||
imply VIRTIO_MMIO
|
||||
imply VIRTIO_PCI
|
||||
imply VIRTIO_NET
|
||||
|
@ -20,7 +20,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
||||
def_bool y
|
||||
select X86_RESET_VECTOR
|
||||
select QEMU
|
||||
select QFW_PIO
|
||||
select QFW_PIO if CMD_QFW
|
||||
select BOARD_ROMSIZE_KB_1024
|
||||
imply VIRTIO_PCI
|
||||
imply VIRTIO_NET
|
||||
|
@ -3,7 +3,6 @@
|
||||
* Copyright 2014 Freescale Semiconductor, Inc.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <log.h>
|
||||
#include <asm/global_data.h>
|
||||
#include <asm/io.h>
|
||||
|
@ -3,8 +3,8 @@
|
||||
* Copyright 2014 Freescale Semiconductor, Inc.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <log.h>
|
||||
#include <asm/cache.h>
|
||||
#include <asm/global_data.h>
|
||||
#include <asm/immap_85xx.h>
|
||||
#include "sleep.h"
|
||||
|
@ -4,7 +4,6 @@
|
||||
* Copyright 2019, 2021 NXP
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <clock_legacy.h>
|
||||
#include <fdt_support.h>
|
||||
#include <i2c.h>
|
||||
|
@ -1,7 +1,6 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/* Copyright 2016-2019, 2021 NXP
|
||||
*/
|
||||
#include <common.h>
|
||||
#include <clock_legacy.h>
|
||||
#include <fdt_support.h>
|
||||
#include <init.h>
|
||||
|
@ -4,7 +4,6 @@
|
||||
* Copyright 2019, 2021-2022 NXP
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <clock_legacy.h>
|
||||
#include <command.h>
|
||||
#include <fdt_support.h>
|
||||
|
@ -4,7 +4,6 @@
|
||||
* Copyright 2021-2022 NXP
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <i2c.h>
|
||||
#include <init.h>
|
||||
#include <asm/global_data.h>
|
||||
|
@ -3,6 +3,8 @@
|
||||
* Copyright 2017 NXP
|
||||
*/
|
||||
|
||||
#include <vsprintf.h>
|
||||
#include <linux/string.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/arch/fsl_serdes.h>
|
||||
#include <fsl-mc/fsl_mc.h>
|
||||
|
@ -3,6 +3,8 @@
|
||||
* Copyright 2015 Freescale Semiconductor, Inc.
|
||||
*/
|
||||
|
||||
#include <vsprintf.h>
|
||||
#include <linux/string.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/arch/fsl_serdes.h>
|
||||
#include <fsl-mc/fsl_mc.h>
|
||||
|
@ -3,7 +3,7 @@
|
||||
* Copyright 2020 Hitachi Power Grids. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <config.h>
|
||||
#include <event.h>
|
||||
#include <i2c.h>
|
||||
#include <asm/io.h>
|
||||
|
@ -8,7 +8,6 @@
|
||||
|
||||
#include <asm/arch/hardware.h>
|
||||
#include <asm/io.h>
|
||||
#include <common.h>
|
||||
#include <dm/uclass.h>
|
||||
#include <env.h>
|
||||
#include <fdt_support.h>
|
||||
|
@ -7,7 +7,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/io.h>
|
||||
#include <dm/uclass.h>
|
||||
#include <k3-ddrss.h>
|
||||
|
@ -7,7 +7,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <fdt_support.h>
|
||||
#include <image.h>
|
||||
|
@ -7,7 +7,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <env.h>
|
||||
#include <fdt_support.h>
|
||||
#include <generic-phy.h>
|
||||
|
@ -7,7 +7,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <env.h>
|
||||
#include <fdt_support.h>
|
||||
#include <generic-phy.h>
|
||||
|
73
boot/Kconfig
73
boot/Kconfig
@ -346,8 +346,16 @@ config PXE_UTILS
|
||||
help
|
||||
Utilities for parsing PXE file formats.
|
||||
|
||||
config BOOT_DEFAULTS
|
||||
bool # Common defaults for standard boot and distroboot
|
||||
config BOOT_DEFAULTS_FEATURES
|
||||
bool
|
||||
select SUPPORT_RAW_INITRD
|
||||
select ENV_VARS_UBOOT_CONFIG
|
||||
imply USB_STORAGE
|
||||
imply EFI_PARTITION
|
||||
imply ISO_PARTITION
|
||||
|
||||
config BOOT_DEFAULTS_CMDS
|
||||
bool
|
||||
imply USE_BOOTCOMMAND
|
||||
select CMD_ENV_EXISTS
|
||||
select CMD_EXT2
|
||||
@ -358,14 +366,14 @@ config BOOT_DEFAULTS
|
||||
select CMD_DHCP if CMD_NET
|
||||
select CMD_PING if CMD_NET
|
||||
select CMD_PXE if CMD_NET
|
||||
select SUPPORT_RAW_INITRD
|
||||
select ENV_VARS_UBOOT_CONFIG
|
||||
select CMD_BOOTI if ARM64
|
||||
select CMD_BOOTZ if ARM && !ARM64
|
||||
imply CMD_MII if NET
|
||||
imply USB_STORAGE
|
||||
imply EFI_PARTITION
|
||||
imply ISO_PARTITION
|
||||
|
||||
config BOOT_DEFAULTS
|
||||
bool # Common defaults for standard boot and distroboot
|
||||
select BOOT_DEFAULTS_FEATURES
|
||||
select BOOT_DEFAULTS_CMDS if CMDLINE
|
||||
help
|
||||
These are not required but are commonly needed to support a good
|
||||
selection of booting methods. Enable this to improve the capability
|
||||
@ -431,7 +439,6 @@ config BOOTSTD_FULL
|
||||
config BOOTSTD_DEFAULTS
|
||||
bool "Select some common defaults for standard boot"
|
||||
depends on BOOTSTD
|
||||
imply USE_BOOTCOMMAND
|
||||
select BOOT_DEFAULTS
|
||||
select BOOTMETH_DISTRO
|
||||
help
|
||||
@ -504,7 +511,7 @@ config BOOTMETH_EXTLINUX_PXE
|
||||
|
||||
config BOOTMETH_EFILOADER
|
||||
bool "Bootdev support for EFI boot"
|
||||
depends on EFI_LOADER
|
||||
depends on CMD_BOOTEFI
|
||||
default y
|
||||
help
|
||||
Enables support for EFI boot using bootdevs. This makes the
|
||||
@ -536,10 +543,10 @@ config BOOTMETH_VBE
|
||||
|
||||
config BOOTMETH_DISTRO
|
||||
bool # Options needed to boot any distro
|
||||
select BOOTMETH_SCRIPT # E.g. Armbian uses scripts
|
||||
select BOOTMETH_SCRIPT if CMDLINE # E.g. Armbian uses scripts
|
||||
select BOOTMETH_EXTLINUX # E.g. Debian uses these
|
||||
select BOOTMETH_EXTLINUX_PXE if CMD_PXE && CMD_NET && DM_ETH
|
||||
select BOOTMETH_EFILOADER if EFI_LOADER # E.g. Ubuntu uses this
|
||||
select BOOTMETH_EFILOADER if CMD_BOOTEFI # E.g. Ubuntu uses this
|
||||
|
||||
config SPL_BOOTMETH_VBE
|
||||
bool "Bootdev support for Verified Boot for Embedded (SPL)"
|
||||
@ -664,6 +671,7 @@ config BOOTMETH_SANDBOX
|
||||
config BOOTMETH_SCRIPT
|
||||
bool "Bootdev support for U-Boot scripts"
|
||||
default y if BOOTSTD_FULL
|
||||
depends on CMDLINE
|
||||
select HUSH_PARSER
|
||||
help
|
||||
Enables support for booting a distro via a U-Boot script. This makes
|
||||
@ -717,6 +725,17 @@ if MEASURED_BOOT
|
||||
event log memory region.
|
||||
endif # MEASURED_BOOT
|
||||
|
||||
config SYS_BOOTM_LEN
|
||||
hex "Maximum size of a decompresed OS image"
|
||||
depends on CMD_BOOTM || CMD_BOOTI || CMD_BOOTZ || \
|
||||
LEGACY_IMAGE_FORMAT || SPL_LEGACY_IMAGE_FORMAT
|
||||
default 0x4000000 if PPC || ARM64
|
||||
default 0x1000000 if X86 || ARCH_MX6 || ARCH_MX7
|
||||
default 0x800000
|
||||
help
|
||||
This is the maximum size of the buffer that is used to decompress the OS
|
||||
image in to if attempting to boot a compressed image.
|
||||
|
||||
config SUPPORT_RAW_INITRD
|
||||
bool "Enable raw initrd images"
|
||||
help
|
||||
@ -809,6 +828,7 @@ endmenu # Boot images
|
||||
|
||||
config DISTRO_DEFAULTS
|
||||
bool "(deprecated) Script-based booting of Linux distributions"
|
||||
select CMDLINE
|
||||
select BOOT_DEFAULTS
|
||||
select AUTO_COMPLETE
|
||||
select CMDLINE_EDITING
|
||||
@ -1194,14 +1214,16 @@ menu "Autoboot options"
|
||||
|
||||
config AUTOBOOT
|
||||
bool "Autoboot"
|
||||
depends on CMDLINE
|
||||
default y
|
||||
help
|
||||
This enables the autoboot. See doc/README.autoboot for detail.
|
||||
|
||||
if AUTOBOOT
|
||||
|
||||
config BOOTDELAY
|
||||
int "delay in seconds before automatically booting"
|
||||
default 2
|
||||
depends on AUTOBOOT
|
||||
help
|
||||
Delay before automatically running bootcmd;
|
||||
set to 0 to autoboot with no delay, but you can stop it by key input.
|
||||
@ -1223,9 +1245,11 @@ config AUTOBOOT_KEYED
|
||||
U-Boot automatic booting process and bring the device
|
||||
to the U-Boot prompt for user input.
|
||||
|
||||
if AUTOBOOT_KEYED
|
||||
|
||||
config AUTOBOOT_FLUSH_STDIN
|
||||
bool "Enable flushing stdin before starting to read the password"
|
||||
depends on AUTOBOOT_KEYED && !SANDBOX
|
||||
depends on !SANDBOX
|
||||
help
|
||||
When this option is enabled stdin buffer will be flushed before
|
||||
starting to read the password.
|
||||
@ -1234,7 +1258,6 @@ config AUTOBOOT_FLUSH_STDIN
|
||||
|
||||
config AUTOBOOT_PROMPT
|
||||
string "Autoboot stop prompt"
|
||||
depends on AUTOBOOT_KEYED
|
||||
default "Autoboot in %d seconds\\n"
|
||||
help
|
||||
This string is displayed before the boot delay selected by
|
||||
@ -1250,7 +1273,6 @@ config AUTOBOOT_PROMPT
|
||||
|
||||
config AUTOBOOT_ENCRYPTION
|
||||
bool "Enable encryption in autoboot stopping"
|
||||
depends on AUTOBOOT_KEYED
|
||||
help
|
||||
This option allows a string to be entered into U-Boot to stop the
|
||||
autoboot.
|
||||
@ -1277,7 +1299,7 @@ config AUTOBOOT_SHA256_FALLBACK
|
||||
|
||||
config AUTOBOOT_DELAY_STR
|
||||
string "Delay autobooting via specific input key / string"
|
||||
depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
|
||||
depends on !AUTOBOOT_ENCRYPTION
|
||||
help
|
||||
This option delays the automatic boot feature by issuing
|
||||
a specific input key or string. If CONFIG_AUTOBOOT_DELAY_STR
|
||||
@ -1289,7 +1311,7 @@ config AUTOBOOT_DELAY_STR
|
||||
|
||||
config AUTOBOOT_STOP_STR
|
||||
string "Stop autobooting via specific input key / string"
|
||||
depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
|
||||
depends on !AUTOBOOT_ENCRYPTION
|
||||
help
|
||||
This option enables stopping (aborting) of the automatic
|
||||
boot feature only by issuing a specific input key or
|
||||
@ -1301,7 +1323,7 @@ config AUTOBOOT_STOP_STR
|
||||
|
||||
config AUTOBOOT_KEYED_CTRLC
|
||||
bool "Enable Ctrl-C autoboot interruption"
|
||||
depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION
|
||||
depends on !AUTOBOOT_ENCRYPTION
|
||||
help
|
||||
This option allows for the boot sequence to be interrupted
|
||||
by ctrl-c, in addition to the "bootdelaykey" and "bootstopkey".
|
||||
@ -1310,7 +1332,7 @@ config AUTOBOOT_KEYED_CTRLC
|
||||
|
||||
config AUTOBOOT_NEVER_TIMEOUT
|
||||
bool "Make the password entry never time-out"
|
||||
depends on AUTOBOOT_KEYED && AUTOBOOT_ENCRYPTION && CRYPT_PW
|
||||
depends on AUTOBOOT_ENCRYPTION && CRYPT_PW
|
||||
help
|
||||
This option removes the timeout from the password entry
|
||||
when the user first presses the <Enter> key before entering
|
||||
@ -1318,7 +1340,7 @@ config AUTOBOOT_NEVER_TIMEOUT
|
||||
|
||||
config AUTOBOOT_STOP_STR_ENABLE
|
||||
bool "Enable fixed string to stop autobooting"
|
||||
depends on AUTOBOOT_KEYED && AUTOBOOT_ENCRYPTION
|
||||
depends on AUTOBOOT_ENCRYPTION
|
||||
help
|
||||
This option enables the feature to add a fixed stop
|
||||
string that is defined at compile time.
|
||||
@ -1349,9 +1371,12 @@ config AUTOBOOT_STOP_STR_SHA256
|
||||
includes a ":", the portion prior to the ":" will be treated
|
||||
as a salt value.
|
||||
|
||||
endif # AUTOBOOT_KEYED
|
||||
|
||||
if !AUTOBOOT_KEYED
|
||||
|
||||
config AUTOBOOT_USE_MENUKEY
|
||||
bool "Allow a specify key to run a menu from the environment"
|
||||
depends on !AUTOBOOT_KEYED
|
||||
help
|
||||
If a specific key is pressed to stop autoboot, then the commands in
|
||||
the environment variable 'menucmd' are executed before boot starts.
|
||||
@ -1366,6 +1391,10 @@ config AUTOBOOT_MENUKEY
|
||||
For example, 33 means "!" in ASCII, so pressing ! at boot would take
|
||||
this action.
|
||||
|
||||
endif
|
||||
|
||||
endif # AUTOBOOT
|
||||
|
||||
config AUTOBOOT_MENU_SHOW
|
||||
bool "Show a menu on boot"
|
||||
depends on CMD_BOOTMENU
|
||||
@ -1561,6 +1590,7 @@ config BOOTARGS_SUBST
|
||||
|
||||
config USE_BOOTCOMMAND
|
||||
bool "Enable a default value for bootcmd"
|
||||
depends on CMDLINE
|
||||
help
|
||||
Provide a default value for the bootcmd entry in the environment. If
|
||||
autoboot is enabled this is what will be run automatically. Enable
|
||||
@ -1580,6 +1610,7 @@ config BOOTCOMMAND
|
||||
|
||||
config USE_PREBOOT
|
||||
bool "Enable preboot"
|
||||
depends on CMDLINE
|
||||
help
|
||||
When this option is enabled, the existence of the environment
|
||||
variable "preboot" will be checked immediately before starting the
|
||||
|
@ -28,7 +28,7 @@ obj-$(CONFIG_$(SPL_TPL_)BOOTSTD) += bootstd-uclass.o
|
||||
obj-$(CONFIG_$(SPL_TPL_)BOOTMETH_EXTLINUX) += bootmeth_extlinux.o
|
||||
obj-$(CONFIG_$(SPL_TPL_)BOOTMETH_EXTLINUX_PXE) += bootmeth_pxe.o
|
||||
obj-$(CONFIG_$(SPL_TPL_)BOOTMETH_EFILOADER) += bootmeth_efi.o
|
||||
obj-$(CONFIG_$(SPL_TPL_)BOOTMETH_CROS) += bootmeth_cros.o
|
||||
obj-$(CONFIG_$(SPL_TPL_)BOOTMETH_CROS) += bootm.o bootm_os.o bootmeth_cros.o
|
||||
obj-$(CONFIG_$(SPL_TPL_)BOOTMETH_SANDBOX) += bootmeth_sandbox.o
|
||||
obj-$(CONFIG_$(SPL_TPL_)BOOTMETH_SCRIPT) += bootmeth_script.o
|
||||
ifdef CONFIG_$(SPL_TPL_)BOOTSTD_FULL
|
||||
|
66
cmd/Kconfig
66
cmd/Kconfig
@ -1,7 +1,5 @@
|
||||
menu "Command line interface"
|
||||
|
||||
config CMDLINE
|
||||
bool "Support U-Boot commands"
|
||||
menuconfig CMDLINE
|
||||
bool "Command line interface"
|
||||
default y
|
||||
help
|
||||
Enable U-Boot's command-line functions. This provides a means
|
||||
@ -11,9 +9,10 @@ config CMDLINE
|
||||
Depending on the number of commands enabled, this can add
|
||||
substantially to the size of U-Boot.
|
||||
|
||||
if CMDLINE
|
||||
|
||||
config HUSH_PARSER
|
||||
bool "Use hush shell"
|
||||
depends on CMDLINE
|
||||
help
|
||||
This option enables the "hush" shell (from Busybox) as command line
|
||||
interpreter, thus enabling powerful command line syntax like
|
||||
@ -25,7 +24,6 @@ config HUSH_PARSER
|
||||
|
||||
config CMDLINE_EDITING
|
||||
bool "Enable command line editing"
|
||||
depends on CMDLINE
|
||||
default y
|
||||
help
|
||||
Enable editing and History functions for interactive command line
|
||||
@ -40,15 +38,13 @@ config CMDLINE_PS_SUPPORT
|
||||
|
||||
config AUTO_COMPLETE
|
||||
bool "Enable auto complete using TAB"
|
||||
depends on CMDLINE
|
||||
default y
|
||||
help
|
||||
Enable auto completion of commands using TAB.
|
||||
|
||||
config SYS_LONGHELP
|
||||
bool "Enable long help messages"
|
||||
depends on CMDLINE
|
||||
default y if CMDLINE
|
||||
default y
|
||||
help
|
||||
Defined when you want long help messages included
|
||||
Do not set this option when short of memory.
|
||||
@ -75,24 +71,9 @@ config SYS_MAXARGS
|
||||
int "Maximum number arguments accepted by commands"
|
||||
default 16
|
||||
|
||||
config SYS_CBSIZE
|
||||
int "Console input buffer size"
|
||||
default 2048 if ARCH_TEGRA || ARCH_VERSAL || ARCH_ZYNQ || ARCH_ZYNQMP || \
|
||||
RCAR_GEN3 || TARGET_SOCFPGA_SOC64
|
||||
default 512 if ARCH_MX5 || ARCH_MX6 || ARCH_MX7 || FSL_LSCH2 || \
|
||||
FSL_LSCH3 || X86
|
||||
default 256 if M68K || PPC
|
||||
default 1024
|
||||
|
||||
config SYS_PBSIZE
|
||||
int "Buffer size for console output"
|
||||
default 1024 if ARCH_SUNXI
|
||||
default 1044
|
||||
|
||||
config SYS_XTRACE
|
||||
bool "Command execution tracer"
|
||||
depends on CMDLINE
|
||||
default y if CMDLINE
|
||||
default y
|
||||
help
|
||||
This option enables the possiblity to print all commands before
|
||||
executing them and after all variables are evaluated (similar
|
||||
@ -374,17 +355,6 @@ config BOOTM_VXWORKS
|
||||
help
|
||||
Support booting VxWorks images via the bootm command.
|
||||
|
||||
config SYS_BOOTM_LEN
|
||||
hex "Maximum size of a decompresed OS image"
|
||||
depends on CMD_BOOTM || CMD_BOOTI || CMD_BOOTZ || \
|
||||
LEGACY_IMAGE_FORMAT || SPL_LEGACY_IMAGE_FORMAT
|
||||
default 0x4000000 if PPC || ARM64
|
||||
default 0x1000000 if X86 || ARCH_MX6 || ARCH_MX7
|
||||
default 0x800000
|
||||
help
|
||||
This is the maximum size of the buffer that is used to decompress the OS
|
||||
image in to, if passing a compressed image to bootm/booti/bootz.
|
||||
|
||||
config CMD_BOOTEFI
|
||||
bool "bootefi"
|
||||
depends on EFI_LOADER
|
||||
@ -392,6 +362,15 @@ config CMD_BOOTEFI
|
||||
help
|
||||
Boot an EFI image from memory.
|
||||
|
||||
config CMD_BOOTEFI_BOOTMGR
|
||||
bool "UEFI Boot Manager command"
|
||||
depends on BOOTEFI_BOOTMGR && CMD_BOOTEFI
|
||||
default y
|
||||
help
|
||||
Select this option to enable the 'bootmgr' subcommand of 'bootefi'.
|
||||
This subcommand will allow you to select the UEFI binary to be booted
|
||||
via UEFI variables Boot####, BootOrder, and BootNext.
|
||||
|
||||
config CMD_BOOTEFI_HELLO_COMPILE
|
||||
bool "Compile a standard EFI hello world binary for testing"
|
||||
depends on CMD_BOOTEFI && !CPU_V7M
|
||||
@ -1152,13 +1131,6 @@ config CMD_GPT
|
||||
Enable the 'gpt' command to ready and write GPT style partition
|
||||
tables.
|
||||
|
||||
config RANDOM_UUID
|
||||
bool "GPT Random UUID generation"
|
||||
select LIB_UUID
|
||||
help
|
||||
Enable the generation of partitions with random UUIDs if none
|
||||
are provided.
|
||||
|
||||
config CMD_GPT_RENAME
|
||||
bool "GPT partition renaming commands"
|
||||
depends on CMD_GPT
|
||||
@ -2142,7 +2114,7 @@ config CMD_EFIDEBUG
|
||||
config CMD_EFICONFIG
|
||||
bool "eficonfig - provide menu-driven uefi variables maintenance interface"
|
||||
default y if !HAS_BOARD_SIZE_LIMIT
|
||||
depends on CMD_BOOTEFI_BOOTMGR
|
||||
depends on BOOTEFI_BOOTMGR
|
||||
select MENU
|
||||
help
|
||||
Enable the 'eficonfig' command which provides the menu-driven UEFI
|
||||
@ -2257,6 +2229,8 @@ config CMD_SYSBOOT
|
||||
config CMD_QFW
|
||||
bool "qfw"
|
||||
select QFW
|
||||
default y if TARGET_QEMU_ARM_32BIT || TARGET_QEMU_ARM_64BIT || \
|
||||
TARGET_QEMU_X86 || TARGET_QEMU_X86_64
|
||||
help
|
||||
This provides access to the QEMU firmware interface. The main
|
||||
feature is to allow easy loading of files passed to qemu-system
|
||||
@ -2370,6 +2344,7 @@ config CMD_VIDCONSOLE
|
||||
config CMD_SELECT_FONT
|
||||
bool "select font size"
|
||||
depends on VIDEO
|
||||
default y if CONSOLE_TRUETYPE
|
||||
help
|
||||
Enabling this will provide 'font' command.
|
||||
Allows font selection at runtime.
|
||||
@ -2902,4 +2877,5 @@ config CMD_MESON
|
||||
default y
|
||||
help
|
||||
Enable useful commands for the Meson Soc family developed by Amlogic Inc.
|
||||
endmenu
|
||||
|
||||
endif
|
||||
|
@ -128,6 +128,7 @@ endif
|
||||
obj-$(CONFIG_CMD_MUX) += mux.o
|
||||
obj-$(CONFIG_CMD_NAND) += nand.o
|
||||
obj-$(CONFIG_CMD_NET) += net.o
|
||||
obj-$(CONFIG_ENV_SUPPORT) += nvedit.o
|
||||
obj-$(CONFIG_CMD_NVEDIT_EFI) += nvedit_efi.o
|
||||
obj-$(CONFIG_CMD_ONENAND) += onenand.o
|
||||
obj-$(CONFIG_CMD_OSD) += osd.o
|
||||
@ -245,9 +246,6 @@ endif # !CONFIG_SPL_BUILD
|
||||
|
||||
obj-$(CONFIG_$(SPL_)CMD_TLV_EEPROM) += tlv_eeprom.o
|
||||
|
||||
# core command
|
||||
obj-y += nvedit.o
|
||||
|
||||
obj-$(CONFIG_CMD_BCM_EXT_UTILS) += broadcom/
|
||||
|
||||
filechk_data_gz = (echo "static const char data_gz[] ="; cat $< | scripts/bin2c; echo ";")
|
||||
|
122
cmd/nvedit.c
122
cmd/nvedit.c
@ -49,20 +49,6 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||
*/
|
||||
#define MAX_ENV_SIZE (1 << 20) /* 1 MiB */
|
||||
|
||||
/*
|
||||
* This variable is incremented on each do_env_set(), so it can
|
||||
* be used via env_get_id() as an indication, if the environment
|
||||
* has changed or not. So it is possible to reread an environment
|
||||
* variable only if the environment was changed ... done so for
|
||||
* example in NetInitLoop()
|
||||
*/
|
||||
static int env_id = 1;
|
||||
|
||||
int env_get_id(void)
|
||||
{
|
||||
return env_id;
|
||||
}
|
||||
|
||||
#ifndef CONFIG_SPL_BUILD
|
||||
/*
|
||||
* Command interface: print one or all environment variables
|
||||
@ -198,104 +184,6 @@ DONE:
|
||||
#endif
|
||||
#endif /* CONFIG_SPL_BUILD */
|
||||
|
||||
/*
|
||||
* Set a new environment variable,
|
||||
* or replace or delete an existing one.
|
||||
*/
|
||||
static int _do_env_set(int flag, int argc, char *const argv[], int env_flag)
|
||||
{
|
||||
int i, len;
|
||||
char *name, *value, *s;
|
||||
struct env_entry e, *ep;
|
||||
|
||||
debug("Initial value for argc=%d\n", argc);
|
||||
|
||||
#if !IS_ENABLED(CONFIG_SPL_BUILD) && IS_ENABLED(CONFIG_CMD_NVEDIT_EFI)
|
||||
if (argc > 1 && argv[1][0] == '-' && argv[1][1] == 'e')
|
||||
return do_env_set_efi(NULL, flag, --argc, ++argv);
|
||||
#endif
|
||||
|
||||
while (argc > 1 && **(argv + 1) == '-') {
|
||||
char *arg = *++argv;
|
||||
|
||||
--argc;
|
||||
while (*++arg) {
|
||||
switch (*arg) {
|
||||
case 'f': /* force */
|
||||
env_flag |= H_FORCE;
|
||||
break;
|
||||
default:
|
||||
return CMD_RET_USAGE;
|
||||
}
|
||||
}
|
||||
}
|
||||
debug("Final value for argc=%d\n", argc);
|
||||
name = argv[1];
|
||||
|
||||
if (strchr(name, '=')) {
|
||||
printf("## Error: illegal character '='"
|
||||
"in variable name \"%s\"\n", name);
|
||||
return 1;
|
||||
}
|
||||
|
||||
env_id++;
|
||||
|
||||
/* Delete only ? */
|
||||
if (argc < 3 || argv[2] == NULL) {
|
||||
int rc = hdelete_r(name, &env_htab, env_flag);
|
||||
|
||||
/* If the variable didn't exist, don't report an error */
|
||||
return rc && rc != -ENOENT ? 1 : 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Insert / replace new value
|
||||
*/
|
||||
for (i = 2, len = 0; i < argc; ++i)
|
||||
len += strlen(argv[i]) + 1;
|
||||
|
||||
value = malloc(len);
|
||||
if (value == NULL) {
|
||||
printf("## Can't malloc %d bytes\n", len);
|
||||
return 1;
|
||||
}
|
||||
for (i = 2, s = value; i < argc; ++i) {
|
||||
char *v = argv[i];
|
||||
|
||||
while ((*s++ = *v++) != '\0')
|
||||
;
|
||||
*(s - 1) = ' ';
|
||||
}
|
||||
if (s != value)
|
||||
*--s = '\0';
|
||||
|
||||
e.key = name;
|
||||
e.data = value;
|
||||
hsearch_r(e, ENV_ENTER, &ep, &env_htab, env_flag);
|
||||
free(value);
|
||||
if (!ep) {
|
||||
printf("## Error inserting \"%s\" variable, errno=%d\n",
|
||||
name, errno);
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int env_set(const char *varname, const char *varvalue)
|
||||
{
|
||||
const char * const argv[4] = { "setenv", varname, varvalue, NULL };
|
||||
|
||||
/* before import into hashtable */
|
||||
if (!(gd->flags & GD_FLG_ENV_READY))
|
||||
return 1;
|
||||
|
||||
if (varvalue == NULL || varvalue[0] == '\0')
|
||||
return _do_env_set(0, 2, (char * const *)argv, H_PROGRAMMATIC);
|
||||
else
|
||||
return _do_env_set(0, 3, (char * const *)argv, H_PROGRAMMATIC);
|
||||
}
|
||||
|
||||
#ifndef CONFIG_SPL_BUILD
|
||||
static int do_env_set(struct cmd_tbl *cmdtp, int flag, int argc,
|
||||
char *const argv[])
|
||||
@ -303,7 +191,7 @@ static int do_env_set(struct cmd_tbl *cmdtp, int flag, int argc,
|
||||
if (argc < 2)
|
||||
return CMD_RET_USAGE;
|
||||
|
||||
return _do_env_set(flag, argc, argv, H_INTERACTIVE);
|
||||
return env_do_env_set(flag, argc, argv, H_INTERACTIVE);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -381,7 +269,7 @@ int do_env_ask(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
|
||||
}
|
||||
|
||||
/* Continue calling setenv code */
|
||||
return _do_env_set(flag, len, local_args, H_INTERACTIVE);
|
||||
return env_do_env_set(flag, len, local_args, H_INTERACTIVE);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -561,12 +449,12 @@ static int do_env_edit(struct cmd_tbl *cmdtp, int flag, int argc,
|
||||
if (buffer[0] == '\0') {
|
||||
const char * const _argv[3] = { "setenv", argv[1], NULL };
|
||||
|
||||
return _do_env_set(0, 2, (char * const *)_argv, H_INTERACTIVE);
|
||||
return env_do_env_set(0, 2, (char * const *)_argv, H_INTERACTIVE);
|
||||
} else {
|
||||
const char * const _argv[4] = { "setenv", argv[1], buffer,
|
||||
NULL };
|
||||
|
||||
return _do_env_set(0, 3, (char * const *)_argv, H_INTERACTIVE);
|
||||
return env_do_env_set(0, 3, (char * const *)_argv, H_INTERACTIVE);
|
||||
}
|
||||
}
|
||||
#endif /* CONFIG_CMD_EDITENV */
|
||||
@ -679,7 +567,7 @@ static int do_env_delete(struct cmd_tbl *cmdtp, int flag,
|
||||
}
|
||||
debug("Final value for argc=%d\n", argc);
|
||||
|
||||
env_id++;
|
||||
env_inc_id();
|
||||
|
||||
while (--argc > 0) {
|
||||
char *name = *++argv;
|
||||
|
@ -7,21 +7,12 @@
|
||||
#include <common.h>
|
||||
#include <command.h>
|
||||
#include <display_options.h>
|
||||
#include <timestamp.h>
|
||||
#include <version.h>
|
||||
#include <version_string.h>
|
||||
#include <linux/compiler.h>
|
||||
#ifdef CONFIG_SYS_COREBOOT
|
||||
#include <asm/cb_sysinfo.h>
|
||||
#endif
|
||||
|
||||
#define U_BOOT_VERSION_STRING U_BOOT_VERSION " (" U_BOOT_DATE " - " \
|
||||
U_BOOT_TIME " " U_BOOT_TZ ")" CONFIG_IDENT_STRING
|
||||
|
||||
const char version_string[] = U_BOOT_VERSION_STRING;
|
||||
const unsigned short version_num = U_BOOT_VERSION_NUM;
|
||||
const unsigned char version_num_patch = U_BOOT_VERSION_NUM_PATCH;
|
||||
|
||||
static int do_version(struct cmd_tbl *cmdtp, int flag, int argc,
|
||||
char *const argv[])
|
||||
{
|
||||
|
@ -52,6 +52,29 @@ config CONSOLE_RECORD_IN_SIZE
|
||||
The buffer is allocated immediately after the malloc() region is
|
||||
ready.
|
||||
|
||||
config SYS_CBSIZE
|
||||
int "Console input buffer size"
|
||||
default 2048 if ARCH_TEGRA || ARCH_VERSAL || ARCH_ZYNQ || ARCH_ZYNQMP || \
|
||||
RCAR_GEN3 || TARGET_SOCFPGA_SOC64
|
||||
default 512 if ARCH_MX5 || ARCH_MX6 || ARCH_MX7 || FSL_LSCH2 || \
|
||||
FSL_LSCH3 || X86
|
||||
default 256 if M68K || PPC
|
||||
default 1024
|
||||
help
|
||||
Set the size of the console input buffer. This is used both in the
|
||||
case of reading input literally from the user in some manner as well
|
||||
as when we need to construct or modify that type of input, for
|
||||
example when constructing "bootargs" for the OS.
|
||||
|
||||
config SYS_PBSIZE
|
||||
int "Console output buffer size"
|
||||
default 1024 if ARCH_SUNXI
|
||||
default 1044
|
||||
help
|
||||
Set the size of the console output buffer. This is used when we need
|
||||
to work with some form of a buffer while providing output in some
|
||||
form to the user.
|
||||
|
||||
config DISABLE_CONSOLE
|
||||
bool "Add functionality to disable console completely"
|
||||
help
|
||||
|
@ -8,8 +8,10 @@ ifndef CONFIG_SPL_BUILD
|
||||
obj-y += init/
|
||||
obj-y += main.o
|
||||
obj-y += exports.o
|
||||
obj-y += cli_getch.o cli_simple.o cli_readline.o
|
||||
obj-$(CONFIG_HUSH_PARSER) += cli_hush.o
|
||||
obj-$(CONFIG_AUTOBOOT) += autoboot.o
|
||||
obj-y += version.o
|
||||
|
||||
# # boards
|
||||
obj-y += board_f.o
|
||||
@ -37,7 +39,6 @@ obj-$(CONFIG_SPLASH_SOURCE) += splash_source.o
|
||||
obj-$(CONFIG_MENU) += menu.o
|
||||
obj-$(CONFIG_UPDATE_COMMON) += update.o
|
||||
obj-$(CONFIG_USB_KEYBOARD) += usb_kbd.o
|
||||
obj-$(CONFIG_CMDLINE) += cli_getch.o cli_readline.o cli_simple.o
|
||||
|
||||
endif # !CONFIG_SPL_BUILD
|
||||
|
||||
|
@ -22,44 +22,6 @@
|
||||
#define debug_parser(fmt, args...) \
|
||||
debug_cond(DEBUG_PARSER, fmt, ##args)
|
||||
|
||||
|
||||
int cli_simple_parse_line(char *line, char *argv[])
|
||||
{
|
||||
int nargs = 0;
|
||||
|
||||
debug_parser("%s: \"%s\"\n", __func__, line);
|
||||
while (nargs < CONFIG_SYS_MAXARGS) {
|
||||
/* skip any white space */
|
||||
while (isblank(*line))
|
||||
++line;
|
||||
|
||||
if (*line == '\0') { /* end of line, no more args */
|
||||
argv[nargs] = NULL;
|
||||
debug_parser("%s: nargs=%d\n", __func__, nargs);
|
||||
return nargs;
|
||||
}
|
||||
|
||||
argv[nargs++] = line; /* begin of argument string */
|
||||
|
||||
/* find end of string */
|
||||
while (*line && !isblank(*line))
|
||||
++line;
|
||||
|
||||
if (*line == '\0') { /* end of line, no more args */
|
||||
argv[nargs] = NULL;
|
||||
debug_parser("parse_line: nargs=%d\n", nargs);
|
||||
return nargs;
|
||||
}
|
||||
|
||||
*line++ = '\0'; /* terminate current arg */
|
||||
}
|
||||
|
||||
printf("** Too many args (max. %d) **\n", CONFIG_SYS_MAXARGS);
|
||||
|
||||
debug_parser("%s: nargs=%d\n", __func__, nargs);
|
||||
return nargs;
|
||||
}
|
||||
|
||||
int cli_simple_process_macros(const char *input, char *output, int max_size)
|
||||
{
|
||||
char c, prev;
|
||||
@ -172,6 +134,44 @@ int cli_simple_process_macros(const char *input, char *output, int max_size)
|
||||
return ret;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_CMDLINE
|
||||
int cli_simple_parse_line(char *line, char *argv[])
|
||||
{
|
||||
int nargs = 0;
|
||||
|
||||
debug_parser("%s: \"%s\"\n", __func__, line);
|
||||
while (nargs < CONFIG_SYS_MAXARGS) {
|
||||
/* skip any white space */
|
||||
while (isblank(*line))
|
||||
++line;
|
||||
|
||||
if (*line == '\0') { /* end of line, no more args */
|
||||
argv[nargs] = NULL;
|
||||
debug_parser("%s: nargs=%d\n", __func__, nargs);
|
||||
return nargs;
|
||||
}
|
||||
|
||||
argv[nargs++] = line; /* begin of argument string */
|
||||
|
||||
/* find end of string */
|
||||
while (*line && !isblank(*line))
|
||||
++line;
|
||||
|
||||
if (*line == '\0') { /* end of line, no more args */
|
||||
argv[nargs] = NULL;
|
||||
debug_parser("parse_line: nargs=%d\n", nargs);
|
||||
return nargs;
|
||||
}
|
||||
|
||||
*line++ = '\0'; /* terminate current arg */
|
||||
}
|
||||
|
||||
printf("** Too many args (max. %d) **\n", CONFIG_SYS_MAXARGS);
|
||||
|
||||
debug_parser("%s: nargs=%d\n", __func__, nargs);
|
||||
return nargs;
|
||||
}
|
||||
|
||||
/*
|
||||
* WARNING:
|
||||
*
|
||||
@ -346,3 +346,4 @@ int cli_simple_run_command_list(char *cmd, int flag)
|
||||
|
||||
return rcode;
|
||||
}
|
||||
#endif
|
||||
|
16
common/version.c
Normal file
16
common/version.c
Normal file
@ -0,0 +1,16 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* Copyright 2000-2009
|
||||
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
*/
|
||||
|
||||
#include <timestamp.h>
|
||||
#include <version.h>
|
||||
#include <version_string.h>
|
||||
|
||||
#define U_BOOT_VERSION_STRING U_BOOT_VERSION " (" U_BOOT_DATE " - " \
|
||||
U_BOOT_TIME " " U_BOOT_TZ ")" CONFIG_IDENT_STRING
|
||||
|
||||
const char version_string[] = U_BOOT_VERSION_STRING;
|
||||
const unsigned short version_num = U_BOOT_VERSION_NUM;
|
||||
const unsigned char version_num_patch = U_BOOT_VERSION_NUM_PATCH;
|
@ -14,7 +14,6 @@ CONFIG_FIT=y
|
||||
CONFIG_FIT_SIGNATURE=y
|
||||
CONFIG_FIT_VERBOSE=y
|
||||
CONFIG_LEGACY_IMAGE_FORMAT=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BOOTSTAGE=y
|
||||
CONFIG_BOOTSTAGE_REPORT=y
|
||||
CONFIG_BOOTSTAGE_FDT=y
|
||||
|
@ -15,7 +15,6 @@ CONFIG_FIT_CIPHER=y
|
||||
CONFIG_FIT_VERBOSE=y
|
||||
CONFIG_LEGACY_IMAGE_FORMAT=y
|
||||
CONFIG_MEASURED_BOOT=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BOOTSTAGE=y
|
||||
CONFIG_BOOTSTAGE_REPORT=y
|
||||
CONFIG_BOOTSTAGE_FDT=y
|
||||
|
@ -12,7 +12,6 @@ CONFIG_FIT=y
|
||||
CONFIG_FIT_SIGNATURE=y
|
||||
CONFIG_FIT_VERBOSE=y
|
||||
CONFIG_LEGACY_IMAGE_FORMAT=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BOOTSTAGE=y
|
||||
CONFIG_BOOTSTAGE_REPORT=y
|
||||
CONFIG_BOOTSTAGE_FDT=y
|
||||
|
@ -25,7 +25,6 @@ CONFIG_FIT=y
|
||||
CONFIG_FIT_SIGNATURE=y
|
||||
CONFIG_FIT_VERBOSE=y
|
||||
CONFIG_SPL_LOAD_FIT=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BOOTSTAGE=y
|
||||
CONFIG_BOOTSTAGE_REPORT=y
|
||||
CONFIG_BOOTSTAGE_FDT=y
|
||||
|
@ -20,7 +20,6 @@ CONFIG_FIT=y
|
||||
CONFIG_FIT_SIGNATURE=y
|
||||
CONFIG_FIT_VERBOSE=y
|
||||
CONFIG_SPL_LOAD_FIT=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BOOTSTAGE=y
|
||||
CONFIG_BOOTSTAGE_REPORT=y
|
||||
CONFIG_BOOTSTAGE_FDT=y
|
||||
|
@ -27,7 +27,6 @@ CONFIG_FIT=y
|
||||
CONFIG_FIT_VERBOSE=y
|
||||
CONFIG_FIT_BEST_MATCH=y
|
||||
CONFIG_SPL_LOAD_FIT=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BOOTSTAGE=y
|
||||
CONFIG_BOOTSTAGE_REPORT=y
|
||||
CONFIG_BOOTSTAGE_FDT=y
|
||||
|
@ -265,6 +265,7 @@ config SYS_64BIT_LBA
|
||||
|
||||
config RKMTD
|
||||
bool "Rockchip rkmtd virtual block device"
|
||||
select RANDOM_UUID
|
||||
help
|
||||
Enable "rkmtd" class and driver to create a virtual block device
|
||||
to transfer Rockchip boot block data to and from NAND with block
|
||||
|
@ -16,6 +16,7 @@
|
||||
#include <dt-bindings/mfd/k210-sysctl.h>
|
||||
#include <k210/pll.h>
|
||||
#include <linux/bitfield.h>
|
||||
#include <asm/barrier.h>
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
|
@ -19,6 +19,7 @@ config DFU_WRITE_ALT
|
||||
|
||||
config DFU_TFTP
|
||||
bool "DFU via TFTP"
|
||||
depends on NETDEVICES
|
||||
select UPDATE_COMMON
|
||||
select DFU_OVER_TFTP
|
||||
help
|
||||
|
@ -87,7 +87,6 @@ endif
|
||||
|
||||
config DMA_LEGACY
|
||||
bool "Legacy DMA support"
|
||||
default y if FSLDMAFEC
|
||||
help
|
||||
Enable legacy DMA support. This does not use driver model and should
|
||||
be migrated to the new API.
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,225 +0,0 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* Copyright (C) 2004-2007 Freescale Semiconductor, Inc.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
|
||||
/* Functions for initializing variable tables of different types of tasks. */
|
||||
|
||||
/*
|
||||
* Do not edit!
|
||||
*/
|
||||
|
||||
#include <MCD_dma.h>
|
||||
|
||||
extern dmaRegs *MCD_dmaBar;
|
||||
|
||||
/* Task 0 */
|
||||
|
||||
void MCD_startDmaChainNoEu(int *currBD, short srcIncr, short destIncr,
|
||||
int xferSize, short xferSizeIncr, int *cSave,
|
||||
volatile TaskTableEntry * taskTable, int channel)
|
||||
{
|
||||
volatile TaskTableEntry *taskChan = taskTable + channel;
|
||||
|
||||
MCD_SET_VAR(taskChan, 2, (u32) currBD); /* var[2] */
|
||||
MCD_SET_VAR(taskChan, 25, (u32) (0xe000 << 16) | (0xffff & srcIncr)); /* inc[1] */
|
||||
MCD_SET_VAR(taskChan, 24, (u32) (0xe000 << 16) | (0xffff & destIncr)); /* inc[0] */
|
||||
MCD_SET_VAR(taskChan, 11, (u32) xferSize); /* var[11] */
|
||||
MCD_SET_VAR(taskChan, 26, (u32) (0x2000 << 16) | (0xffff & xferSizeIncr)); /* inc[2] */
|
||||
MCD_SET_VAR(taskChan, 0, (u32) cSave); /* var[0] */
|
||||
MCD_SET_VAR(taskChan, 1, (u32) 0x00000000); /* var[1] */
|
||||
MCD_SET_VAR(taskChan, 3, (u32) 0x00000000); /* var[3] */
|
||||
MCD_SET_VAR(taskChan, 4, (u32) 0x00000000); /* var[4] */
|
||||
MCD_SET_VAR(taskChan, 5, (u32) 0x00000000); /* var[5] */
|
||||
MCD_SET_VAR(taskChan, 6, (u32) 0x00000000); /* var[6] */
|
||||
MCD_SET_VAR(taskChan, 7, (u32) 0x00000000); /* var[7] */
|
||||
MCD_SET_VAR(taskChan, 8, (u32) 0x00000000); /* var[8] */
|
||||
MCD_SET_VAR(taskChan, 9, (u32) 0x00000000); /* var[9] */
|
||||
MCD_SET_VAR(taskChan, 10, (u32) 0x00000000); /* var[10] */
|
||||
MCD_SET_VAR(taskChan, 12, (u32) 0x00000000); /* var[12] */
|
||||
MCD_SET_VAR(taskChan, 13, (u32) 0x80000000); /* var[13] */
|
||||
MCD_SET_VAR(taskChan, 14, (u32) 0x00000010); /* var[14] */
|
||||
MCD_SET_VAR(taskChan, 15, (u32) 0x00000004); /* var[15] */
|
||||
MCD_SET_VAR(taskChan, 16, (u32) 0x08000000); /* var[16] */
|
||||
MCD_SET_VAR(taskChan, 27, (u32) 0x00000000); /* inc[3] */
|
||||
MCD_SET_VAR(taskChan, 28, (u32) 0x80000000); /* inc[4] */
|
||||
MCD_SET_VAR(taskChan, 29, (u32) 0x80000001); /* inc[5] */
|
||||
MCD_SET_VAR(taskChan, 30, (u32) 0x40000000); /* inc[6] */
|
||||
|
||||
/* Set the task's Enable bit in its Task Control Register */
|
||||
MCD_dmaBar->taskControl[channel] |= (u16) 0x8000;
|
||||
}
|
||||
|
||||
/* Task 1 */
|
||||
|
||||
void MCD_startDmaSingleNoEu(char *srcAddr, short srcIncr, char *destAddr,
|
||||
short destIncr, int dmaSize, short xferSizeIncr,
|
||||
int flags, int *currBD, int *cSave,
|
||||
volatile TaskTableEntry * taskTable, int channel)
|
||||
{
|
||||
volatile TaskTableEntry *taskChan = taskTable + channel;
|
||||
|
||||
MCD_SET_VAR(taskChan, 7, (u32) srcAddr); /* var[7] */
|
||||
MCD_SET_VAR(taskChan, 25, (u32) (0xe000 << 16) | (0xffff & srcIncr)); /* inc[1] */
|
||||
MCD_SET_VAR(taskChan, 2, (u32) destAddr); /* var[2] */
|
||||
MCD_SET_VAR(taskChan, 24, (u32) (0xe000 << 16) | (0xffff & destIncr)); /* inc[0] */
|
||||
MCD_SET_VAR(taskChan, 3, (u32) dmaSize); /* var[3] */
|
||||
MCD_SET_VAR(taskChan, 26, (u32) (0x2000 << 16) | (0xffff & xferSizeIncr)); /* inc[2] */
|
||||
MCD_SET_VAR(taskChan, 5, (u32) flags); /* var[5] */
|
||||
MCD_SET_VAR(taskChan, 1, (u32) currBD); /* var[1] */
|
||||
MCD_SET_VAR(taskChan, 0, (u32) cSave); /* var[0] */
|
||||
MCD_SET_VAR(taskChan, 4, (u32) 0x00000000); /* var[4] */
|
||||
MCD_SET_VAR(taskChan, 6, (u32) 0x00000000); /* var[6] */
|
||||
MCD_SET_VAR(taskChan, 8, (u32) 0x00000000); /* var[8] */
|
||||
MCD_SET_VAR(taskChan, 9, (u32) 0x00000004); /* var[9] */
|
||||
MCD_SET_VAR(taskChan, 10, (u32) 0x08000000); /* var[10] */
|
||||
MCD_SET_VAR(taskChan, 27, (u32) 0x00000000); /* inc[3] */
|
||||
MCD_SET_VAR(taskChan, 28, (u32) 0x80000001); /* inc[4] */
|
||||
MCD_SET_VAR(taskChan, 29, (u32) 0x40000000); /* inc[5] */
|
||||
|
||||
/* Set the task's Enable bit in its Task Control Register */
|
||||
MCD_dmaBar->taskControl[channel] |= (u16) 0x8000;
|
||||
}
|
||||
|
||||
/* Task 2 */
|
||||
|
||||
void MCD_startDmaChainEu(int *currBD, short srcIncr, short destIncr,
|
||||
int xferSize, short xferSizeIncr, int *cSave,
|
||||
volatile TaskTableEntry * taskTable, int channel)
|
||||
{
|
||||
volatile TaskTableEntry *taskChan = taskTable + channel;
|
||||
|
||||
MCD_SET_VAR(taskChan, 3, (u32) currBD); /* var[3] */
|
||||
MCD_SET_VAR(taskChan, 25, (u32) (0xe000 << 16) | (0xffff & srcIncr)); /* inc[1] */
|
||||
MCD_SET_VAR(taskChan, 24, (u32) (0xe000 << 16) | (0xffff & destIncr)); /* inc[0] */
|
||||
MCD_SET_VAR(taskChan, 12, (u32) xferSize); /* var[12] */
|
||||
MCD_SET_VAR(taskChan, 26, (u32) (0x2000 << 16) | (0xffff & xferSizeIncr)); /* inc[2] */
|
||||
MCD_SET_VAR(taskChan, 0, (u32) cSave); /* var[0] */
|
||||
MCD_SET_VAR(taskChan, 1, (u32) 0x00000000); /* var[1] */
|
||||
MCD_SET_VAR(taskChan, 2, (u32) 0x00000000); /* var[2] */
|
||||
MCD_SET_VAR(taskChan, 4, (u32) 0x00000000); /* var[4] */
|
||||
MCD_SET_VAR(taskChan, 5, (u32) 0x00000000); /* var[5] */
|
||||
MCD_SET_VAR(taskChan, 6, (u32) 0x00000000); /* var[6] */
|
||||
MCD_SET_VAR(taskChan, 7, (u32) 0x00000000); /* var[7] */
|
||||
MCD_SET_VAR(taskChan, 8, (u32) 0x00000000); /* var[8] */
|
||||
MCD_SET_VAR(taskChan, 9, (u32) 0x00000000); /* var[9] */
|
||||
MCD_SET_VAR(taskChan, 10, (u32) 0x00000000); /* var[10] */
|
||||
MCD_SET_VAR(taskChan, 11, (u32) 0x00000000); /* var[11] */
|
||||
MCD_SET_VAR(taskChan, 13, (u32) 0x00000000); /* var[13] */
|
||||
MCD_SET_VAR(taskChan, 14, (u32) 0x80000000); /* var[14] */
|
||||
MCD_SET_VAR(taskChan, 15, (u32) 0x00000010); /* var[15] */
|
||||
MCD_SET_VAR(taskChan, 16, (u32) 0x00000001); /* var[16] */
|
||||
MCD_SET_VAR(taskChan, 17, (u32) 0x00000004); /* var[17] */
|
||||
MCD_SET_VAR(taskChan, 18, (u32) 0x08000000); /* var[18] */
|
||||
MCD_SET_VAR(taskChan, 27, (u32) 0x00000000); /* inc[3] */
|
||||
MCD_SET_VAR(taskChan, 28, (u32) 0x80000000); /* inc[4] */
|
||||
MCD_SET_VAR(taskChan, 29, (u32) 0xc0000000); /* inc[5] */
|
||||
MCD_SET_VAR(taskChan, 30, (u32) 0x80000001); /* inc[6] */
|
||||
MCD_SET_VAR(taskChan, 31, (u32) 0x40000000); /* inc[7] */
|
||||
|
||||
/* Set the task's Enable bit in its Task Control Register */
|
||||
MCD_dmaBar->taskControl[channel] |= (u16) 0x8000;
|
||||
}
|
||||
|
||||
/* Task 3 */
|
||||
|
||||
void MCD_startDmaSingleEu(char *srcAddr, short srcIncr, char *destAddr,
|
||||
short destIncr, int dmaSize, short xferSizeIncr,
|
||||
int flags, int *currBD, int *cSave,
|
||||
volatile TaskTableEntry * taskTable, int channel)
|
||||
{
|
||||
volatile TaskTableEntry *taskChan = taskTable + channel;
|
||||
|
||||
MCD_SET_VAR(taskChan, 8, (u32) srcAddr); /* var[8] */
|
||||
MCD_SET_VAR(taskChan, 25, (u32) (0xe000 << 16) | (0xffff & srcIncr)); /* inc[1] */
|
||||
MCD_SET_VAR(taskChan, 3, (u32) destAddr); /* var[3] */
|
||||
MCD_SET_VAR(taskChan, 24, (u32) (0xe000 << 16) | (0xffff & destIncr)); /* inc[0] */
|
||||
MCD_SET_VAR(taskChan, 4, (u32) dmaSize); /* var[4] */
|
||||
MCD_SET_VAR(taskChan, 26, (u32) (0x2000 << 16) | (0xffff & xferSizeIncr)); /* inc[2] */
|
||||
MCD_SET_VAR(taskChan, 6, (u32) flags); /* var[6] */
|
||||
MCD_SET_VAR(taskChan, 2, (u32) currBD); /* var[2] */
|
||||
MCD_SET_VAR(taskChan, 0, (u32) cSave); /* var[0] */
|
||||
MCD_SET_VAR(taskChan, 1, (u32) 0x00000000); /* var[1] */
|
||||
MCD_SET_VAR(taskChan, 5, (u32) 0x00000000); /* var[5] */
|
||||
MCD_SET_VAR(taskChan, 7, (u32) 0x00000000); /* var[7] */
|
||||
MCD_SET_VAR(taskChan, 9, (u32) 0x00000000); /* var[9] */
|
||||
MCD_SET_VAR(taskChan, 10, (u32) 0x00000001); /* var[10] */
|
||||
MCD_SET_VAR(taskChan, 11, (u32) 0x00000004); /* var[11] */
|
||||
MCD_SET_VAR(taskChan, 12, (u32) 0x08000000); /* var[12] */
|
||||
MCD_SET_VAR(taskChan, 27, (u32) 0x00000000); /* inc[3] */
|
||||
MCD_SET_VAR(taskChan, 28, (u32) 0xc0000000); /* inc[4] */
|
||||
MCD_SET_VAR(taskChan, 29, (u32) 0x80000000); /* inc[5] */
|
||||
MCD_SET_VAR(taskChan, 30, (u32) 0x80000001); /* inc[6] */
|
||||
MCD_SET_VAR(taskChan, 31, (u32) 0x40000000); /* inc[7] */
|
||||
|
||||
/* Set the task's Enable bit in its Task Control Register */
|
||||
MCD_dmaBar->taskControl[channel] |= (u16) 0x8000;
|
||||
}
|
||||
|
||||
/* Task 4 */
|
||||
|
||||
void MCD_startDmaENetRcv(char *bDBase, char *currBD, char *rcvFifoPtr,
|
||||
volatile TaskTableEntry * taskTable, int channel)
|
||||
{
|
||||
volatile TaskTableEntry *taskChan = taskTable + channel;
|
||||
|
||||
MCD_SET_VAR(taskChan, 0, (u32) bDBase); /* var[0] */
|
||||
MCD_SET_VAR(taskChan, 3, (u32) currBD); /* var[3] */
|
||||
MCD_SET_VAR(taskChan, 6, (u32) rcvFifoPtr); /* var[6] */
|
||||
MCD_SET_VAR(taskChan, 1, (u32) 0x00000000); /* var[1] */
|
||||
MCD_SET_VAR(taskChan, 2, (u32) 0x00000000); /* var[2] */
|
||||
MCD_SET_VAR(taskChan, 4, (u32) 0x00000000); /* var[4] */
|
||||
MCD_SET_VAR(taskChan, 5, (u32) 0x00000000); /* var[5] */
|
||||
MCD_SET_VAR(taskChan, 7, (u32) 0x00000000); /* var[7] */
|
||||
MCD_SET_VAR(taskChan, 8, (u32) 0x00000000); /* var[8] */
|
||||
MCD_SET_VAR(taskChan, 9, (u32) 0x0000ffff); /* var[9] */
|
||||
MCD_SET_VAR(taskChan, 10, (u32) 0x30000000); /* var[10] */
|
||||
MCD_SET_VAR(taskChan, 11, (u32) 0x0fffffff); /* var[11] */
|
||||
MCD_SET_VAR(taskChan, 12, (u32) 0x00000008); /* var[12] */
|
||||
MCD_SET_VAR(taskChan, 24, (u32) 0x00000000); /* inc[0] */
|
||||
MCD_SET_VAR(taskChan, 25, (u32) 0x60000000); /* inc[1] */
|
||||
MCD_SET_VAR(taskChan, 26, (u32) 0x20000004); /* inc[2] */
|
||||
MCD_SET_VAR(taskChan, 27, (u32) 0x40000000); /* inc[3] */
|
||||
|
||||
/* Set the task's Enable bit in its Task Control Register */
|
||||
MCD_dmaBar->taskControl[channel] |= (u16) 0x8000;
|
||||
}
|
||||
|
||||
/* Task 5 */
|
||||
|
||||
void MCD_startDmaENetXmit(char *bDBase, char *currBD, char *xmitFifoPtr,
|
||||
volatile TaskTableEntry * taskTable, int channel)
|
||||
{
|
||||
volatile TaskTableEntry *taskChan = taskTable + channel;
|
||||
|
||||
MCD_SET_VAR(taskChan, 0, (u32) bDBase); /* var[0] */
|
||||
MCD_SET_VAR(taskChan, 3, (u32) currBD); /* var[3] */
|
||||
MCD_SET_VAR(taskChan, 11, (u32) xmitFifoPtr); /* var[11] */
|
||||
MCD_SET_VAR(taskChan, 1, (u32) 0x00000000); /* var[1] */
|
||||
MCD_SET_VAR(taskChan, 2, (u32) 0x00000000); /* var[2] */
|
||||
MCD_SET_VAR(taskChan, 4, (u32) 0x00000000); /* var[4] */
|
||||
MCD_SET_VAR(taskChan, 5, (u32) 0x00000000); /* var[5] */
|
||||
MCD_SET_VAR(taskChan, 6, (u32) 0x00000000); /* var[6] */
|
||||
MCD_SET_VAR(taskChan, 7, (u32) 0x00000000); /* var[7] */
|
||||
MCD_SET_VAR(taskChan, 8, (u32) 0x00000000); /* var[8] */
|
||||
MCD_SET_VAR(taskChan, 9, (u32) 0x00000000); /* var[9] */
|
||||
MCD_SET_VAR(taskChan, 10, (u32) 0x00000000); /* var[10] */
|
||||
MCD_SET_VAR(taskChan, 12, (u32) 0x00000000); /* var[12] */
|
||||
MCD_SET_VAR(taskChan, 13, (u32) 0x0000ffff); /* var[13] */
|
||||
MCD_SET_VAR(taskChan, 14, (u32) 0xffffffff); /* var[14] */
|
||||
MCD_SET_VAR(taskChan, 15, (u32) 0x00000004); /* var[15] */
|
||||
MCD_SET_VAR(taskChan, 16, (u32) 0x00000008); /* var[16] */
|
||||
MCD_SET_VAR(taskChan, 24, (u32) 0x00000000); /* inc[0] */
|
||||
MCD_SET_VAR(taskChan, 25, (u32) 0x60000000); /* inc[1] */
|
||||
MCD_SET_VAR(taskChan, 26, (u32) 0x40000000); /* inc[2] */
|
||||
MCD_SET_VAR(taskChan, 27, (u32) 0xc000fffc); /* inc[3] */
|
||||
MCD_SET_VAR(taskChan, 28, (u32) 0xe0000004); /* inc[4] */
|
||||
MCD_SET_VAR(taskChan, 29, (u32) 0x80000000); /* inc[5] */
|
||||
MCD_SET_VAR(taskChan, 30, (u32) 0x4000ffff); /* inc[6] */
|
||||
MCD_SET_VAR(taskChan, 31, (u32) 0xe0000001); /* inc[7] */
|
||||
|
||||
/* Set the task's Enable bit in its Task Control Register */
|
||||
MCD_dmaBar->taskControl[channel] |= (u16) 0x8000;
|
||||
}
|
@ -5,7 +5,6 @@
|
||||
|
||||
obj-$(CONFIG_DMA) += dma-uclass.o
|
||||
|
||||
obj-$(CONFIG_FSLDMAFEC) += MCD_tasksInit.o MCD_dmaApi.o MCD_tasks.o
|
||||
obj-$(CONFIG_APBH_DMA) += apbh_dma.o
|
||||
obj-$(CONFIG_BCM6348_IUDMA) += bcm6348-iudma.o
|
||||
obj-$(CONFIG_FSL_DMA) += fsl_dma.o
|
||||
|
@ -1,4 +1,5 @@
|
||||
menu "Fastboot support"
|
||||
depends on CMDLINE
|
||||
|
||||
config FASTBOOT
|
||||
bool
|
||||
|
@ -471,14 +471,6 @@ config SYS_UNIFY_CACHE
|
||||
depends on MCFFEC
|
||||
bool "Invalidate icache during ethernet operations"
|
||||
|
||||
config FSLDMAFEC
|
||||
bool "ColdFire DMA Ethernet Support"
|
||||
select PHYLIB
|
||||
select SYS_DISCOVER_PHY
|
||||
help
|
||||
This driver supports the network interface units in the
|
||||
ColdFire family.
|
||||
|
||||
config KS8851_MLL
|
||||
bool "Microchip KS8851-MLL controller driver"
|
||||
help
|
||||
|
@ -37,7 +37,6 @@ obj-$(CONFIG_ETH_SANDBOX_RAW) += sandbox-raw.o
|
||||
obj-$(CONFIG_FEC_MXC) += fec_mxc.o
|
||||
obj-$(CONFIG_FMAN_ENET) += fm/
|
||||
obj-$(CONFIG_FMAN_ENET) += fsl_mdio.o
|
||||
obj-$(CONFIG_FSLDMAFEC) += fsl_mcdmafec.o mcfmii.o
|
||||
obj-$(CONFIG_FSL_ENETC) += fsl_enetc.o fsl_enetc_mdio.o
|
||||
obj-$(CONFIG_FSL_LS_MDIO) += fsl_ls_mdio.o
|
||||
obj-$(CONFIG_FSL_MC_ENET) += fsl-mc/
|
||||
|
@ -3,7 +3,6 @@
|
||||
* Copyright 2009-2011 Freescale Semiconductor, Inc.
|
||||
* Dave Liu <daveliu@freescale.com>
|
||||
*/
|
||||
#include <common.h>
|
||||
#include <env.h>
|
||||
#include <fs_loader.h>
|
||||
#include <image.h>
|
||||
|
@ -1,592 +0,0 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* (C) Copyright 2000-2004
|
||||
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
*
|
||||
* (C) Copyright 2007 Freescale Semiconductor, Inc.
|
||||
* TsiChung Liew (Tsi-Chung.Liew@freescale.com)
|
||||
*
|
||||
* Conversion to DM
|
||||
* (C) 2019 Angelo Dureghello <angelo.dureghello@timesys.com>
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <env.h>
|
||||
#include <hang.h>
|
||||
#include <malloc.h>
|
||||
#include <command.h>
|
||||
#include <config.h>
|
||||
#include <net.h>
|
||||
#include <miiphy.h>
|
||||
#include <asm/global_data.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/mii.h>
|
||||
#include <asm/immap.h>
|
||||
#include <asm/fsl_mcdmafec.h>
|
||||
|
||||
#include "MCD_dma.h"
|
||||
|
||||
#undef ET_DEBUG
|
||||
#undef MII_DEBUG
|
||||
|
||||
/* Ethernet Transmit and Receive Buffers */
|
||||
#define DBUF_LENGTH 1520
|
||||
#define PKT_MAXBUF_SIZE 1518
|
||||
#define FIFO_ERRSTAT (FIFO_STAT_RXW | FIFO_STAT_UF | FIFO_STAT_OF)
|
||||
|
||||
/* RxBD bits definitions */
|
||||
#define BD_ENET_RX_ERR (BD_ENET_RX_LG | BD_ENET_RX_NO | BD_ENET_RX_CR | \
|
||||
BD_ENET_RX_OV | BD_ENET_RX_TR)
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
static void init_eth_info(struct fec_info_dma *info)
|
||||
{
|
||||
/* setup Receive and Transmit buffer descriptor */
|
||||
#ifdef CFG_SYS_FEC_BUF_USE_SRAM
|
||||
static u32 tmp;
|
||||
|
||||
if (info->index == 0)
|
||||
tmp = CFG_SYS_INIT_RAM_ADDR + 0x1000;
|
||||
else
|
||||
info->rxbd = (cbd_t *)DBUF_LENGTH;
|
||||
|
||||
info->rxbd = (cbd_t *)((u32)info->rxbd + tmp);
|
||||
tmp = (u32)info->rxbd;
|
||||
info->txbd =
|
||||
(cbd_t *)((u32)info->txbd + tmp +
|
||||
(PKTBUFSRX * sizeof(cbd_t)));
|
||||
tmp = (u32)info->txbd;
|
||||
info->txbuf =
|
||||
(char *)((u32)info->txbuf + tmp +
|
||||
(CFG_SYS_TX_ETH_BUFFER * sizeof(cbd_t)));
|
||||
tmp = (u32)info->txbuf;
|
||||
#else
|
||||
info->rxbd =
|
||||
(cbd_t *)memalign(CONFIG_SYS_CACHELINE_SIZE,
|
||||
(PKTBUFSRX * sizeof(cbd_t)));
|
||||
info->txbd =
|
||||
(cbd_t *)memalign(CONFIG_SYS_CACHELINE_SIZE,
|
||||
(CFG_SYS_TX_ETH_BUFFER * sizeof(cbd_t)));
|
||||
info->txbuf =
|
||||
(char *)memalign(CONFIG_SYS_CACHELINE_SIZE, DBUF_LENGTH);
|
||||
#endif
|
||||
|
||||
#ifdef ET_DEBUG
|
||||
printf("rxbd %x txbd %x\n", (int)info->rxbd, (int)info->txbd);
|
||||
#endif
|
||||
info->phy_name = (char *)memalign(CONFIG_SYS_CACHELINE_SIZE, 32);
|
||||
}
|
||||
|
||||
static void fec_halt(struct udevice *dev)
|
||||
{
|
||||
struct fec_info_dma *info = dev_get_priv(dev);
|
||||
volatile fecdma_t *fecp = (fecdma_t *)info->iobase;
|
||||
int counter = 0xffff;
|
||||
|
||||
/* issue graceful stop command to the FEC transmitter if necessary */
|
||||
fecp->tcr |= FEC_TCR_GTS;
|
||||
|
||||
/* wait for graceful stop to register */
|
||||
while ((counter--) && (!(fecp->eir & FEC_EIR_GRA)))
|
||||
;
|
||||
|
||||
/* Disable DMA tasks */
|
||||
MCD_killDma(info->tx_task);
|
||||
MCD_killDma(info->rx_task);
|
||||
|
||||
/* Disable the Ethernet Controller */
|
||||
fecp->ecr &= ~FEC_ECR_ETHER_EN;
|
||||
|
||||
/* Clear FIFO status registers */
|
||||
fecp->rfsr &= FIFO_ERRSTAT;
|
||||
fecp->tfsr &= FIFO_ERRSTAT;
|
||||
|
||||
fecp->frst = 0x01000000;
|
||||
|
||||
/* Issue a reset command to the FEC chip */
|
||||
fecp->ecr |= FEC_ECR_RESET;
|
||||
|
||||
/* wait at least 20 clock cycles */
|
||||
mdelay(10);
|
||||
|
||||
#ifdef ET_DEBUG
|
||||
printf("Ethernet task stopped\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef ET_DEBUG
|
||||
static void dbg_fec_regs(struct eth_device *dev)
|
||||
{
|
||||
struct fec_info_dma *info = dev->priv;
|
||||
volatile fecdma_t *fecp = (fecdma_t *)info->iobase;
|
||||
|
||||
printf("=====\n");
|
||||
printf("ievent %x - %x\n", (int)&fecp->eir, fecp->eir);
|
||||
printf("imask %x - %x\n", (int)&fecp->eimr, fecp->eimr);
|
||||
printf("ecntrl %x - %x\n", (int)&fecp->ecr, fecp->ecr);
|
||||
printf("mii_mframe %x - %x\n", (int)&fecp->mmfr, fecp->mmfr);
|
||||
printf("mii_speed %x - %x\n", (int)&fecp->mscr, fecp->mscr);
|
||||
printf("mii_ctrlstat %x - %x\n", (int)&fecp->mibc, fecp->mibc);
|
||||
printf("r_cntrl %x - %x\n", (int)&fecp->rcr, fecp->rcr);
|
||||
printf("r hash %x - %x\n", (int)&fecp->rhr, fecp->rhr);
|
||||
printf("x_cntrl %x - %x\n", (int)&fecp->tcr, fecp->tcr);
|
||||
printf("padr_l %x - %x\n", (int)&fecp->palr, fecp->palr);
|
||||
printf("padr_u %x - %x\n", (int)&fecp->paur, fecp->paur);
|
||||
printf("op_pause %x - %x\n", (int)&fecp->opd, fecp->opd);
|
||||
printf("iadr_u %x - %x\n", (int)&fecp->iaur, fecp->iaur);
|
||||
printf("iadr_l %x - %x\n", (int)&fecp->ialr, fecp->ialr);
|
||||
printf("gadr_u %x - %x\n", (int)&fecp->gaur, fecp->gaur);
|
||||
printf("gadr_l %x - %x\n", (int)&fecp->galr, fecp->galr);
|
||||
printf("x_wmrk %x - %x\n", (int)&fecp->tfwr, fecp->tfwr);
|
||||
printf("r_fdata %x - %x\n", (int)&fecp->rfdr, fecp->rfdr);
|
||||
printf("r_fstat %x - %x\n", (int)&fecp->rfsr, fecp->rfsr);
|
||||
printf("r_fctrl %x - %x\n", (int)&fecp->rfcr, fecp->rfcr);
|
||||
printf("r_flrfp %x - %x\n", (int)&fecp->rlrfp, fecp->rlrfp);
|
||||
printf("r_flwfp %x - %x\n", (int)&fecp->rlwfp, fecp->rlwfp);
|
||||
printf("r_frfar %x - %x\n", (int)&fecp->rfar, fecp->rfar);
|
||||
printf("r_frfrp %x - %x\n", (int)&fecp->rfrp, fecp->rfrp);
|
||||
printf("r_frfwp %x - %x\n", (int)&fecp->rfwp, fecp->rfwp);
|
||||
printf("t_fdata %x - %x\n", (int)&fecp->tfdr, fecp->tfdr);
|
||||
printf("t_fstat %x - %x\n", (int)&fecp->tfsr, fecp->tfsr);
|
||||
printf("t_fctrl %x - %x\n", (int)&fecp->tfcr, fecp->tfcr);
|
||||
printf("t_flrfp %x - %x\n", (int)&fecp->tlrfp, fecp->tlrfp);
|
||||
printf("t_flwfp %x - %x\n", (int)&fecp->tlwfp, fecp->tlwfp);
|
||||
printf("t_ftfar %x - %x\n", (int)&fecp->tfar, fecp->tfar);
|
||||
printf("t_ftfrp %x - %x\n", (int)&fecp->tfrp, fecp->tfrp);
|
||||
printf("t_ftfwp %x - %x\n", (int)&fecp->tfwp, fecp->tfwp);
|
||||
printf("frst %x - %x\n", (int)&fecp->frst, fecp->frst);
|
||||
printf("ctcwr %x - %x\n", (int)&fecp->ctcwr, fecp->ctcwr);
|
||||
}
|
||||
#endif
|
||||
|
||||
static void set_fec_duplex_speed(volatile fecdma_t *fecp, int dup_spd)
|
||||
{
|
||||
struct bd_info *bd = gd->bd;
|
||||
|
||||
if ((dup_spd >> 16) == FULL) {
|
||||
/* Set maximum frame length */
|
||||
fecp->rcr = FEC_RCR_MAX_FL(PKT_MAXBUF_SIZE) | FEC_RCR_MII_MODE |
|
||||
FEC_RCR_PROM | 0x100;
|
||||
fecp->tcr = FEC_TCR_FDEN;
|
||||
} else {
|
||||
/* Half duplex mode */
|
||||
fecp->rcr = FEC_RCR_MAX_FL(PKT_MAXBUF_SIZE) |
|
||||
FEC_RCR_MII_MODE | FEC_RCR_DRT;
|
||||
fecp->tcr &= ~FEC_TCR_FDEN;
|
||||
}
|
||||
|
||||
if ((dup_spd & 0xFFFF) == _100BASET) {
|
||||
#ifdef MII_DEBUG
|
||||
printf("100Mbps\n");
|
||||
#endif
|
||||
bd->bi_ethspeed = 100;
|
||||
} else {
|
||||
#ifdef MII_DEBUG
|
||||
printf("10Mbps\n");
|
||||
#endif
|
||||
bd->bi_ethspeed = 10;
|
||||
}
|
||||
}
|
||||
|
||||
static void fec_set_hwaddr(volatile fecdma_t *fecp, u8 *mac)
|
||||
{
|
||||
u8 curr_byte; /* byte for which to compute the CRC */
|
||||
int byte; /* loop - counter */
|
||||
int bit; /* loop - counter */
|
||||
u32 crc = 0xffffffff; /* initial value */
|
||||
|
||||
for (byte = 0; byte < 6; byte++) {
|
||||
curr_byte = mac[byte];
|
||||
for (bit = 0; bit < 8; bit++) {
|
||||
if ((curr_byte & 0x01) ^ (crc & 0x01)) {
|
||||
crc >>= 1;
|
||||
crc = crc ^ 0xedb88320;
|
||||
} else {
|
||||
crc >>= 1;
|
||||
}
|
||||
curr_byte >>= 1;
|
||||
}
|
||||
}
|
||||
|
||||
crc = crc >> 26;
|
||||
|
||||
/* Set individual hash table register */
|
||||
if (crc >= 32) {
|
||||
fecp->ialr = (1 << (crc - 32));
|
||||
fecp->iaur = 0;
|
||||
} else {
|
||||
fecp->ialr = 0;
|
||||
fecp->iaur = (1 << crc);
|
||||
}
|
||||
|
||||
/* Set physical address */
|
||||
fecp->palr = (mac[0] << 24) + (mac[1] << 16) + (mac[2] << 8) + mac[3];
|
||||
fecp->paur = (mac[4] << 24) + (mac[5] << 16) + 0x8808;
|
||||
|
||||
/* Clear multicast address hash table */
|
||||
fecp->gaur = 0;
|
||||
fecp->galr = 0;
|
||||
}
|
||||
|
||||
static int fec_init(struct udevice *dev)
|
||||
{
|
||||
struct fec_info_dma *info = dev_get_priv(dev);
|
||||
volatile fecdma_t *fecp = (fecdma_t *)info->iobase;
|
||||
int rval, i;
|
||||
uchar enetaddr[6];
|
||||
|
||||
#ifdef ET_DEBUG
|
||||
printf("fec_init: iobase 0x%08x ...\n", info->iobase);
|
||||
#endif
|
||||
|
||||
fecpin_setclear(info, 1);
|
||||
fec_halt(dev);
|
||||
|
||||
mii_init();
|
||||
set_fec_duplex_speed(fecp, info->dup_spd);
|
||||
|
||||
/* We use strictly polling mode only */
|
||||
fecp->eimr = 0;
|
||||
|
||||
/* Clear any pending interrupt */
|
||||
fecp->eir = 0xffffffff;
|
||||
|
||||
/* Set station address */
|
||||
if (info->index == 0)
|
||||
rval = eth_env_get_enetaddr("ethaddr", enetaddr);
|
||||
else
|
||||
rval = eth_env_get_enetaddr("eth1addr", enetaddr);
|
||||
|
||||
if (!rval) {
|
||||
puts("Please set a valid MAC address\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
fec_set_hwaddr(fecp, enetaddr);
|
||||
|
||||
/* Set Opcode/Pause Duration Register */
|
||||
fecp->opd = 0x00010020;
|
||||
|
||||
/* Setup Buffers and Buffer Descriptors */
|
||||
info->rx_idx = 0;
|
||||
info->tx_idx = 0;
|
||||
|
||||
/* Setup Receiver Buffer Descriptors (13.14.24.18)
|
||||
* Settings: Empty, Wrap */
|
||||
for (i = 0; i < PKTBUFSRX; i++) {
|
||||
info->rxbd[i].cbd_sc = BD_ENET_RX_EMPTY;
|
||||
info->rxbd[i].cbd_datlen = PKTSIZE_ALIGN;
|
||||
info->rxbd[i].cbd_bufaddr = (uint) net_rx_packets[i];
|
||||
}
|
||||
info->rxbd[PKTBUFSRX - 1].cbd_sc |= BD_ENET_RX_WRAP;
|
||||
|
||||
/* Setup Ethernet Transmitter Buffer Descriptors (13.14.24.19)
|
||||
* Settings: Last, Tx CRC */
|
||||
for (i = 0; i < CFG_SYS_TX_ETH_BUFFER; i++) {
|
||||
info->txbd[i].cbd_sc = 0;
|
||||
info->txbd[i].cbd_datlen = 0;
|
||||
info->txbd[i].cbd_bufaddr = (uint) (&info->txbuf[0]);
|
||||
}
|
||||
info->txbd[CFG_SYS_TX_ETH_BUFFER - 1].cbd_sc |= BD_ENET_TX_WRAP;
|
||||
|
||||
info->used_tbd_idx = 0;
|
||||
info->clean_tbd_num = CFG_SYS_TX_ETH_BUFFER;
|
||||
|
||||
/* Set Rx FIFO alarm and granularity value */
|
||||
fecp->rfcr = 0x0c000000;
|
||||
fecp->rfar = 0x0000030c;
|
||||
|
||||
/* Set Tx FIFO granularity value */
|
||||
fecp->tfcr = FIFO_CTRL_FRAME | FIFO_CTRL_GR(6) | 0x00040000;
|
||||
fecp->tfar = 0x00000080;
|
||||
|
||||
fecp->tfwr = 0x2;
|
||||
fecp->ctcwr = 0x03000000;
|
||||
|
||||
/* Enable DMA receive task */
|
||||
MCD_startDma(info->rx_task,
|
||||
(s8 *)info->rxbd,
|
||||
0,
|
||||
(s8 *)&fecp->rfdr,
|
||||
4,
|
||||
0,
|
||||
4,
|
||||
info->rx_init,
|
||||
info->rx_pri,
|
||||
(MCD_FECRX_DMA | MCD_TT_FLAGS_DEF),
|
||||
(MCD_NO_CSUM | MCD_NO_BYTE_SWAP)
|
||||
);
|
||||
|
||||
/* Enable DMA tx task with no ready buffer descriptors */
|
||||
MCD_startDma(info->tx_task,
|
||||
(s8 *)info->txbd,
|
||||
0,
|
||||
(s8 *)&fecp->tfdr,
|
||||
4,
|
||||
0,
|
||||
4,
|
||||
info->tx_init,
|
||||
info->tx_pri,
|
||||
(MCD_FECTX_DMA | MCD_TT_FLAGS_DEF),
|
||||
(MCD_NO_CSUM | MCD_NO_BYTE_SWAP)
|
||||
);
|
||||
|
||||
/* Now enable the transmit and receive processing */
|
||||
fecp->ecr |= FEC_ECR_ETHER_EN;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mcdmafec_init(struct udevice *dev)
|
||||
{
|
||||
return fec_init(dev);
|
||||
}
|
||||
|
||||
static int mcdmafec_send(struct udevice *dev, void *packet, int length)
|
||||
{
|
||||
struct fec_info_dma *info = dev_get_priv(dev);
|
||||
cbd_t *p_tbd, *p_used_tbd;
|
||||
u16 phy_status;
|
||||
|
||||
miiphy_read(dev->name, info->phy_addr, MII_BMSR, &phy_status);
|
||||
|
||||
/* process all the consumed TBDs */
|
||||
while (info->clean_tbd_num < CFG_SYS_TX_ETH_BUFFER) {
|
||||
p_used_tbd = &info->txbd[info->used_tbd_idx];
|
||||
if (p_used_tbd->cbd_sc & BD_ENET_TX_READY) {
|
||||
#ifdef ET_DEBUG
|
||||
printf("Cannot clean TBD %d, in use\n",
|
||||
info->clean_tbd_num);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* clean this buffer descriptor */
|
||||
if (info->used_tbd_idx == (CFG_SYS_TX_ETH_BUFFER - 1))
|
||||
p_used_tbd->cbd_sc = BD_ENET_TX_WRAP;
|
||||
else
|
||||
p_used_tbd->cbd_sc = 0;
|
||||
|
||||
/* update some indeces for a correct handling of TBD ring */
|
||||
info->clean_tbd_num++;
|
||||
info->used_tbd_idx = (info->used_tbd_idx + 1)
|
||||
% CFG_SYS_TX_ETH_BUFFER;
|
||||
}
|
||||
|
||||
/* Check for valid length of data. */
|
||||
if (length > 1500 || length <= 0)
|
||||
return -1;
|
||||
|
||||
/* Check the number of vacant TxBDs. */
|
||||
if (info->clean_tbd_num < 1) {
|
||||
printf("No available TxBDs ...\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Get the first TxBD to send the mac header */
|
||||
p_tbd = &info->txbd[info->tx_idx];
|
||||
p_tbd->cbd_datlen = length;
|
||||
p_tbd->cbd_bufaddr = (u32)packet;
|
||||
p_tbd->cbd_sc |= BD_ENET_TX_LAST | BD_ENET_TX_TC | BD_ENET_TX_READY;
|
||||
info->tx_idx = (info->tx_idx + 1) % CFG_SYS_TX_ETH_BUFFER;
|
||||
|
||||
/* Enable DMA transmit task */
|
||||
MCD_continDma(info->tx_task);
|
||||
|
||||
info->clean_tbd_num -= 1;
|
||||
|
||||
/* wait until frame is sent . */
|
||||
while (p_tbd->cbd_sc & BD_ENET_TX_READY)
|
||||
udelay(10);
|
||||
|
||||
return (int)(info->txbd[info->tx_idx].cbd_sc & BD_ENET_TX_STATS);
|
||||
}
|
||||
|
||||
static int mcdmafec_recv(struct udevice *dev, int flags, uchar **packetp)
|
||||
{
|
||||
struct fec_info_dma *info = dev_get_priv(dev);
|
||||
volatile fecdma_t *fecp = (fecdma_t *)info->iobase;
|
||||
|
||||
cbd_t *prbd = &info->rxbd[info->rx_idx];
|
||||
u32 ievent;
|
||||
int frame_length, len = 0;
|
||||
|
||||
/* Check if any critical events have happened */
|
||||
ievent = fecp->eir;
|
||||
if (ievent != 0) {
|
||||
fecp->eir = ievent;
|
||||
|
||||
if (ievent & (FEC_EIR_BABT | FEC_EIR_TXERR | FEC_EIR_RXERR)) {
|
||||
printf("fec_recv: error\n");
|
||||
fec_halt(dev);
|
||||
fec_init(dev);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (ievent & FEC_EIR_HBERR) {
|
||||
/* Heartbeat error */
|
||||
fecp->tcr |= FEC_TCR_GTS;
|
||||
}
|
||||
|
||||
if (ievent & FEC_EIR_GRA) {
|
||||
/* Graceful stop complete */
|
||||
if (fecp->tcr & FEC_TCR_GTS) {
|
||||
printf("fec_recv: tcr_gts\n");
|
||||
fec_halt(dev);
|
||||
fecp->tcr &= ~FEC_TCR_GTS;
|
||||
fec_init(dev);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!(prbd->cbd_sc & BD_ENET_RX_EMPTY)) {
|
||||
if ((prbd->cbd_sc & BD_ENET_RX_LAST) &&
|
||||
!(prbd->cbd_sc & BD_ENET_RX_ERR) &&
|
||||
((prbd->cbd_datlen - 4) > 14)) {
|
||||
/* Get buffer address and size */
|
||||
frame_length = prbd->cbd_datlen - 4;
|
||||
|
||||
/* Fill the buffer and pass it to upper layers */
|
||||
net_process_received_packet((uchar *)prbd->cbd_bufaddr,
|
||||
frame_length);
|
||||
len = frame_length;
|
||||
}
|
||||
|
||||
/* Reset buffer descriptor as empty */
|
||||
if (info->rx_idx == (PKTBUFSRX - 1))
|
||||
prbd->cbd_sc = (BD_ENET_RX_WRAP | BD_ENET_RX_EMPTY);
|
||||
else
|
||||
prbd->cbd_sc = BD_ENET_RX_EMPTY;
|
||||
|
||||
prbd->cbd_datlen = PKTSIZE_ALIGN;
|
||||
|
||||
/* Now, we have an empty RxBD, restart the DMA receive task */
|
||||
MCD_continDma(info->rx_task);
|
||||
|
||||
/* Increment BD count */
|
||||
info->rx_idx = (info->rx_idx + 1) % PKTBUFSRX;
|
||||
}
|
||||
|
||||
return len;
|
||||
}
|
||||
|
||||
static void mcdmafec_halt(struct udevice *dev)
|
||||
{
|
||||
fec_halt(dev);
|
||||
}
|
||||
|
||||
static const struct eth_ops mcdmafec_ops = {
|
||||
.start = mcdmafec_init,
|
||||
.send = mcdmafec_send,
|
||||
.recv = mcdmafec_recv,
|
||||
.stop = mcdmafec_halt,
|
||||
};
|
||||
|
||||
/*
|
||||
* Boot sequence, called just after mcffec_of_to_plat,
|
||||
* as DM way, it replaces old mcffec_initialize.
|
||||
*/
|
||||
static int mcdmafec_probe(struct udevice *dev)
|
||||
{
|
||||
struct fec_info_dma *info = dev_get_priv(dev);
|
||||
struct eth_pdata *pdata = dev_get_plat(dev);
|
||||
int node = dev_of_offset(dev);
|
||||
int retval;
|
||||
const u32 *val;
|
||||
|
||||
info->index = dev_seq(dev);
|
||||
info->iobase = pdata->iobase;
|
||||
info->miibase = pdata->iobase;
|
||||
info->phy_addr = -1;
|
||||
|
||||
val = fdt_getprop(gd->fdt_blob, node, "rx-task", NULL);
|
||||
if (val)
|
||||
info->rx_task = fdt32_to_cpu(*val);
|
||||
|
||||
val = fdt_getprop(gd->fdt_blob, node, "tx-task", NULL);
|
||||
if (val)
|
||||
info->tx_task = fdt32_to_cpu(*val);
|
||||
|
||||
val = fdt_getprop(gd->fdt_blob, node, "rx-prioprity", NULL);
|
||||
if (val)
|
||||
info->rx_pri = fdt32_to_cpu(*val);
|
||||
|
||||
val = fdt_getprop(gd->fdt_blob, node, "tx-prioprity", NULL);
|
||||
if (val)
|
||||
info->tx_pri = fdt32_to_cpu(*val);
|
||||
|
||||
val = fdt_getprop(gd->fdt_blob, node, "rx-init", NULL);
|
||||
if (val)
|
||||
info->rx_init = fdt32_to_cpu(*val);
|
||||
|
||||
val = fdt_getprop(gd->fdt_blob, node, "tx-init", NULL);
|
||||
if (val)
|
||||
info->tx_init = fdt32_to_cpu(*val);
|
||||
|
||||
#ifdef CFG_SYS_FEC_BUF_USE_SRAM
|
||||
u32 tmp = CFG_SYS_INIT_RAM_ADDR + 0x1000;
|
||||
#endif
|
||||
init_eth_info(info);
|
||||
|
||||
#if defined(CONFIG_MII) || defined(CONFIG_CMD_MII)
|
||||
info->bus = mdio_alloc();
|
||||
if (!info->bus)
|
||||
return -ENOMEM;
|
||||
strlcpy(info->bus->name, dev->name, MDIO_NAME_LEN);
|
||||
info->bus->read = mcffec_miiphy_read;
|
||||
info->bus->write = mcffec_miiphy_write;
|
||||
|
||||
retval = mdio_register(info->bus);
|
||||
if (retval < 0)
|
||||
return retval;
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mcdmafec_remove(struct udevice *dev)
|
||||
{
|
||||
struct fec_info_dma *priv = dev_get_priv(dev);
|
||||
|
||||
mdio_unregister(priv->bus);
|
||||
mdio_free(priv->bus);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Boot sequence, called 1st
|
||||
*/
|
||||
static int mcdmafec_of_to_plat(struct udevice *dev)
|
||||
{
|
||||
struct eth_pdata *pdata = dev_get_plat(dev);
|
||||
const u32 *val;
|
||||
|
||||
pdata->iobase = dev_read_addr(dev);
|
||||
/* Default to 10Mbit/s */
|
||||
pdata->max_speed = 10;
|
||||
|
||||
val = fdt_getprop(gd->fdt_blob, dev_of_offset(dev), "max-speed", NULL);
|
||||
if (val)
|
||||
pdata->max_speed = fdt32_to_cpu(*val);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct udevice_id mcdmafec_ids[] = {
|
||||
{ .compatible = "fsl,mcf-dma-fec" },
|
||||
{ }
|
||||
};
|
||||
|
||||
U_BOOT_DRIVER(mcffec) = {
|
||||
.name = "mcdmafec",
|
||||
.id = UCLASS_ETH,
|
||||
.of_match = mcdmafec_ids,
|
||||
.of_to_plat = mcdmafec_of_to_plat,
|
||||
.probe = mcdmafec_probe,
|
||||
.remove = mcdmafec_remove,
|
||||
.ops = &mcdmafec_ops,
|
||||
.priv_auto = sizeof(struct fec_info_dma),
|
||||
.plat_auto = sizeof(struct eth_pdata),
|
||||
};
|
@ -6,7 +6,6 @@
|
||||
* based on source code of Shlomi Gridish
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <malloc.h>
|
||||
#include <linux/errno.h>
|
||||
#include <asm/io.h>
|
||||
|
@ -6,7 +6,6 @@
|
||||
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/global_data.h>
|
||||
#include <linux/libfdt.h>
|
||||
#include <fdt_support.h>
|
||||
|
@ -6,7 +6,6 @@
|
||||
* based on source code of Shlomi Gridish
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <malloc.h>
|
||||
#include <command.h>
|
||||
#include <asm/global_data.h>
|
||||
@ -24,6 +23,9 @@
|
||||
#include <asm/armv8/mmu.h>
|
||||
#include <asm/arch/cpu.h>
|
||||
#endif
|
||||
#ifdef CONFIG_PPC
|
||||
#include <asm/ppc.h>
|
||||
#endif
|
||||
|
||||
#define MPC85xx_DEVDISR_QE_DISABLE 0x1
|
||||
|
||||
|
@ -3,6 +3,7 @@
|
||||
* Copyright (C) 2018 Texas Instruments Incorporated - http://www.ti.com/
|
||||
*/
|
||||
|
||||
#include <errno.h>
|
||||
#include <log.h>
|
||||
#include <malloc.h>
|
||||
#include <spi.h>
|
||||
|
@ -180,7 +180,6 @@ config CONSOLE_ROTATION
|
||||
|
||||
config CONSOLE_TRUETYPE
|
||||
bool "Support a console that uses TrueType fonts"
|
||||
select CMD_SELECT_FONT
|
||||
help
|
||||
TrueTrype fonts can provide outline-drawing capability rather than
|
||||
needing to provide a bitmap for each font and size that is needed.
|
||||
|
@ -56,7 +56,7 @@ config VIRTIO_SANDBOX
|
||||
|
||||
config VIRTIO_NET
|
||||
bool "virtio net driver"
|
||||
depends on VIRTIO
|
||||
depends on VIRTIO && NETDEVICES
|
||||
help
|
||||
This is the virtual net driver for virtio. It can be used with
|
||||
QEMU based targets.
|
||||
|
113
env/common.c
vendored
113
env/common.c
vendored
@ -37,11 +37,116 @@ struct hsearch_data env_htab = {
|
||||
};
|
||||
|
||||
/*
|
||||
* This env_set() function is defined in cmd/nvedit.c, since it calls
|
||||
* _do_env_set(), whis is a static function in that file.
|
||||
*
|
||||
* int env_set(const char *varname, const char *varvalue);
|
||||
* This variable is incremented each time we set an environment variable so we
|
||||
* can be check via env_get_id() to see if the environment has changed or not.
|
||||
* This makes it possible to reread an environment variable only if the
|
||||
* environment was changed, typically used by networking code.
|
||||
*/
|
||||
static int env_id = 1;
|
||||
|
||||
int env_get_id(void)
|
||||
{
|
||||
return env_id;
|
||||
}
|
||||
|
||||
void env_inc_id(void)
|
||||
{
|
||||
env_id++;
|
||||
}
|
||||
|
||||
int env_do_env_set(int flag, int argc, char *const argv[], int env_flag)
|
||||
{
|
||||
int i, len;
|
||||
char *name, *value, *s;
|
||||
struct env_entry e, *ep;
|
||||
|
||||
debug("Initial value for argc=%d\n", argc);
|
||||
|
||||
#if !IS_ENABLED(CONFIG_SPL_BUILD) && IS_ENABLED(CONFIG_CMD_NVEDIT_EFI)
|
||||
if (argc > 1 && argv[1][0] == '-' && argv[1][1] == 'e')
|
||||
return do_env_set_efi(NULL, flag, --argc, ++argv);
|
||||
#endif
|
||||
|
||||
while (argc > 1 && **(argv + 1) == '-') {
|
||||
char *arg = *++argv;
|
||||
|
||||
--argc;
|
||||
while (*++arg) {
|
||||
switch (*arg) {
|
||||
case 'f': /* force */
|
||||
env_flag |= H_FORCE;
|
||||
break;
|
||||
default:
|
||||
return CMD_RET_USAGE;
|
||||
}
|
||||
}
|
||||
}
|
||||
debug("Final value for argc=%d\n", argc);
|
||||
name = argv[1];
|
||||
|
||||
if (strchr(name, '=')) {
|
||||
printf("## Error: illegal character '='"
|
||||
"in variable name \"%s\"\n", name);
|
||||
return 1;
|
||||
}
|
||||
|
||||
env_inc_id();
|
||||
|
||||
/* Delete only ? */
|
||||
if (argc < 3 || argv[2] == NULL) {
|
||||
int rc = hdelete_r(name, &env_htab, env_flag);
|
||||
|
||||
/* If the variable didn't exist, don't report an error */
|
||||
return rc && rc != -ENOENT ? 1 : 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Insert / replace new value
|
||||
*/
|
||||
for (i = 2, len = 0; i < argc; ++i)
|
||||
len += strlen(argv[i]) + 1;
|
||||
|
||||
value = malloc(len);
|
||||
if (value == NULL) {
|
||||
printf("## Can't malloc %d bytes\n", len);
|
||||
return 1;
|
||||
}
|
||||
for (i = 2, s = value; i < argc; ++i) {
|
||||
char *v = argv[i];
|
||||
|
||||
while ((*s++ = *v++) != '\0')
|
||||
;
|
||||
*(s - 1) = ' ';
|
||||
}
|
||||
if (s != value)
|
||||
*--s = '\0';
|
||||
|
||||
e.key = name;
|
||||
e.data = value;
|
||||
hsearch_r(e, ENV_ENTER, &ep, &env_htab, env_flag);
|
||||
free(value);
|
||||
if (!ep) {
|
||||
printf("## Error inserting \"%s\" variable, errno=%d\n",
|
||||
name, errno);
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int env_set(const char *varname, const char *varvalue)
|
||||
{
|
||||
const char * const argv[4] = { "setenv", varname, varvalue, NULL };
|
||||
|
||||
/* before import into hashtable */
|
||||
if (!(gd->flags & GD_FLG_ENV_READY))
|
||||
return 1;
|
||||
|
||||
if (varvalue == NULL || varvalue[0] == '\0')
|
||||
return env_do_env_set(0, 2, (char * const *)argv, H_PROGRAMMATIC);
|
||||
else
|
||||
return env_do_env_set(0, 3, (char * const *)argv, H_PROGRAMMATIC);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set an environment variable to an integer value
|
||||
|
@ -1,369 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
/*
|
||||
* Copyright (C) 2004-2007 Freescale Semiconductor, Inc.
|
||||
*/
|
||||
|
||||
#ifndef _MCD_API_H
|
||||
#define _MCD_API_H
|
||||
|
||||
/* Turn Execution Unit tasks ON (#define) or OFF (#undef) */
|
||||
#undef MCD_INCLUDE_EU
|
||||
|
||||
/* Number of DMA channels */
|
||||
#define NCHANNELS 16
|
||||
|
||||
/* Total number of variants */
|
||||
#ifdef MCD_INCLUDE_EU
|
||||
#define NUMOFVARIANTS 6
|
||||
#else
|
||||
#define NUMOFVARIANTS 4
|
||||
#endif
|
||||
|
||||
/* Define sizes of the various tables */
|
||||
#define TASK_TABLE_SIZE (NCHANNELS*32)
|
||||
#define VAR_TAB_SIZE (128)
|
||||
#define CONTEXT_SAVE_SIZE (128)
|
||||
#define FUNCDESC_TAB_SIZE (256)
|
||||
|
||||
#ifdef MCD_INCLUDE_EU
|
||||
#define FUNCDESC_TAB_NUM 16
|
||||
#else
|
||||
#define FUNCDESC_TAB_NUM 1
|
||||
#endif
|
||||
|
||||
#ifndef DEFINESONLY
|
||||
|
||||
/* Portability typedefs */
|
||||
#if 1
|
||||
#include "common.h"
|
||||
#else
|
||||
#ifndef s32
|
||||
typedef int s32;
|
||||
#endif
|
||||
#ifndef u32
|
||||
typedef unsigned int u32;
|
||||
#endif
|
||||
#ifndef s16
|
||||
typedef short s16;
|
||||
#endif
|
||||
#ifndef u16
|
||||
typedef unsigned short u16;
|
||||
#endif
|
||||
#ifndef s8
|
||||
typedef char s8;
|
||||
#endif
|
||||
#ifndef u8
|
||||
typedef unsigned char u8;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* These structures represent the internal registers of the
|
||||
* multi-channel DMA
|
||||
*/
|
||||
struct dmaRegs_s {
|
||||
u32 taskbar; /* task table base address */
|
||||
u32 currPtr;
|
||||
u32 endPtr;
|
||||
u32 varTablePtr;
|
||||
u16 dma_rsvd0;
|
||||
u16 ptdControl; /* ptd control */
|
||||
u32 intPending; /* interrupt pending */
|
||||
u32 intMask; /* interrupt mask */
|
||||
u16 taskControl[16]; /* task control */
|
||||
u8 priority[32]; /* priority */
|
||||
u32 initiatorMux; /* initiator mux control */
|
||||
u32 taskSize0; /* task size control 0. */
|
||||
u32 taskSize1; /* task size control 1. */
|
||||
u32 dma_rsvd1; /* reserved */
|
||||
u32 dma_rsvd2; /* reserved */
|
||||
u32 debugComp1; /* debug comparator 1 */
|
||||
u32 debugComp2; /* debug comparator 2 */
|
||||
u32 debugControl; /* debug control */
|
||||
u32 debugStatus; /* debug status */
|
||||
u32 ptdDebug; /* priority task decode debug */
|
||||
u32 dma_rsvd3[31]; /* reserved */
|
||||
};
|
||||
typedef volatile struct dmaRegs_s dmaRegs;
|
||||
|
||||
#endif
|
||||
|
||||
/* PTD contrl reg bits */
|
||||
#define PTD_CTL_TSK_PRI 0x8000
|
||||
#define PTD_CTL_COMM_PREFETCH 0x0001
|
||||
|
||||
/* Task Control reg bits and field masks */
|
||||
#define TASK_CTL_EN 0x8000
|
||||
#define TASK_CTL_VALID 0x4000
|
||||
#define TASK_CTL_ALWAYS 0x2000
|
||||
#define TASK_CTL_INIT_MASK 0x1f00
|
||||
#define TASK_CTL_ASTRT 0x0080
|
||||
#define TASK_CTL_HIPRITSKEN 0x0040
|
||||
#define TASK_CTL_HLDINITNUM 0x0020
|
||||
#define TASK_CTL_ASTSKNUM_MASK 0x000f
|
||||
|
||||
/* Priority reg bits and field masks */
|
||||
#define PRIORITY_HLD 0x80
|
||||
#define PRIORITY_PRI_MASK 0x07
|
||||
|
||||
/* Debug Control reg bits and field masks */
|
||||
#define DBG_CTL_BLOCK_TASKS_MASK 0xffff0000
|
||||
#define DBG_CTL_AUTO_ARM 0x00008000
|
||||
#define DBG_CTL_BREAK 0x00004000
|
||||
#define DBG_CTL_COMP1_TYP_MASK 0x00003800
|
||||
#define DBG_CTL_COMP2_TYP_MASK 0x00000070
|
||||
#define DBG_CTL_EXT_BREAK 0x00000004
|
||||
#define DBG_CTL_INT_BREAK 0x00000002
|
||||
|
||||
/*
|
||||
* PTD Debug reg selector addresses
|
||||
* This reg must be written with a value to show the contents of
|
||||
* one of the desired internal register.
|
||||
*/
|
||||
#define PTD_DBG_REQ 0x00 /* shows the state of 31 initiators */
|
||||
#define PTD_DBG_TSK_VLD_INIT 0x01 /* shows which 16 tasks are valid and
|
||||
have initiators asserted */
|
||||
|
||||
/* General return values */
|
||||
#define MCD_OK 0
|
||||
#define MCD_ERROR -1
|
||||
#define MCD_TABLE_UNALIGNED -2
|
||||
#define MCD_CHANNEL_INVALID -3
|
||||
|
||||
/* MCD_initDma input flags */
|
||||
#define MCD_RELOC_TASKS 0x00000001
|
||||
#define MCD_NO_RELOC_TASKS 0x00000000
|
||||
#define MCD_COMM_PREFETCH_EN 0x00000002 /* MCF547x/548x ONLY */
|
||||
|
||||
/*
|
||||
* MCD_dmaStatus Status Values for each channel:
|
||||
* MCD_NO_DMA - No DMA has been requested since reset
|
||||
* MCD_IDLE - DMA active, but the initiator is currently inactive
|
||||
* MCD_RUNNING - DMA active, and the initiator is currently active
|
||||
* MCD_PAUSED - DMA active but it is currently paused
|
||||
* MCD_HALTED - the most recent DMA has been killed with MCD_killTask()
|
||||
* MCD_DONE - the most recent DMA has completed
|
||||
*/
|
||||
#define MCD_NO_DMA 1
|
||||
#define MCD_IDLE 2
|
||||
#define MCD_RUNNING 3
|
||||
#define MCD_PAUSED 4
|
||||
#define MCD_HALTED 5
|
||||
#define MCD_DONE 6
|
||||
|
||||
/* MCD_startDma parameter defines */
|
||||
|
||||
/* Constants for the funcDesc parameter */
|
||||
/*
|
||||
* MCD_NO_BYTE_SWAP - to disable byte swapping
|
||||
* MCD_BYTE_REVERSE - to reverse the bytes of each u32 of the DMAed data
|
||||
* MCD_U16_REVERSE - to reverse the 16-bit halves of each 32-bit data
|
||||
* value being DMAed
|
||||
* MCD_U16_BYTE_REVERSE - to reverse the byte halves of each 16-bit half of
|
||||
* each 32-bit data value DMAed
|
||||
* MCD_NO_BIT_REV - do not reverse the bits of each byte DMAed
|
||||
* MCD_BIT_REV - reverse the bits of each byte DMAed
|
||||
* MCD_CRC16 - to perform CRC-16 on DMAed data
|
||||
* MCD_CRCCCITT - to perform CRC-CCITT on DMAed data
|
||||
* MCD_CRC32 - to perform CRC-32 on DMAed data
|
||||
* MCD_CSUMINET - to perform internet checksums on DMAed data
|
||||
* MCD_NO_CSUM - to perform no checksumming
|
||||
*/
|
||||
#define MCD_NO_BYTE_SWAP 0x00045670
|
||||
#define MCD_BYTE_REVERSE 0x00076540
|
||||
#define MCD_U16_REVERSE 0x00067450
|
||||
#define MCD_U16_BYTE_REVERSE 0x00054760
|
||||
#define MCD_NO_BIT_REV 0x00000000
|
||||
#define MCD_BIT_REV 0x00088880
|
||||
/* CRCing: */
|
||||
#define MCD_CRC16 0xc0100000
|
||||
#define MCD_CRCCCITT 0xc0200000
|
||||
#define MCD_CRC32 0xc0300000
|
||||
#define MCD_CSUMINET 0xc0400000
|
||||
#define MCD_NO_CSUM 0xa0000000
|
||||
|
||||
#define MCD_FUNC_NOEU1 (MCD_NO_BYTE_SWAP | MCD_NO_BIT_REV | \
|
||||
MCD_NO_CSUM)
|
||||
#define MCD_FUNC_NOEU2 (MCD_NO_BYTE_SWAP | MCD_NO_CSUM)
|
||||
|
||||
/* Constants for the flags parameter */
|
||||
#define MCD_TT_FLAGS_RL 0x00000001 /* Read line */
|
||||
#define MCD_TT_FLAGS_CW 0x00000002 /* Combine Writes */
|
||||
#define MCD_TT_FLAGS_SP 0x00000004 /* MCF547x/548x ONLY */
|
||||
#define MCD_TT_FLAGS_MASK 0x000000ff
|
||||
#define MCD_TT_FLAGS_DEF (MCD_TT_FLAGS_RL | MCD_TT_FLAGS_CW)
|
||||
|
||||
#define MCD_SINGLE_DMA 0x00000100 /* Unchained DMA */
|
||||
#define MCD_CHAIN_DMA /* TBD */
|
||||
#define MCD_EU_DMA /* TBD */
|
||||
#define MCD_FECTX_DMA 0x00001000 /* FEC TX ring DMA */
|
||||
#define MCD_FECRX_DMA 0x00002000 /* FEC RX ring DMA */
|
||||
|
||||
/* these flags are valid for MCD_startDma and the chained buffer descriptors */
|
||||
/*
|
||||
* MCD_BUF_READY - indicates that this buf is now under the DMA's ctrl
|
||||
* MCD_WRAP - to tell the FEC Dmas to wrap to the first BD
|
||||
* MCD_INTERRUPT - to generate an interrupt after completion of the DMA
|
||||
* MCD_END_FRAME - tell the DMA to end the frame when transferring
|
||||
* last byte of data in buffer
|
||||
* MCD_CRC_RESTART - to empty out the accumulated checksum prior to
|
||||
* performing the DMA
|
||||
*/
|
||||
#define MCD_BUF_READY 0x80000000
|
||||
#define MCD_WRAP 0x20000000
|
||||
#define MCD_INTERRUPT 0x10000000
|
||||
#define MCD_END_FRAME 0x08000000
|
||||
#define MCD_CRC_RESTART 0x40000000
|
||||
|
||||
/* Defines for the FEC buffer descriptor control/status word*/
|
||||
#define MCD_FEC_BUF_READY 0x8000
|
||||
#define MCD_FEC_WRAP 0x2000
|
||||
#define MCD_FEC_INTERRUPT 0x1000
|
||||
#define MCD_FEC_END_FRAME 0x0800
|
||||
|
||||
/* Defines for general intuitiveness */
|
||||
|
||||
#define MCD_TRUE 1
|
||||
#define MCD_FALSE 0
|
||||
|
||||
/* Three different cases for destination and source. */
|
||||
#define MINUS1 -1
|
||||
#define ZERO 0
|
||||
#define PLUS1 1
|
||||
|
||||
#ifndef DEFINESONLY
|
||||
|
||||
/* Task Table Entry struct*/
|
||||
typedef struct {
|
||||
u32 TDTstart; /* task descriptor table start */
|
||||
u32 TDTend; /* task descriptor table end */
|
||||
u32 varTab; /* variable table start */
|
||||
u32 FDTandFlags; /* function descriptor table start & flags */
|
||||
volatile u32 descAddrAndStatus;
|
||||
volatile u32 modifiedVarTab;
|
||||
u32 contextSaveSpace; /* context save space start */
|
||||
u32 literalBases;
|
||||
} TaskTableEntry;
|
||||
|
||||
/* Chained buffer descriptor:
|
||||
* flags - flags describing the DMA
|
||||
* csumResult - checksum performed since last checksum reset
|
||||
* srcAddr - the address to move data from
|
||||
* destAddr - the address to move data to
|
||||
* lastDestAddr - the last address written to
|
||||
* dmaSize - the no of bytes to xfer independent of the xfer sz
|
||||
* next - next buffer descriptor in chain
|
||||
* info - private info about this descriptor; DMA does not affect it
|
||||
*/
|
||||
typedef volatile struct MCD_bufDesc_struct MCD_bufDesc;
|
||||
struct MCD_bufDesc_struct {
|
||||
u32 flags;
|
||||
u32 csumResult;
|
||||
s8 *srcAddr;
|
||||
s8 *destAddr;
|
||||
s8 *lastDestAddr;
|
||||
u32 dmaSize;
|
||||
MCD_bufDesc *next;
|
||||
u32 info;
|
||||
};
|
||||
|
||||
/* Progress Query struct:
|
||||
* lastSrcAddr - the most-recent or last, post-increment source address
|
||||
* lastDestAddr - the most-recent or last, post-increment destination address
|
||||
* dmaSize - the amount of data transferred for the current buffer
|
||||
* currBufDesc - pointer to the current buffer descriptor being DMAed
|
||||
*/
|
||||
|
||||
typedef volatile struct MCD_XferProg_struct {
|
||||
s8 *lastSrcAddr;
|
||||
s8 *lastDestAddr;
|
||||
u32 dmaSize;
|
||||
MCD_bufDesc *currBufDesc;
|
||||
} MCD_XferProg;
|
||||
|
||||
/* FEC buffer descriptor */
|
||||
typedef volatile struct MCD_bufDescFec_struct {
|
||||
u16 statCtrl;
|
||||
u16 length;
|
||||
u32 dataPointer;
|
||||
} MCD_bufDescFec;
|
||||
|
||||
/*************************************************************************/
|
||||
/* API function Prototypes - see MCD_dmaApi.c for further notes */
|
||||
|
||||
/* MCD_startDma starts a particular kind of DMA:
|
||||
* srcAddr - the channel on which to run the DMA
|
||||
* srcIncr - the address to move data from, or buffer-descriptor address
|
||||
* destAddr - the amount to increment the source address per transfer
|
||||
* destIncr - the address to move data to
|
||||
* dmaSize - the amount to increment the destination address per transfer
|
||||
* xferSize - the number bytes in of each data movement (1, 2, or 4)
|
||||
* initiator - what device initiates the DMA
|
||||
* priority - priority of the DMA
|
||||
* flags - flags describing the DMA
|
||||
* funcDesc - description of byte swapping, bit swapping, and CRC actions
|
||||
*/
|
||||
int MCD_startDma(int channel, s8 * srcAddr, s16 srcIncr, s8 * destAddr,
|
||||
s16 destIncr, u32 dmaSize, u32 xferSize, u32 initiator,
|
||||
int priority, u32 flags, u32 funcDesc);
|
||||
|
||||
/*
|
||||
* MCD_initDma() initializes the DMA API by setting up a pointer to the DMA
|
||||
* registers, relocating and creating the appropriate task structures, and
|
||||
* setting up some global settings
|
||||
*/
|
||||
int MCD_initDma(dmaRegs * sDmaBarAddr, void *taskTableDest, u32 flags);
|
||||
|
||||
/* MCD_dmaStatus() returns the status of the DMA on the requested channel. */
|
||||
int MCD_dmaStatus(int channel);
|
||||
|
||||
/* MCD_XferProgrQuery() returns progress of DMA on requested channel */
|
||||
int MCD_XferProgrQuery(int channel, MCD_XferProg * progRep);
|
||||
|
||||
/*
|
||||
* MCD_killDma() halts the DMA on the requested channel, without any
|
||||
* intention of resuming the DMA.
|
||||
*/
|
||||
int MCD_killDma(int channel);
|
||||
|
||||
/*
|
||||
* MCD_continDma() continues a DMA which as stopped due to encountering an
|
||||
* unready buffer descriptor.
|
||||
*/
|
||||
int MCD_continDma(int channel);
|
||||
|
||||
/*
|
||||
* MCD_pauseDma() pauses the DMA on the given channel ( if any DMA is
|
||||
* running on that channel).
|
||||
*/
|
||||
int MCD_pauseDma(int channel);
|
||||
|
||||
/*
|
||||
* MCD_resumeDma() resumes the DMA on a given channel (if any DMA is
|
||||
* running on that channel).
|
||||
*/
|
||||
int MCD_resumeDma(int channel);
|
||||
|
||||
/* MCD_csumQuery provides the checksum/CRC after performing a non-chained DMA */
|
||||
int MCD_csumQuery(int channel, u32 * csum);
|
||||
|
||||
/*
|
||||
* MCD_getCodeSize provides the packed size required by the microcoded task
|
||||
* and structures.
|
||||
*/
|
||||
int MCD_getCodeSize(void);
|
||||
|
||||
/*
|
||||
* MCD_getVersion provides a pointer to a version string and returns a
|
||||
* version number.
|
||||
*/
|
||||
int MCD_getVersion(char **longVersion);
|
||||
|
||||
/* macro for setting a location in the variable table */
|
||||
#define MCD_SET_VAR(taskTab,idx,value) ((u32 *)(taskTab)->varTab)[idx] = value
|
||||
/* Note that MCD_SET_VAR() is invoked many times in firing up a DMA function,
|
||||
so I'm avoiding surrounding it with "do {} while(0)" */
|
||||
|
||||
#endif /* DEFINESONLY */
|
||||
|
||||
#endif /* _MCD_API_H */
|
@ -1,10 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
/*
|
||||
* Copyright (C) 2004-2007 Freescale Semiconductor, Inc.
|
||||
*/
|
||||
|
||||
/* This file is autogenerated. Do not change */
|
||||
#define CURRBD 4
|
||||
#define DCOUNT 6
|
||||
#define DESTPTR 5
|
||||
#define SRCPTR 7
|
@ -1,43 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
/*
|
||||
* Copyright (C) 2004-2007 Freescale Semiconductor, Inc.
|
||||
*/
|
||||
|
||||
#ifndef MCD_TSK_INIT_H
|
||||
#define MCD_TSK_INIT_H 1
|
||||
|
||||
/*
|
||||
* Do not edit!
|
||||
*/
|
||||
|
||||
/* Task 0 */
|
||||
void MCD_startDmaChainNoEu(int *currBD, short srcIncr, short destIncr,
|
||||
int xferSize, short xferSizeIncr, int *cSave,
|
||||
volatile TaskTableEntry * taskTable, int channel);
|
||||
|
||||
/* Task 1 */
|
||||
void MCD_startDmaSingleNoEu(char *srcAddr, short srcIncr, char *destAddr,
|
||||
short destIncr, int dmaSize, short xferSizeIncr,
|
||||
int flags, int *currBD, int *cSave,
|
||||
volatile TaskTableEntry * taskTable, int channel);
|
||||
|
||||
/* Task 2 */
|
||||
void MCD_startDmaChainEu(int *currBD, short srcIncr, short destIncr,
|
||||
int xferSize, short xferSizeIncr, int *cSave,
|
||||
volatile TaskTableEntry * taskTable, int channel);
|
||||
|
||||
/* Task 3 */
|
||||
void MCD_startDmaSingleEu(char *srcAddr, short srcIncr, char *destAddr,
|
||||
short destIncr, int dmaSize, short xferSizeIncr,
|
||||
int flags, int *currBD, int *cSave,
|
||||
volatile TaskTableEntry * taskTable, int channel);
|
||||
|
||||
/* Task 4 */
|
||||
void MCD_startDmaENetRcv(char *bDBase, char *currBD, char *rcvFifoPtr,
|
||||
volatile TaskTableEntry * taskTable, int channel);
|
||||
|
||||
/* Task 5 */
|
||||
void MCD_startDmaENetXmit(char *bDBase, char *currBD, char *xmitFifoPtr,
|
||||
volatile TaskTableEntry * taskTable, int channel);
|
||||
|
||||
#endif /* MCD_TSK_INIT_H */
|
@ -6,7 +6,6 @@
|
||||
#ifndef _BOOTCOUNT_H__
|
||||
#define _BOOTCOUNT_H__
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/global_data.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/byteorder.h>
|
||||
|
@ -10,7 +10,6 @@
|
||||
#ifndef __DFU_ENTITY_H_
|
||||
#define __DFU_ENTITY_H_
|
||||
|
||||
#include <common.h>
|
||||
#include <linux/list.h>
|
||||
#include <mmc.h>
|
||||
#include <spi_flash.h>
|
||||
|
@ -9,6 +9,8 @@
|
||||
#ifndef __DISPLAY_OPTIONS_H
|
||||
#define __DISPLAY_OPTIONS_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/**
|
||||
* print_size() - Print a size with a suffix
|
||||
*
|
||||
@ -19,7 +21,6 @@
|
||||
* @size: Size to print
|
||||
* @suffix String to print after the size
|
||||
*/
|
||||
#include <display_options.h>
|
||||
void print_size(uint64_t size, const char *suffix);
|
||||
|
||||
/**
|
||||
|
@ -8,7 +8,6 @@
|
||||
#ifndef _EFI_LOADER_H
|
||||
#define _EFI_LOADER_H 1
|
||||
|
||||
#include <common.h>
|
||||
#include <blk.h>
|
||||
#include <event.h>
|
||||
#include <log.h>
|
||||
|
@ -8,7 +8,6 @@
|
||||
#ifndef _EFI_SELFTEST_H
|
||||
#define _EFI_SELFTEST_H
|
||||
|
||||
#include <common.h>
|
||||
#include <efi.h>
|
||||
#include <efi_api.h>
|
||||
#include <efi_loader.h>
|
||||
|
@ -72,6 +72,14 @@ enum env_redund_flags {
|
||||
*/
|
||||
int env_get_id(void);
|
||||
|
||||
/**
|
||||
* env_inc_id() - Increase the sequence number for the environment
|
||||
*
|
||||
* Increment the value that is used by env_get_id() to inform callers
|
||||
* if the environment has changed since they last checked.
|
||||
*/
|
||||
void env_inc_id(void);
|
||||
|
||||
/**
|
||||
* env_init() - Set up the pre-relocation environment
|
||||
*
|
||||
|
@ -193,6 +193,18 @@ struct env_driver {
|
||||
|
||||
extern struct hsearch_data env_htab;
|
||||
|
||||
/**
|
||||
* env_do_env_set() - Perform the actual setting of an environment variable
|
||||
*
|
||||
* Due to the number of places we may need to set an environmental variable
|
||||
* from we have an exposed internal function that performs the real work and
|
||||
* then call this from both the command line function as well as other
|
||||
* locations.
|
||||
*
|
||||
* Return: 0 on success or 1 on failure
|
||||
*/
|
||||
int env_do_env_set(int flag, int argc, char *const argv[], int env_flag);
|
||||
|
||||
/**
|
||||
* env_ext4_get_intf() - Provide the interface for env in EXT4
|
||||
*
|
||||
|
@ -7,7 +7,6 @@
|
||||
#ifndef __FM_ETH_H__
|
||||
#define __FM_ETH_H__
|
||||
|
||||
#include <common.h>
|
||||
#include <phy.h>
|
||||
#include <asm/types.h>
|
||||
|
||||
|
@ -5,7 +5,6 @@
|
||||
#ifndef _FS_H
|
||||
#define _FS_H
|
||||
|
||||
#include <common.h>
|
||||
#include <rtc.h>
|
||||
|
||||
struct cmd_tbl;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user