mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 07:12:09 +00:00
PCI/switchtec: Separate Gen3 register structures into unions
Since the sys_info and flash_info registers differ significantly in Gen4 hardware, separate out the Gen3 registers into their own structure with a union in the main structure. No functional changes intended. Link: https://lore.kernel.org/r/20200115035648.2578-5-logang@deltatee.com Signed-off-by: Logan Gunthorpe <logang@deltatee.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
parent
6a3d1b542c
commit
993d208daa
2 changed files with 54 additions and 25 deletions
|
@ -108,10 +108,7 @@ enum {
|
|||
SWITCHTEC_GEN3_IMG1_RUNNING = 0x07,
|
||||
};
|
||||
|
||||
struct sys_info_regs {
|
||||
u32 device_id;
|
||||
u32 device_version;
|
||||
u32 firmware_version;
|
||||
struct sys_info_regs_gen3 {
|
||||
u32 reserved1;
|
||||
u32 vendor_table_revision;
|
||||
u32 table_format_version;
|
||||
|
@ -128,26 +125,36 @@ struct sys_info_regs {
|
|||
u8 component_revision;
|
||||
} __packed;
|
||||
|
||||
struct flash_info_regs {
|
||||
struct sys_info_regs {
|
||||
u32 device_id;
|
||||
u32 device_version;
|
||||
u32 firmware_version;
|
||||
union {
|
||||
struct sys_info_regs_gen3 gen3;
|
||||
};
|
||||
} __packed;
|
||||
|
||||
struct partition_info {
|
||||
u32 address;
|
||||
u32 length;
|
||||
};
|
||||
|
||||
struct flash_info_regs_gen3 {
|
||||
u32 flash_part_map_upd_idx;
|
||||
|
||||
struct active_partition_info {
|
||||
struct active_partition_info_gen3 {
|
||||
u32 address;
|
||||
u32 build_version;
|
||||
u32 build_string;
|
||||
} active_img;
|
||||
|
||||
struct active_partition_info active_cfg;
|
||||
struct active_partition_info inactive_img;
|
||||
struct active_partition_info inactive_cfg;
|
||||
struct active_partition_info_gen3 active_cfg;
|
||||
struct active_partition_info_gen3 inactive_img;
|
||||
struct active_partition_info_gen3 inactive_cfg;
|
||||
|
||||
u32 flash_length;
|
||||
|
||||
struct partition_info {
|
||||
u32 address;
|
||||
u32 length;
|
||||
} cfg0;
|
||||
|
||||
struct partition_info cfg0;
|
||||
struct partition_info cfg1;
|
||||
struct partition_info img0;
|
||||
struct partition_info img1;
|
||||
|
@ -155,6 +162,12 @@ struct flash_info_regs {
|
|||
struct partition_info vendor[8];
|
||||
};
|
||||
|
||||
struct flash_info_regs {
|
||||
union {
|
||||
struct flash_info_regs_gen3 gen3;
|
||||
};
|
||||
};
|
||||
|
||||
enum {
|
||||
SWITCHTEC_NTB_REG_INFO_OFFSET = 0x0000,
|
||||
SWITCHTEC_NTB_REG_CTRL_OFFSET = 0x4000,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue