1# SPDX-License-Identifier: GPL-2.0+
2#
3# Copyright (C) 2019, Pascal Linder <pascal.linder@edu.hefr.ch>
4
5config VENDOR_KM
6	bool
7	help
8	  Selected by any KM board to have additional configurations.
9
10if VENDOR_KM
11
12menu "KM Board Setup"
13
14config HUSH_INIT_VAR
15	def_bool y
16
17config KM_PNVRAM
18	hex "Pseudo RAM"
19	default 0x80000
20	depends on !ARCH_SOCFPGA
21	help
22	  Start address of the pseudo non-volatile RAM for application.
23
24config KM_PHRAM
25	hex "Physical RAM"
26	default 0x17F000 if ARM && !ARCH_LS1021A
27	default 0x100000 if PPC || ARCH_LS1021A
28	depends on !ARCH_SOCFPGA
29	help
30	  Start address of the physical RAM, which is the mounted /var folder.
31
32config KM_CRAMFS_ADDR
33	hex "CRAMFS Address"
34	default 0x83000000 if ARCH_LS1021A
35	default 0x3000000
36	depends on !ARCH_SOCFPGA
37	help
38	  Start address of the CRAMFS containing the Linux kernel.
39
40config KM_KERNEL_ADDR
41	hex "Kernel Load Address"
42	default 0x82000000 if ARCH_LS1021A
43	default 0x2000000
44	help
45	  Address where to load Linux kernel in RAM.
46
47config KM_FDT_ADDR
48	hex "FDT Load Address"
49	default 0x82FC0000 if ARCH_LS1021A
50	default 0x2FC0000
51	help
52	  Address where to load flattened device tree in RAM.
53
54config SYS_PAX_BASE
55	hex "PAX IFC Base Address"
56	default 0x78000000
57	depends on ARCH_LS1021A
58	help
59	  IFC Base Address for PAXx FPGA.
60
61config SYS_CLIPS_BASE
62	hex "CLIPS IFC Base Address"
63	default 0x78000000
64	depends on ARCH_LS1021A
65	help
66	  IFC Base Address for CLIPS FPGA.
67
68config KM_COMMON_ETH_INIT
69	bool "Common Ethernet Initialization"
70	default y if MPC83xx
71	default n if MPC85xx || ARCH_SOCFPGA || ARCH_LS1021A
72	help
73	  Use the Ethernet initialization implemented in common code that
74	  detects if a Piggy board is present.
75
76config PIGGY_MAC_ADDRESS_OFFSET
77	int "Piggy Address Offset"
78	default 0
79	help
80	  MAC address offset for the Piggy board.
81
82config KM_MVEXTSW_ADDR
83	hex "Marvell Switch Address"
84	depends on MV88E6352_SWITCH
85	default 0x10
86	help
87	  Address of external Marvell switch.
88
89config KM_IVM_BUS
90	int "IVM I2C Bus"
91	default 0 if ARCH_SOCFPGA
92	default 1 if PPC || ARCH_LS1021A
93	help
94	  Identifier number of I2C bus, where the inventory EEPROM is connected to.
95
96config SYS_IVM_EEPROM_ADR
97	hex "IVM I2C Address"
98	default 0x50
99	help
100	  I2C address of the EEPROM containing the inventory.
101
102config SYS_IVM_EEPROM_MAX_LEN
103	hex "IVM Length"
104	default 0x400
105	help
106	  Maximum length of inventory in EEPROM.
107
108config SYS_IVM_EEPROM_PAGE_LEN
109	hex "IVM Page Size"
110	default 0x100
111	help
112	  Page size of inventory in EEPROM.
113
114config PG_WCOM_UBOOT_UPDATE_SUPPORTED
115	bool "Enable U-Boot Field Fail-Safe Update Functionality"
116	select EVENT
117	help
118	  Indicates that field fail-safe u-boot update is supported.
119	  This functionality works only for designs that are booting
120	  from parallel NOR flash.
121
122config PG_WCOM_UBOOT_BOOTPACKAGE
123	bool "U-Boot Is Part Of Factory Boot-Package Image"
124	help
125	  Indicates that u-boot will be a part of the factory programmed
126	  boot-package image.
127	  Has to be set for original u-boot programmed at factory.
128
129config PG_WCOM_UBOOT_UPDATE_TEXT_BASE
130	hex "Text Base For U-Boot Programmed Outside Factory"
131	default 0xFFFFFFFF
132	help
133	  Text base of an updated u-boot that is not factory programmed but
134	  later when the unit is rolled out on the field.
135	  Has to be set for original u-boot programmed at factory.
136
137config PG_WCOM_UBOOT_UPDATE
138	bool "U-Boot Is Part Of Factory Boot-Package Image"
139	help
140	  Indicates that u-boot will be a part of the embedded software and
141	  programmed at field.
142	  Has to be set for updated u-boot version programmed at field.
143
144source "board/keymile/km83xx/Kconfig"
145source "board/keymile/kmcent2/Kconfig"
146source "board/keymile/pg-wcom-ls102xa/Kconfig"
147
148endmenu
149
150endif
151