Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'at24-updates-for-v6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux into i2c/for-mergewindow

at24 updates for v6.13-rc1

- add support for the lockable page on ST M24256E

+6
+2
Documentation/devicetree/bindings/eeprom/at24.yaml
··· 141 141 - const: microchip,24aa025e48 142 142 - items: 143 143 - const: microchip,24aa025e64 144 + - items: 145 + - const: st,24256e-wl 144 146 - pattern: '^atmel,24c(32|64)d-wl$' # Actual vendor is st 145 147 146 148 label:
+4
drivers/misc/eeprom/at24.c
··· 207 207 AT24_FLAG_ADDR16 | AT24_FLAG_SERIAL | AT24_FLAG_READONLY); 208 208 AT24_CHIP_DATA(at24_data_24c128, 131072 / 8, AT24_FLAG_ADDR16); 209 209 AT24_CHIP_DATA(at24_data_24c256, 262144 / 8, AT24_FLAG_ADDR16); 210 + /* M24256E Additional Write lockable page (M24256E-F order codes) */ 211 + AT24_CHIP_DATA(at24_data_24256e_wlp, 64, AT24_FLAG_ADDR16); 210 212 AT24_CHIP_DATA(at24_data_24c512, 524288 / 8, AT24_FLAG_ADDR16); 211 213 AT24_CHIP_DATA(at24_data_24c1024, 1048576 / 8, AT24_FLAG_ADDR16); 212 214 AT24_CHIP_DATA_BS(at24_data_24c1025, 1048576 / 8, AT24_FLAG_ADDR16, 2); ··· 242 240 { "24cs64", (kernel_ulong_t)&at24_data_24cs64 }, 243 241 { "24c128", (kernel_ulong_t)&at24_data_24c128 }, 244 242 { "24c256", (kernel_ulong_t)&at24_data_24c256 }, 243 + { "24256e-wl", (kernel_ulong_t)&at24_data_24256e_wlp }, 245 244 { "24c512", (kernel_ulong_t)&at24_data_24c512 }, 246 245 { "24c1024", (kernel_ulong_t)&at24_data_24c1024 }, 247 246 { "24c1025", (kernel_ulong_t)&at24_data_24c1025 }, ··· 281 278 { .compatible = "atmel,24c2048", .data = &at24_data_24c2048 }, 282 279 { .compatible = "microchip,24aa025e48", .data = &at24_data_24aa025e48 }, 283 280 { .compatible = "microchip,24aa025e64", .data = &at24_data_24aa025e64 }, 281 + { .compatible = "st,24256e-wl", .data = &at24_data_24256e_wlp }, 284 282 { /* END OF LIST */ }, 285 283 }; 286 284 MODULE_DEVICE_TABLE(of, at24_of_match);