[U-Boot] [PATCH 1/9] km: add Kconfig menus for KM boards

Pascal Linder pascal.linder at edu.hefr.ch
Tue Jul 9 07:28:20 UTC 2019


To execute the conversion away from board specific header files, Kconfig
menus have been implemented for all KM boards and additionally for those
having an ARM architecture.

For the moment, the preprocessor definitions stay in the headers. The
boolean types, however, needed a modification (#define CONFIG_* 1).

The default configuration files of some boards required an update in order
to not change the currently defined values of the configurations.

Signed-off-by: Pascal Linder <pascal.linder at edu.hefr.ch>
Signed-off-by: Holger Brunck <holger.brunck at ch.abb.com>
---
 board/keymile/Kconfig             | 101 ++++++++++++++++++++++++++++++
 board/keymile/km_arm/Kconfig      |  29 +++++++++
 configs/km_kirkwood_pci_defconfig |   1 +
 configs/kmcoge5un_defconfig       |   3 +
 configs/kmnusa_defconfig          |   4 ++
 configs/kmsugp1_defconfig         |   4 ++
 configs/kmsuv31_defconfig         |   2 +
 configs/kmvect1_defconfig         |   1 +
 configs/mgcoge3un_defconfig       |   2 +
 configs/portl2_defconfig          |   1 +
 include/configs/km/km-powerpc.h   |   2 +-
 include/configs/km/km_arm.h       |   2 +-
 include/configs/km_kirkwood.h     |  22 +++----
 include/configs/kmvect1.h         |   2 +-
 14 files changed, 162 insertions(+), 14 deletions(-)

diff --git a/board/keymile/Kconfig b/board/keymile/Kconfig
index e30d64818c..acaa9289f7 100644
--- a/board/keymile/Kconfig
+++ b/board/keymile/Kconfig
@@ -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
diff --git a/board/keymile/km_arm/Kconfig b/board/keymile/km_arm/Kconfig
index 19c1db3bc2..7da052f4c4 100644
--- a/board/keymile/km_arm/Kconfig
+++ b/board/keymile/km_arm/Kconfig
@@ -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
diff --git a/configs/km_kirkwood_pci_defconfig b/configs/km_kirkwood_pci_defconfig
index 5abf543270..b8c8445c34 100644
--- a/configs/km_kirkwood_pci_defconfig
+++ b/configs/km_kirkwood_pci_defconfig
@@ -3,6 +3,7 @@ CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x07d00000
 CONFIG_TARGET_KM_KIRKWOOD=y
+CONFIG_KM_FPGA_CONFIG=y
 CONFIG_IDENT_STRING="\nKeymile Kirkwood PCI"
 CONFIG_SYS_EXTRA_OPTIONS="KM_KIRKWOOD_PCI"
 CONFIG_MISC_INIT_R=y
diff --git a/configs/kmcoge5un_defconfig b/configs/kmcoge5un_defconfig
index b6ac31e0ff..519402ed48 100644
--- a/configs/kmcoge5un_defconfig
+++ b/configs/kmcoge5un_defconfig
@@ -3,6 +3,9 @@ CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x07d00000
 CONFIG_TARGET_KM_KIRKWOOD=y
+CONFIG_PIGGY_MAC_ADRESS_OFFSET=3
+CONFIG_KM_ENV_IS_IN_SPI_NOR=y
+CONFIG_KM_PIGGY4_88E6352=y
 CONFIG_IDENT_STRING="\nKeymile COGE5UN"
 CONFIG_SYS_EXTRA_OPTIONS="KM_COGE5UN"
 CONFIG_MISC_INIT_R=y
diff --git a/configs/kmnusa_defconfig b/configs/kmnusa_defconfig
index 08e9b7566a..1496882163 100644
--- a/configs/kmnusa_defconfig
+++ b/configs/kmnusa_defconfig
@@ -3,6 +3,9 @@ CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x07d00000
 CONFIG_TARGET_KM_KIRKWOOD=y
+CONFIG_KM_FPGA_CONFIG=y
+CONFIG_KM_ENV_IS_IN_SPI_NOR=y
+CONFIG_KM_PIGGY4_88E6352=y
 CONFIG_IDENT_STRING="\nKeymile NUSA"
 CONFIG_SYS_EXTRA_OPTIONS="KM_NUSA"
 CONFIG_MISC_INIT_R=y
@@ -38,6 +41,7 @@ CONFIG_BOOTCOUNT_BOOTLIMIT=3
 CONFIG_SPI_FLASH=y
 CONFIG_SF_DEFAULT_SPEED=8100000
 CONFIG_SPI_FLASH_STMICRO=y
+CONFIG_MV88E6352_SWITCH=y
 CONFIG_MVGBE=y
 CONFIG_MII=y
 CONFIG_SYS_NS16550=y
diff --git a/configs/kmsugp1_defconfig b/configs/kmsugp1_defconfig
index cafc1f97cb..5da967ad2a 100644
--- a/configs/kmsugp1_defconfig
+++ b/configs/kmsugp1_defconfig
@@ -3,6 +3,9 @@ CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x07d00000
 CONFIG_TARGET_KM_KIRKWOOD=y
+CONFIG_KM_FPGA_CONFIG=y
+CONFIG_KM_ENV_IS_IN_SPI_NOR=y
+CONFIG_KM_PIGGY4_88E6352=y
 CONFIG_IDENT_STRING="\nKeymile SUGP1"
 CONFIG_SYS_EXTRA_OPTIONS="KM_SUGP1"
 CONFIG_MISC_INIT_R=y
@@ -38,6 +41,7 @@ CONFIG_BOOTCOUNT_BOOTLIMIT=3
 CONFIG_SPI_FLASH=y
 CONFIG_SF_DEFAULT_SPEED=8100000
 CONFIG_SPI_FLASH_STMICRO=y
+CONFIG_MV88E6352_SWITCH=y
 CONFIG_MVGBE=y
 CONFIG_MII=y
 CONFIG_SYS_NS16550=y
diff --git a/configs/kmsuv31_defconfig b/configs/kmsuv31_defconfig
index 14c1c168f6..ced1be5c0b 100644
--- a/configs/kmsuv31_defconfig
+++ b/configs/kmsuv31_defconfig
@@ -3,6 +3,8 @@ CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x07d00000
 CONFIG_TARGET_KM_KIRKWOOD=y
+CONFIG_KM_FPGA_CONFIG=y
+CONFIG_KM_ENV_IS_IN_SPI_NOR=y
 CONFIG_IDENT_STRING="\nKeymile SUV31"
 CONFIG_SYS_EXTRA_OPTIONS="KM_SUV31"
 CONFIG_MISC_INIT_R=y
diff --git a/configs/kmvect1_defconfig b/configs/kmvect1_defconfig
index 6f2f7329a2..890c4138ec 100644
--- a/configs/kmvect1_defconfig
+++ b/configs/kmvect1_defconfig
@@ -173,6 +173,7 @@ CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_FLASH_CFI_MTD=y
 CONFIG_SYS_FLASH_PROTECTION=y
 CONFIG_SYS_FLASH_CFI=y
+CONFIG_MV88E6352_SWITCH=y
 # CONFIG_PCI is not set
 CONFIG_QE=y
 CONFIG_SYS_QE_FMAN_FW_IN_NOR=y
diff --git a/configs/mgcoge3un_defconfig b/configs/mgcoge3un_defconfig
index 6b36cf9ce8..6dd21bcdc1 100644
--- a/configs/mgcoge3un_defconfig
+++ b/configs/mgcoge3un_defconfig
@@ -3,6 +3,8 @@ CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x07d00000
 CONFIG_TARGET_KM_KIRKWOOD=y
+CONFIG_PIGGY_MAC_ADRESS_OFFSET=3
+CONFIG_KM_PIGGY4_88E6061=y
 CONFIG_IDENT_STRING="\nKeymile COGE3UN"
 CONFIG_SYS_EXTRA_OPTIONS="KM_MGCOGE3UN"
 CONFIG_MISC_INIT_R=y
diff --git a/configs/portl2_defconfig b/configs/portl2_defconfig
index 918d27c331..a8981db956 100644
--- a/configs/portl2_defconfig
+++ b/configs/portl2_defconfig
@@ -3,6 +3,7 @@ CONFIG_SYS_DCACHE_OFF=y
 CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x07d00000
 CONFIG_TARGET_KM_KIRKWOOD=y
+CONFIG_KM_PIGGY4_88E6061=y
 CONFIG_IDENT_STRING="\nKeymile Port-L2"
 CONFIG_SYS_EXTRA_OPTIONS="KM_PORTL2"
 CONFIG_MISC_INIT_R=y
diff --git a/include/configs/km/km-powerpc.h b/include/configs/km/km-powerpc.h
index 16b11d82a2..74cd67456c 100644
--- a/include/configs/km/km-powerpc.h
+++ b/include/configs/km/km-powerpc.h
@@ -12,7 +12,7 @@
 #define CONFIG_JFFS2_CMDLINE
 
 /* standard km ethernet_present for piggy */
-#define CONFIG_KM_COMMON_ETH_INIT
+#define CONFIG_KM_COMMON_ETH_INIT 1
 
 /* EEprom support 24C08, 24C16, 24C64 */
 #define CONFIG_SYS_EEPROM_PAGE_WRITE_ENABLE
diff --git a/include/configs/km/km_arm.h b/include/configs/km/km_arm.h
index 3136d48f62..5df507bddf 100644
--- a/include/configs/km/km_arm.h
+++ b/include/configs/km/km_arm.h
@@ -122,7 +122,7 @@
 #define CONFIG_MVGBE_PORTS	{1, 0}	/* enable port 0 only */
 #define CONFIG_PHY_BASE_ADR	0
 #define CONFIG_ENV_OVERWRITE	/* ethaddr can be reprogrammed */
-#define CONFIG_KM_COMMON_ETH_INIT /* standard km ethernet_present for piggy */
+#define CONFIG_KM_COMMON_ETH_INIT 1 /* standard km ethernet_present for piggy */
 
 /*
  * I2C related stuff
diff --git a/include/configs/km_kirkwood.h b/include/configs/km_kirkwood.h
index e7b12d0dca..d0324573b1 100644
--- a/include/configs/km_kirkwood.h
+++ b/include/configs/km_kirkwood.h
@@ -30,7 +30,7 @@
 #elif defined(CONFIG_KM_KIRKWOOD_PCI)
 #define CONFIG_HOSTNAME			"km_kirkwood_pci"
 #define CONFIG_KM_IVM_BUS		1	/* I2C2 (Mux-Port 1)*/
-#define CONFIG_KM_FPGA_CONFIG
+#define CONFIG_KM_FPGA_CONFIG 1
 #define CONFIG_KM_UBI_PART_BOOT_OPTS		",2048"
 #define CONFIG_SYS_NAND_NO_SUBPAGE_WRITE
 
@@ -55,10 +55,10 @@
 
 #undef CONFIG_SYS_KWD_CONFIG
 #define CONFIG_SYS_KWD_CONFIG $(CONFIG_BOARDDIR)/kwbimage_128M16_1.cfg
-#define CONFIG_KM_ENV_IS_IN_SPI_NOR
-#define CONFIG_KM_FPGA_CONFIG
-#define CONFIG_KM_PIGGY4_88E6352
-#define CONFIG_MV88E6352_SWITCH
+#define CONFIG_KM_ENV_IS_IN_SPI_NOR 1
+#define CONFIG_KM_FPGA_CONFIG 1
+#define CONFIG_KM_PIGGY4_88E6352 1
+#define CONFIG_MV88E6352_SWITCH 1
 #define CONFIG_KM_MVEXTSW_ADDR		0x10
 
 /* KM_MGCOGE3UN */
@@ -70,24 +70,24 @@
 #define CONFIG_KM_BOARD_EXTRA_ENV	"waitforne=true\0"
 #define CONFIG_PIGGY_MAC_ADRESS_OFFSET  3
 #define CONFIG_KM_DISABLE_PCIE
-#define CONFIG_KM_PIGGY4_88E6061
+#define CONFIG_KM_PIGGY4_88E6061 1
 
 /* KMCOGE5UN */
 #elif defined(CONFIG_KM_COGE5UN)
 #define CONFIG_KM_IVM_BUS		1	/* I2C2 (Mux-Port 1)*/
 #undef	CONFIG_SYS_KWD_CONFIG
 #define CONFIG_SYS_KWD_CONFIG $(CONFIG_BOARDDIR)/kwbimage_256M8_1.cfg
-#define CONFIG_KM_ENV_IS_IN_SPI_NOR
+#define CONFIG_KM_ENV_IS_IN_SPI_NOR 1
 #define CONFIG_PIGGY_MAC_ADRESS_OFFSET	3
 #define CONFIG_HOSTNAME			"kmcoge5un"
 #define CONFIG_KM_DISABLE_PCIE
-#define CONFIG_KM_PIGGY4_88E6352
+#define CONFIG_KM_PIGGY4_88E6352 1
 
 /* KM_PORTL2 */
 #elif defined(CONFIG_KM_PORTL2)
 #define CONFIG_HOSTNAME			"portl2"
 #define CONFIG_KM_IVM_BUS		1	/* I2C2 (Mux-Port 1)*/
-#define CONFIG_KM_PIGGY4_88E6061
+#define CONFIG_KM_PIGGY4_88E6061 1
 
 /* KM_SUV31 */
 #elif defined(CONFIG_KM_SUV31)
@@ -95,8 +95,8 @@
 #define CONFIG_HOSTNAME			"kmsuv31"
 #undef CONFIG_SYS_KWD_CONFIG
 #define CONFIG_SYS_KWD_CONFIG $(CONFIG_BOARDDIR)/kwbimage_128M16_1.cfg
-#define CONFIG_KM_ENV_IS_IN_SPI_NOR
-#define CONFIG_KM_FPGA_CONFIG
+#define CONFIG_KM_ENV_IS_IN_SPI_NOR 1
+#define CONFIG_KM_FPGA_CONFIG 1
 #define CONFIG_KM_UBI_PART_BOOT_OPTS		",2048"
 #define CONFIG_SYS_NAND_NO_SUBPAGE_WRITE
 #else
diff --git a/include/configs/kmvect1.h b/include/configs/kmvect1.h
index 6e5d50700c..3049521757 100644
--- a/include/configs/kmvect1.h
+++ b/include/configs/kmvect1.h
@@ -37,7 +37,7 @@
 /*
  * QE UEC ethernet configuration
  */
-#define CONFIG_MV88E6352_SWITCH
+#define CONFIG_MV88E6352_SWITCH 1
 #define CONFIG_KM_MVEXTSW_ADDR		0x10
 
 /* ethernet port connected to simple switch 88e6122 (UEC0) */
-- 
2.21.0



More information about the U-Boot mailing list