mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-27 03:21:15 +00:00
Extend available EEPROM driver config
This commit is contained in:
parent
bf6f13a2b0
commit
668c29ca52
@ -50,6 +50,9 @@
|
|||||||
"DYNAMIC_KEYMAP_LAYER_COUNT": {"info_key": "dynamic_keymap.layer_count", "value_type": "int"},
|
"DYNAMIC_KEYMAP_LAYER_COUNT": {"info_key": "dynamic_keymap.layer_count", "value_type": "int"},
|
||||||
|
|
||||||
// EEPROM
|
// EEPROM
|
||||||
|
"EXTERNAL_EEPROM_WP_PIN": {"info_key": "eeprom.i2c.write_protect_pin"},
|
||||||
|
"EXTERNAL_EEPROM_I2C_BASE_ADDRESS": {"info_key": "eeprom.i2c.address", "to_json": false},
|
||||||
|
"EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN": {"info_key": "eeprom.spi.chip_select_pin"},
|
||||||
"WEAR_LEVELING_BACKING_SIZE": {"info_key": "eeprom.wear_leveling.backing_size", "value_type": "int", "to_json": false},
|
"WEAR_LEVELING_BACKING_SIZE": {"info_key": "eeprom.wear_leveling.backing_size", "value_type": "int", "to_json": false},
|
||||||
"WEAR_LEVELING_LOGICAL_SIZE": {"info_key": "eeprom.wear_leveling.logical_size", "value_type": "int", "to_json": false},
|
"WEAR_LEVELING_LOGICAL_SIZE": {"info_key": "eeprom.wear_leveling.logical_size", "value_type": "int", "to_json": false},
|
||||||
|
|
||||||
|
@ -248,6 +248,23 @@
|
|||||||
"eeprom": {
|
"eeprom": {
|
||||||
"properties": {
|
"properties": {
|
||||||
"driver": {"type": "string"},
|
"driver": {"type": "string"},
|
||||||
|
"i2c": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": false,
|
||||||
|
"properties": {
|
||||||
|
"device": {"type": "string"},
|
||||||
|
"address": {"$ref": "qmk.definitions.v1#/hex_number_2d"},
|
||||||
|
"write_protect_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spi": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": false,
|
||||||
|
"properties": {
|
||||||
|
"device": {"type": "string"},
|
||||||
|
"chip_select_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}
|
||||||
|
}
|
||||||
|
},
|
||||||
"wear_leveling": {
|
"wear_leveling": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
|
@ -10,10 +10,6 @@
|
|||||||
#define I2C1_SCL_PIN A9
|
#define I2C1_SCL_PIN A9
|
||||||
#define I2C1_SDA_PIN A10
|
#define I2C1_SDA_PIN A10
|
||||||
|
|
||||||
#define EXTERNAL_EEPROM_I2C_BASE_ADDRESS 0b10101000
|
|
||||||
#define EXTERNAL_EEPROM_WP_PIN B5
|
|
||||||
#define EEPROM_I2C_24LC256
|
|
||||||
|
|
||||||
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_VCC
|
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_VCC
|
||||||
#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_VCC_VCC
|
#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_VCC_VCC
|
||||||
#define IS31FL3733_DRIVER_COUNT 2
|
#define IS31FL3733_DRIVER_COUNT 2
|
||||||
|
@ -15,7 +15,12 @@
|
|||||||
"device_version": "2.0.0"
|
"device_version": "2.0.0"
|
||||||
},
|
},
|
||||||
"eeprom": {
|
"eeprom": {
|
||||||
"driver": "i2c"
|
"driver": "i2c",
|
||||||
|
"i2c": {
|
||||||
|
"device": "24lc256",
|
||||||
|
"address": "0xA8",
|
||||||
|
"write_protect_pin": "B5"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"features": {
|
"features": {
|
||||||
"rgb_matrix": true,
|
"rgb_matrix": true,
|
||||||
|
@ -5,10 +5,6 @@
|
|||||||
#define I2C1_SCL_PIN B8
|
#define I2C1_SCL_PIN B8
|
||||||
#define I2C1_SDA_PIN B9
|
#define I2C1_SDA_PIN B9
|
||||||
|
|
||||||
#define EXTERNAL_EEPROM_I2C_BASE_ADDRESS 0b10101000
|
|
||||||
#define EXTERNAL_EEPROM_WP_PIN B7
|
|
||||||
#define EEPROM_I2C_24LC256
|
|
||||||
|
|
||||||
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
|
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
|
||||||
#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_VCC_VCC
|
#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_VCC_VCC
|
||||||
#define IS31FL3733_DRIVER_COUNT 2
|
#define IS31FL3733_DRIVER_COUNT 2
|
||||||
|
@ -15,7 +15,12 @@
|
|||||||
"device_version": "1.0.0"
|
"device_version": "1.0.0"
|
||||||
},
|
},
|
||||||
"eeprom": {
|
"eeprom": {
|
||||||
"driver": "i2c"
|
"driver": "i2c",
|
||||||
|
"i2c": {
|
||||||
|
"device": "24lc256",
|
||||||
|
"address": "0xA8",
|
||||||
|
"write_protect_pin": "B5"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"features": {
|
"features": {
|
||||||
"rgb_matrix": true,
|
"rgb_matrix": true,
|
||||||
|
@ -10,10 +10,6 @@
|
|||||||
#define I2C1_SCL_PIN A9
|
#define I2C1_SCL_PIN A9
|
||||||
#define I2C1_SDA_PIN A10
|
#define I2C1_SDA_PIN A10
|
||||||
|
|
||||||
#define EXTERNAL_EEPROM_I2C_BASE_ADDRESS 0b10101000
|
|
||||||
#define EXTERNAL_EEPROM_WP_PIN B5
|
|
||||||
#define EEPROM_I2C_24LC256
|
|
||||||
|
|
||||||
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_VCC
|
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_VCC
|
||||||
#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_VCC_VCC
|
#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_VCC_VCC
|
||||||
#define IS31FL3733_DRIVER_COUNT 2
|
#define IS31FL3733_DRIVER_COUNT 2
|
||||||
|
@ -15,7 +15,12 @@
|
|||||||
"device_version": "2.0.0"
|
"device_version": "2.0.0"
|
||||||
},
|
},
|
||||||
"eeprom": {
|
"eeprom": {
|
||||||
"driver": "i2c"
|
"driver": "i2c",
|
||||||
|
"i2c": {
|
||||||
|
"device": "24lc256",
|
||||||
|
"address": "0xA8",
|
||||||
|
"write_protect_pin": "B5"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"features": {
|
"features": {
|
||||||
"rgb_matrix": true,
|
"rgb_matrix": true,
|
||||||
|
@ -5,10 +5,6 @@
|
|||||||
#define I2C1_SCL_PIN B8
|
#define I2C1_SCL_PIN B8
|
||||||
#define I2C1_SDA_PIN B9
|
#define I2C1_SDA_PIN B9
|
||||||
|
|
||||||
#define EXTERNAL_EEPROM_I2C_BASE_ADDRESS 0b10101000
|
|
||||||
#define EXTERNAL_EEPROM_WP_PIN B7
|
|
||||||
#define EEPROM_I2C_24LC256
|
|
||||||
|
|
||||||
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
|
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
|
||||||
#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_VCC_VCC
|
#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_VCC_VCC
|
||||||
#define IS31FL3733_DRIVER_COUNT 2
|
#define IS31FL3733_DRIVER_COUNT 2
|
||||||
|
@ -15,7 +15,12 @@
|
|||||||
"device_version": "1.0.0"
|
"device_version": "1.0.0"
|
||||||
},
|
},
|
||||||
"eeprom": {
|
"eeprom": {
|
||||||
"driver": "i2c"
|
"driver": "i2c",
|
||||||
|
"i2c": {
|
||||||
|
"device": "24lc256",
|
||||||
|
"address": "0xA8",
|
||||||
|
"write_protect_pin": "B5"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"features": {
|
"features": {
|
||||||
"rgb_matrix": true,
|
"rgb_matrix": true,
|
||||||
|
@ -10,10 +10,6 @@
|
|||||||
#define I2C1_SCL_PIN A9
|
#define I2C1_SCL_PIN A9
|
||||||
#define I2C1_SDA_PIN A10
|
#define I2C1_SDA_PIN A10
|
||||||
|
|
||||||
#define EXTERNAL_EEPROM_I2C_BASE_ADDRESS 0b10101000
|
|
||||||
#define EXTERNAL_EEPROM_WP_PIN B5
|
|
||||||
#define EEPROM_I2C_24LC256
|
|
||||||
|
|
||||||
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_VCC
|
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_VCC
|
||||||
#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_VCC_VCC
|
#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_VCC_VCC
|
||||||
#define IS31FL3733_I2C_ADDRESS_3 IS31FL3733_I2C_ADDRESS_GND_GND
|
#define IS31FL3733_I2C_ADDRESS_3 IS31FL3733_I2C_ADDRESS_GND_GND
|
||||||
|
@ -15,7 +15,12 @@
|
|||||||
"device_version": "2.0.0"
|
"device_version": "2.0.0"
|
||||||
},
|
},
|
||||||
"eeprom": {
|
"eeprom": {
|
||||||
"driver": "i2c"
|
"driver": "i2c",
|
||||||
|
"i2c": {
|
||||||
|
"device": "24lc256",
|
||||||
|
"address": "0xA8",
|
||||||
|
"write_protect_pin": "B5"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"features": {
|
"features": {
|
||||||
"rgb_matrix": true,
|
"rgb_matrix": true,
|
||||||
|
@ -110,6 +110,17 @@ def generate_config_items(kb_info_json, config_h_lines):
|
|||||||
config_h_lines.append(generate_define(config_key, config_value))
|
config_h_lines.append(generate_define(config_key, config_value))
|
||||||
|
|
||||||
|
|
||||||
|
def generate_eeprom_config(eeprom_json, config_h_lines):
|
||||||
|
"""Generate the config.h lines for eeprom."""
|
||||||
|
if 'driver' in eeprom_json:
|
||||||
|
driver = eeprom_json['driver']
|
||||||
|
if driver in eeprom_json:
|
||||||
|
driver_json = eeprom_json[driver]
|
||||||
|
if 'device' in driver_json:
|
||||||
|
device = driver_json['device']
|
||||||
|
config_h_lines.append(generate_define(f'EEPROM_{driver.upper()}_{device.upper()}'))
|
||||||
|
|
||||||
|
|
||||||
def generate_encoder_config(encoder_json, config_h_lines, postfix=''):
|
def generate_encoder_config(encoder_json, config_h_lines, postfix=''):
|
||||||
"""Generate the config.h lines for encoders."""
|
"""Generate the config.h lines for encoders."""
|
||||||
a_pads = []
|
a_pads = []
|
||||||
@ -199,6 +210,9 @@ def generate_config_h(cli):
|
|||||||
if 'matrix_pins' in kb_info_json:
|
if 'matrix_pins' in kb_info_json:
|
||||||
config_h_lines.append(matrix_pins(kb_info_json['matrix_pins']))
|
config_h_lines.append(matrix_pins(kb_info_json['matrix_pins']))
|
||||||
|
|
||||||
|
if 'eeprom' in kb_info_json:
|
||||||
|
generate_eeprom_config(kb_info_json['eeprom'], config_h_lines)
|
||||||
|
|
||||||
if 'encoder' in kb_info_json:
|
if 'encoder' in kb_info_json:
|
||||||
generate_encoder_config(kb_info_json['encoder'], config_h_lines)
|
generate_encoder_config(kb_info_json['encoder'], config_h_lines)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user