Add and enable direct PNOR access mode

This avoids having to cache the PNOR at BMC startup, at
a small IPL speed cost.
parent 16c64e37
// © 2020 Raptor Engineering, LLC
// © 2020 - 2021 Raptor Engineering, LLC
//
// Released under the terms of the GPL v3
// See the LICENSE file for full details
......@@ -115,6 +115,9 @@
#define HIOMAP_SUGGESTED_TIMEOUT_S 15
#define HIOMAP_PNOR_DEVICE_COUNT 1
#define HIOMAP_MAX_DIRTY_RANGES 128
#define HIOMAP_MAX_WRITE_WINDOWS 128
// 4k block size
// Requires subsector erase capability
#define FLASH_BLOCK_SIZE_SHIFT 12
......@@ -143,6 +146,14 @@ typedef struct hiomap_pnor_dirty_range
uint8_t erased;
} hiomap_pnor_dirty_range_t;
typedef struct hiomap_pnor_write_window
{
uint32_t start_address;
uint32_t bytes;
uint8_t active;
uint8_t *buffer;
} hiomap_pnor_write_window_t;
typedef struct hiomap_configuration_data
{
uint8_t protocol_version;
......@@ -151,7 +162,9 @@ typedef struct hiomap_configuration_data
uint8_t active_device_id;
uint8_t window_type;
uint8_t dirty_range_count;
hiomap_pnor_dirty_range_t dirty_ranges[128];
hiomap_pnor_dirty_range_t dirty_ranges[HIOMAP_MAX_DIRTY_RANGES];
uint8_t write_window_count;
hiomap_pnor_write_window_t write_windows[HIOMAP_MAX_WRITE_WINDOWS];
} hiomap_configuration_data_t;
typedef struct __attribute__((packed)) ipmi_request_message
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment