- Various improvements to Keymile boards - mostly DT conversation (Pascal & Holger) - Removal of now unsupported Keymile boards (Pascal & Holger) - Small MVEBU PCI fix (Marek) - Turris Omnia defconfig update (Marek) - Misc Allied Telesis defconfig updates (Chris)
This commit is contained in:
@@ -9,8 +9,109 @@ config VENDOR_KM
|
||||
|
||||
if VENDOR_KM
|
||||
|
||||
menu "KM Board Setup"
|
||||
|
||||
config KM_PNVRAM
|
||||
hex "Pseudo RAM"
|
||||
default 0x80000
|
||||
help
|
||||
Start address of the pseudo non-volatile RAM for application.
|
||||
|
||||
config KM_PHRAM
|
||||
hex "Physical RAM"
|
||||
default 0x17F000 if ARM
|
||||
default 0x100000 if PPC
|
||||
help
|
||||
Start address of the physical RAM, which is the mounted /var folder.
|
||||
|
||||
config KM_RESERVED_PRAM
|
||||
hex "Reserved RAM"
|
||||
default 0x801000 if KIRKWOOD
|
||||
default 0x0 if MPC83xx
|
||||
default 0x1000 if MPC85xx
|
||||
help
|
||||
Reserved physical RAM area at the end of memory for special purposes.
|
||||
|
||||
config KM_CRAMFS_ADDR
|
||||
hex "CRAMFS Address"
|
||||
default 0x2400000 if KIRKWOOD
|
||||
default 0xC00000 if MPC83xx
|
||||
default 0x2000000 if MPC85xx
|
||||
help
|
||||
Start address of the CRAMFS containing the Linux kernel.
|
||||
|
||||
config KM_KERNEL_ADDR
|
||||
hex "Kernel Load Address"
|
||||
default 0x2000000 if KIRKWOOD
|
||||
default 0x400000 if MPC83xx
|
||||
default 0x1000000 if MPC85xx
|
||||
help
|
||||
Address where to load Linux kernel in RAM.
|
||||
|
||||
config KM_FDT_ADDR
|
||||
hex "FDT Load Address"
|
||||
default 0x23E0000 if KIRKWOOD
|
||||
default 0xB80000 if MPC83xx
|
||||
default 0x1F80000 if MPC85xx
|
||||
help
|
||||
Address where to load flattened device tree in RAM.
|
||||
|
||||
config KM_CONSOLE_TTY
|
||||
string "KM Console"
|
||||
default "ttyS0"
|
||||
help
|
||||
TTY console to use on board.
|
||||
|
||||
config KM_COMMON_ETH_INIT
|
||||
bool "Common Ethernet Initialization"
|
||||
default y if KIRKWOOD || MPC83xx
|
||||
default n if MPC85xx
|
||||
help
|
||||
Use the Ethernet initialization implemented in common code, which
|
||||
detects if a Piggy board is present.
|
||||
|
||||
config PIGGY_MAC_ADRESS_OFFSET
|
||||
int "Piggy Address Offset"
|
||||
default 0
|
||||
help
|
||||
MAC address offset for the Piggy board.
|
||||
|
||||
config KM_MVEXTSW_ADDR
|
||||
hex "Marvell Switch Address"
|
||||
depends on MV88E6352_SWITCH
|
||||
default 0x10
|
||||
help
|
||||
Address of external Marvell switch.
|
||||
|
||||
config KM_IVM_BUS
|
||||
int "IVM I2C Bus"
|
||||
default 1 if KIRKWOOD || MPC85xx
|
||||
default 2 if MPC83xx
|
||||
help
|
||||
Identifier number of I2C bus, where the inventory EEPROM is connected to.
|
||||
|
||||
config SYS_IVM_EEPROM_ADR
|
||||
hex "IVM I2C Address"
|
||||
default 0x50
|
||||
help
|
||||
I2C address of the EEPROM containing the inventory.
|
||||
|
||||
config SYS_IVM_EEPROM_MAX_LEN
|
||||
hex "IVM Length"
|
||||
default 0x400
|
||||
help
|
||||
Maximum length of inventory in EEPROM.
|
||||
|
||||
config SYS_IVM_EEPROM_PAGE_LEN
|
||||
hex "IVM Page Size"
|
||||
default 0x100
|
||||
help
|
||||
Page size of inventory in EEPROM.
|
||||
|
||||
source "board/keymile/km83xx/Kconfig"
|
||||
source "board/keymile/kmp204x/Kconfig"
|
||||
source "board/keymile/km_arm/Kconfig"
|
||||
|
||||
endmenu
|
||||
|
||||
endif
|
||||
|
||||
@@ -120,10 +120,6 @@ struct bfticu_iomap {
|
||||
u8 pb_dbug;
|
||||
};
|
||||
|
||||
#if !defined(CONFIG_PIGGY_MAC_ADRESS_OFFSET)
|
||||
#define CONFIG_PIGGY_MAC_ADRESS_OFFSET 0
|
||||
#endif
|
||||
|
||||
int ethernet_present(void);
|
||||
int ivm_read_eeprom(unsigned char *buf, int len);
|
||||
int ivm_analyze_eeprom(unsigned char *buf, int len);
|
||||
|
||||
@@ -311,11 +311,6 @@ static int ivm_populate_env(unsigned char *buf, int len)
|
||||
/* if an offset is defined, add it */
|
||||
process_mac(valbuf, page2, CONFIG_PIGGY_MAC_ADRESS_OFFSET, true);
|
||||
env_set((char *)"ethaddr", (char *)valbuf);
|
||||
#ifdef CONFIG_KMVECT1
|
||||
/* KMVECT1 has two ethernet interfaces */
|
||||
process_mac(valbuf, page2, 1, true);
|
||||
env_set((char *)"eth1addr", (char *)valbuf);
|
||||
#endif
|
||||
#else
|
||||
/* KMTEGR1 has a special setup. eth0 has no connection to the outside and
|
||||
* gets an locally administred MAC address, eth1 is the debug interface and
|
||||
|
||||
@@ -38,25 +38,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
||||
|
||||
endif
|
||||
|
||||
if TARGET_KMVECT1
|
||||
|
||||
config SYS_BOARD
|
||||
default "km83xx"
|
||||
|
||||
config SYS_VENDOR
|
||||
default "keymile"
|
||||
|
||||
config SYS_CONFIG_NAME
|
||||
default "kmvect1"
|
||||
|
||||
config BOARD_SPECIFIC_OPTIONS # dummy
|
||||
def_bool y
|
||||
select ARCH_MPC8309
|
||||
imply CMD_CRAMFS
|
||||
imply FS_CRAMFS
|
||||
|
||||
endif
|
||||
|
||||
if TARGET_KMTEGR1
|
||||
|
||||
config SYS_BOARD
|
||||
|
||||
@@ -10,7 +10,6 @@ F: configs/kmopti2_defconfig
|
||||
F: configs/kmtepr2_defconfig
|
||||
F: include/configs/suvd3.h
|
||||
F: configs/kmtegr1_defconfig
|
||||
F: configs/kmvect1_defconfig
|
||||
F: configs/suvd3_defconfig
|
||||
F: configs/tuge1_defconfig
|
||||
F: configs/tuxx1_defconfig
|
||||
|
||||
@@ -125,19 +125,10 @@ static int piggy_present(void)
|
||||
return in_8(&base->bprth) & PIGGY_PRESENT;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_KMVECT1)
|
||||
int ethernet_present(void)
|
||||
{
|
||||
/* ethernet port connected to simple switch without piggy */
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
int ethernet_present(void)
|
||||
{
|
||||
return piggy_present();
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
int board_early_init_r(void)
|
||||
{
|
||||
@@ -198,80 +189,8 @@ int misc_init_r(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_KMVECT1)
|
||||
#include <mv88e6352.h>
|
||||
/* Marvell MV88E6122 switch configuration */
|
||||
static struct mv88e_sw_reg extsw_conf[] = {
|
||||
/* port 1, FRONT_MDI, autoneg */
|
||||
{ PORT(1), PORT_PHY, NO_SPEED_FOR },
|
||||
{ PORT(1), PORT_CTRL, FORWARDING | EGRS_FLD_ALL },
|
||||
{ PHY(1), PHY_1000_CTRL, NO_ADV },
|
||||
{ PHY(1), PHY_SPEC_CTRL, AUTO_MDIX_EN },
|
||||
{ PHY(1), PHY_CTRL, PHY_100_MBPS | AUTONEG_EN | AUTONEG_RST |
|
||||
FULL_DUPLEX },
|
||||
/* port 2, unused */
|
||||
{ PORT(2), PORT_CTRL, PORT_DIS },
|
||||
{ PHY(2), PHY_CTRL, PHY_PWR_DOWN },
|
||||
{ PHY(2), PHY_SPEC_CTRL, SPEC_PWR_DOWN },
|
||||
/* port 3, BP_MII (CPU), PHY mode, 100BASE */
|
||||
{ PORT(3), PORT_CTRL, FORWARDING | EGRS_FLD_ALL },
|
||||
/* port 4, ESTAR to slot 11, SerDes, 1000BASE-X */
|
||||
{ PORT(4), PORT_STATUS, NO_PHY_DETECT },
|
||||
{ PORT(4), PORT_PHY, SPEED_1000_FOR },
|
||||
{ PORT(4), PORT_CTRL, FORWARDING | EGRS_FLD_ALL },
|
||||
/* port 5, ESTAR to slot 13, SerDes, 1000BASE-X */
|
||||
{ PORT(5), PORT_STATUS, NO_PHY_DETECT },
|
||||
{ PORT(5), PORT_PHY, SPEED_1000_FOR },
|
||||
{ PORT(5), PORT_CTRL, FORWARDING | EGRS_FLD_ALL },
|
||||
/*
|
||||
* Errata Fix: 1.9V Output from Internal 1.8V Regulator,
|
||||
* acc . MV-S300889-00D.pdf , clause 4.5
|
||||
*/
|
||||
{ PORT(5), 0x1A, 0xADB1 },
|
||||
/* port 6, unused, this port has no phy */
|
||||
{ PORT(6), PORT_CTRL, PORT_DIS },
|
||||
/*
|
||||
* Errata Fix: 1.9V Output from Internal 1.8V Regulator,
|
||||
* acc . MV-S300889-00D.pdf , clause 4.5
|
||||
*/
|
||||
{ PORT(5), 0x1A, 0xADB1 },
|
||||
};
|
||||
#endif
|
||||
|
||||
int last_stage_init(void)
|
||||
{
|
||||
#if defined(CONFIG_KMVECT1)
|
||||
struct km_bec_fpga __iomem *base =
|
||||
(struct km_bec_fpga __iomem *)CONFIG_SYS_KMBEC_FPGA_BASE;
|
||||
u8 tmp_reg;
|
||||
|
||||
/* Release mv88e6122 from reset */
|
||||
tmp_reg = in_8(&base->res1[0]) | 0x10; /* DIRECT3 register */
|
||||
out_8(&base->res1[0], tmp_reg); /* GP28 as output */
|
||||
tmp_reg = in_8(&base->gprt3) | 0x10; /* GP28 to high */
|
||||
out_8(&base->gprt3, tmp_reg);
|
||||
|
||||
/* configure MV88E6122 switch */
|
||||
char *name = "UEC2";
|
||||
|
||||
if (miiphy_set_current_dev(name))
|
||||
return 0;
|
||||
|
||||
mv88e_sw_program(name, CONFIG_KM_MVEXTSW_ADDR, extsw_conf,
|
||||
ARRAY_SIZE(extsw_conf));
|
||||
|
||||
mv88e_sw_reset(name, CONFIG_KM_MVEXTSW_ADDR);
|
||||
|
||||
if (piggy_present()) {
|
||||
env_set("ethact", "UEC2");
|
||||
env_set("netdev", "eth1");
|
||||
puts("using PIGGY for network boot\n");
|
||||
} else {
|
||||
env_set("netdev", "eth0");
|
||||
puts("using frontport for network boot\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_TARGET_KMCOGE5NE)
|
||||
struct bfticu_iomap *base =
|
||||
(struct bfticu_iomap *)CONFIG_SYS_BFTIC3_BASE;
|
||||
|
||||
@@ -1,3 +1,32 @@
|
||||
menu "KM ARM Options"
|
||||
depends on ARM
|
||||
|
||||
config KM_FPGA_CONFIG
|
||||
bool "FPGA Configuration"
|
||||
default n
|
||||
help
|
||||
Include capability to change FPGA configuration.
|
||||
|
||||
config KM_ENV_IS_IN_SPI_NOR
|
||||
bool "Environment in SPI NOR"
|
||||
default n
|
||||
help
|
||||
Put the U-Boot environment in the SPI NOR flash.
|
||||
|
||||
config KM_PIGGY4_88E6061
|
||||
bool "Piggy via Switch 88E6061"
|
||||
default n
|
||||
help
|
||||
The Piggy4 board is connected via a Marvell 88E6061 switch.
|
||||
|
||||
config KM_PIGGY4_88E6352
|
||||
bool "Piggy via Switch 88E6352"
|
||||
default n
|
||||
help
|
||||
The Piggy4 board is connected via a Marvell 88E6352 switch.
|
||||
|
||||
endmenu
|
||||
|
||||
if TARGET_KM_KIRKWOOD
|
||||
|
||||
config SYS_BOARD
|
||||
@@ -13,6 +42,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
||||
def_bool y
|
||||
select BOARD_LATE_INIT
|
||||
select DM
|
||||
select DM_ETH
|
||||
select DM_SERIAL
|
||||
select DM_SPI
|
||||
select DM_SPI_FLASH
|
||||
imply CMD_CRAMFS
|
||||
|
||||
@@ -11,4 +11,3 @@ F: configs/kmnusa_defconfig
|
||||
F: configs/kmsugp1_defconfig
|
||||
F: configs/kmsuv31_defconfig
|
||||
F: configs/mgcoge3un_defconfig
|
||||
F: configs/portl2_defconfig
|
||||
|
||||
@@ -4,4 +4,3 @@ S: Maintained
|
||||
F: board/keymile/kmp204x/
|
||||
F: include/configs/kmp204x.h
|
||||
F: configs/kmcoge4_defconfig
|
||||
F: configs/kmlion1_defconfig
|
||||
|
||||
Reference in New Issue
Block a user