1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | #ifndef _PPC_BOOT_PLANETCORE_H_ |
3 | #define _PPC_BOOT_PLANETCORE_H_ |
4 | |
5 | #include "types.h" |
6 | |
7 | #define PLANETCORE_KEY_BOARD_TYPE "BO" |
8 | #define PLANETCORE_KEY_BOARD_REV "BR" |
9 | #define PLANETCORE_KEY_MB_RAM "D1" |
10 | #define PLANETCORE_KEY_MAC_ADDR "EA" |
11 | #define PLANETCORE_KEY_FLASH_SPEED "FS" |
12 | #define PLANETCORE_KEY_IP_ADDR "IP" |
13 | #define PLANETCORE_KEY_KB_NVRAM "NV" |
14 | #define PLANETCORE_KEY_PROCESSOR "PR" |
15 | #define PLANETCORE_KEY_PROC_VARIANT "PV" |
16 | #define PLANETCORE_KEY_SERIAL_BAUD "SB" |
17 | #define PLANETCORE_KEY_SERIAL_PORT "SP" |
18 | #define PLANETCORE_KEY_SWITCH "SW" |
19 | #define PLANETCORE_KEY_TEMP_OFFSET "TC" |
20 | #define PLANETCORE_KEY_TARGET_IP "TIP" |
21 | #define PLANETCORE_KEY_CRYSTAL_HZ "XT" |
22 | |
23 | /* Prepare the table for processing, by turning all newlines |
24 | * into NULL bytes. |
25 | */ |
26 | void planetcore_prepare_table(char *table); |
27 | |
28 | /* Return the value associated with a given key in text, |
29 | * decimal, or hex format. |
30 | * |
31 | * Returns zero/NULL on failure, non-zero on success. |
32 | */ |
33 | const char *planetcore_get_key(const char *table, const char *key); |
34 | int planetcore_get_decimal(const char *table, const char *key, u64 *val); |
35 | int planetcore_get_hex(const char *table, const char *key, u64 *val); |
36 | |
37 | /* Updates the device tree local-mac-address properties based |
38 | * on the EA tag. |
39 | */ |
40 | void planetcore_set_mac_addrs(const char *table); |
41 | |
42 | /* Sets the linux,stdout-path in the /chosen node. This requires the |
43 | * linux,planetcore-label property in each serial node. |
44 | */ |
45 | void planetcore_set_stdout_path(const char *table); |
46 | |
47 | #endif |
48 | |