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