Alessandro Zini | a3302ae | 2024-11-23 17:52:59 +0100 | [diff] [blame^] | 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
| 2 | /* |
| 3 | * Common board functions for siemens based boards |
| 4 | * (C) Copyright 2022 Siemens Schweiz AG |
| 5 | */ |
| 6 | |
| 7 | #ifndef __COMMON_BOARD_H |
| 8 | #define __COMMON_BOARD_H |
| 9 | |
| 10 | /* |
| 11 | * Chip data |
| 12 | * Offset in EEPROM: 0x120 - 0x14F |
| 13 | * |
| 14 | * ----------------------------------------------------------------------------------- |
| 15 | * | Address range | Content | |
| 16 | * ----------------------------------------------------------------------------------- |
| 17 | * | 0x120 - 0x123 | Magic Number - 0x43484950 (4 byte) | |
| 18 | * ----------------------------------------------------------------------------------- |
| 19 | * | 0x124 - 0x133 | Device Nomenclature (15 + 1 byte) | |
| 20 | * ----------------------------------------------------------------------------------- |
| 21 | * | 0x134 - 0x13A | HW Version of the form "v00.00" (6 + 1 byte) | |
| 22 | * | | - First 2 digits: Layout revision (starting from 1) | |
| 23 | * | | - Last 2 digits: Assembly variant revision (starting from 1) | |
| 24 | * ----------------------------------------------------------------------------------- |
| 25 | * | 0x13B - 0x13F | Flash Size in Gibit (4 + 1 byte) | |
| 26 | * ----------------------------------------------------------------------------------- |
| 27 | * | 0x140 - 0x144 | Ram Size in Gibit (4 + 1 byte) | |
| 28 | * ----------------------------------------------------------------------------------- |
| 29 | * | 0x145 - 0x14F | Sequence number, equals DMC-code (10 + 1 byte) [OBSOLETE] | |
| 30 | * ----------------------------------------------------------------------------------- |
| 31 | */ |
| 32 | |
| 33 | #define MAGIC_CHIP 0x50494843 |
| 34 | #define EEPROM_CHIP_OFFSET 0x120 |
| 35 | |
| 36 | struct chip_data { |
| 37 | unsigned int magic; |
| 38 | char sdevname[16]; |
| 39 | char shwver[7]; |
| 40 | char flash_size[5]; |
| 41 | char ram_size[5]; |
| 42 | }; |
| 43 | |
| 44 | #endif /* __COMMON_BOARD_H */ |