diff --git a/data/chips/STM32U031C6.json b/data/chips/STM32U031C6.json
index 590d02d..4c769e7 100644
--- a/data/chips/STM32U031C6.json
+++ b/data/chips/STM32U031C6.json
@@ -114,7 +114,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -200,6 +205,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -1279,6 +1289,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
diff --git a/data/chips/STM32U031C8.json b/data/chips/STM32U031C8.json
index e3e122f..d13f58a 100644
--- a/data/chips/STM32U031C8.json
+++ b/data/chips/STM32U031C8.json
@@ -114,7 +114,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -200,6 +205,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -1279,6 +1289,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
diff --git a/data/chips/STM32U031F4.json b/data/chips/STM32U031F4.json
index 117db70..d928774 100644
--- a/data/chips/STM32U031F4.json
+++ b/data/chips/STM32U031F4.json
@@ -110,7 +110,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -187,6 +192,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -1165,6 +1175,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
diff --git a/data/chips/STM32U031F6.json b/data/chips/STM32U031F6.json
index 27768d4..cb31fd1 100644
--- a/data/chips/STM32U031F6.json
+++ b/data/chips/STM32U031F6.json
@@ -110,7 +110,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -187,6 +192,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -1165,6 +1175,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
diff --git a/data/chips/STM32U031F8.json b/data/chips/STM32U031F8.json
index 95cc607..ef64de8 100644
--- a/data/chips/STM32U031F8.json
+++ b/data/chips/STM32U031F8.json
@@ -110,7 +110,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -187,6 +192,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -1165,6 +1175,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
diff --git a/data/chips/STM32U031G6.json b/data/chips/STM32U031G6.json
index 1843d8a..0e7690c 100644
--- a/data/chips/STM32U031G6.json
+++ b/data/chips/STM32U031G6.json
@@ -110,7 +110,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -187,6 +192,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -1120,6 +1130,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
diff --git a/data/chips/STM32U031G8.json b/data/chips/STM32U031G8.json
index 01dd54d..933c219 100644
--- a/data/chips/STM32U031G8.json
+++ b/data/chips/STM32U031G8.json
@@ -110,7 +110,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -187,6 +192,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -1120,6 +1130,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
diff --git a/data/chips/STM32U031K4.json b/data/chips/STM32U031K4.json
index 594b714..75c1c4b 100644
--- a/data/chips/STM32U031K4.json
+++ b/data/chips/STM32U031K4.json
@@ -110,7 +110,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -187,6 +192,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -1150,6 +1160,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
diff --git a/data/chips/STM32U031K6.json b/data/chips/STM32U031K6.json
index 3e9f997..1ba0a8e 100644
--- a/data/chips/STM32U031K6.json
+++ b/data/chips/STM32U031K6.json
@@ -110,7 +110,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -187,6 +192,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -1150,6 +1160,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
diff --git a/data/chips/STM32U031K8.json b/data/chips/STM32U031K8.json
index 1173b29..033b857 100644
--- a/data/chips/STM32U031K8.json
+++ b/data/chips/STM32U031K8.json
@@ -110,7 +110,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -187,6 +192,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -1150,6 +1160,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
diff --git a/data/chips/STM32U031R6.json b/data/chips/STM32U031R6.json
index a206148..18b62b7 100644
--- a/data/chips/STM32U031R6.json
+++ b/data/chips/STM32U031R6.json
@@ -138,7 +138,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -236,6 +241,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -1399,6 +1409,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
diff --git a/data/chips/STM32U031R8.json b/data/chips/STM32U031R8.json
index 4f7f5f5..2791c1a 100644
--- a/data/chips/STM32U031R8.json
+++ b/data/chips/STM32U031R8.json
@@ -138,7 +138,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -236,6 +241,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -1399,6 +1409,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
diff --git a/data/chips/STM32U073C8.json b/data/chips/STM32U073C8.json
index 0beee34..b6428c2 100644
--- a/data/chips/STM32U073C8.json
+++ b/data/chips/STM32U073C8.json
@@ -114,7 +114,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -264,6 +269,11 @@
                 {
                     "name": "CRS",
                     "address": 1073769472,
+                    "registers": {
+                        "kind": "crs",
+                        "version": "v1",
+                        "block": "CRS"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -287,6 +297,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -1869,6 +1884,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
@@ -3415,6 +3435,11 @@
                 {
                     "name": "USB",
                     "address": 1073765376,
+                    "registers": {
+                        "kind": "usb",
+                        "version": "v4",
+                        "block": "USB"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": {
@@ -3462,7 +3487,12 @@
                 },
                 {
                     "name": "USBRAM",
-                    "address": 1073780736
+                    "address": 1073780736,
+                    "registers": {
+                        "kind": "usbram",
+                        "version": "32_1024",
+                        "block": "USBRAM"
+                    }
                 },
                 {
                     "name": "VREFBUF",
diff --git a/data/chips/STM32U073CB.json b/data/chips/STM32U073CB.json
index 1609657..3abb371 100644
--- a/data/chips/STM32U073CB.json
+++ b/data/chips/STM32U073CB.json
@@ -114,7 +114,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -264,6 +269,11 @@
                 {
                     "name": "CRS",
                     "address": 1073769472,
+                    "registers": {
+                        "kind": "crs",
+                        "version": "v1",
+                        "block": "CRS"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -287,6 +297,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -1869,6 +1884,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
@@ -3415,6 +3435,11 @@
                 {
                     "name": "USB",
                     "address": 1073765376,
+                    "registers": {
+                        "kind": "usb",
+                        "version": "v4",
+                        "block": "USB"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": {
@@ -3462,7 +3487,12 @@
                 },
                 {
                     "name": "USBRAM",
-                    "address": 1073780736
+                    "address": 1073780736,
+                    "registers": {
+                        "kind": "usbram",
+                        "version": "32_1024",
+                        "block": "USBRAM"
+                    }
                 },
                 {
                     "name": "VREFBUF",
diff --git a/data/chips/STM32U073CC.json b/data/chips/STM32U073CC.json
index 1e3d8a1..653bc0b 100644
--- a/data/chips/STM32U073CC.json
+++ b/data/chips/STM32U073CC.json
@@ -114,7 +114,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -264,6 +269,11 @@
                 {
                     "name": "CRS",
                     "address": 1073769472,
+                    "registers": {
+                        "kind": "crs",
+                        "version": "v1",
+                        "block": "CRS"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -287,6 +297,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -1869,6 +1884,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
@@ -3415,6 +3435,11 @@
                 {
                     "name": "USB",
                     "address": 1073765376,
+                    "registers": {
+                        "kind": "usb",
+                        "version": "v4",
+                        "block": "USB"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": {
@@ -3462,7 +3487,12 @@
                 },
                 {
                     "name": "USBRAM",
-                    "address": 1073780736
+                    "address": 1073780736,
+                    "registers": {
+                        "kind": "usbram",
+                        "version": "32_1024",
+                        "block": "USBRAM"
+                    }
                 },
                 {
                     "name": "VREFBUF",
diff --git a/data/chips/STM32U073H8.json b/data/chips/STM32U073H8.json
index 2b8e23c..309d654 100644
--- a/data/chips/STM32U073H8.json
+++ b/data/chips/STM32U073H8.json
@@ -110,7 +110,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -255,6 +260,11 @@
                 {
                     "name": "CRS",
                     "address": 1073769472,
+                    "registers": {
+                        "kind": "crs",
+                        "version": "v1",
+                        "block": "CRS"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -278,6 +288,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -1751,6 +1766,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
@@ -3163,6 +3183,11 @@
                 {
                     "name": "USB",
                     "address": 1073765376,
+                    "registers": {
+                        "kind": "usb",
+                        "version": "v4",
+                        "block": "USB"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": {
@@ -3210,7 +3235,12 @@
                 },
                 {
                     "name": "USBRAM",
-                    "address": 1073780736
+                    "address": 1073780736,
+                    "registers": {
+                        "kind": "usbram",
+                        "version": "32_1024",
+                        "block": "USBRAM"
+                    }
                 },
                 {
                     "name": "VREFBUF",
diff --git a/data/chips/STM32U073HB.json b/data/chips/STM32U073HB.json
index e0f5ae2..c26b899 100644
--- a/data/chips/STM32U073HB.json
+++ b/data/chips/STM32U073HB.json
@@ -110,7 +110,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -255,6 +260,11 @@
                 {
                     "name": "CRS",
                     "address": 1073769472,
+                    "registers": {
+                        "kind": "crs",
+                        "version": "v1",
+                        "block": "CRS"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -278,6 +288,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -1751,6 +1766,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
@@ -3163,6 +3183,11 @@
                 {
                     "name": "USB",
                     "address": 1073765376,
+                    "registers": {
+                        "kind": "usb",
+                        "version": "v4",
+                        "block": "USB"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": {
@@ -3210,7 +3235,12 @@
                 },
                 {
                     "name": "USBRAM",
-                    "address": 1073780736
+                    "address": 1073780736,
+                    "registers": {
+                        "kind": "usbram",
+                        "version": "32_1024",
+                        "block": "USBRAM"
+                    }
                 },
                 {
                     "name": "VREFBUF",
diff --git a/data/chips/STM32U073HC.json b/data/chips/STM32U073HC.json
index e996fd2..17fc2ab 100644
--- a/data/chips/STM32U073HC.json
+++ b/data/chips/STM32U073HC.json
@@ -110,7 +110,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -255,6 +260,11 @@
                 {
                     "name": "CRS",
                     "address": 1073769472,
+                    "registers": {
+                        "kind": "crs",
+                        "version": "v1",
+                        "block": "CRS"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -278,6 +288,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -1751,6 +1766,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
@@ -3163,6 +3183,11 @@
                 {
                     "name": "USB",
                     "address": 1073765376,
+                    "registers": {
+                        "kind": "usb",
+                        "version": "v4",
+                        "block": "USB"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": {
@@ -3210,7 +3235,12 @@
                 },
                 {
                     "name": "USBRAM",
-                    "address": 1073780736
+                    "address": 1073780736,
+                    "registers": {
+                        "kind": "usbram",
+                        "version": "32_1024",
+                        "block": "USBRAM"
+                    }
                 },
                 {
                     "name": "VREFBUF",
diff --git a/data/chips/STM32U073K8.json b/data/chips/STM32U073K8.json
index cf03d77..22a59f9 100644
--- a/data/chips/STM32U073K8.json
+++ b/data/chips/STM32U073K8.json
@@ -110,7 +110,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -246,6 +251,11 @@
                 {
                     "name": "CRS",
                     "address": 1073769472,
+                    "registers": {
+                        "kind": "crs",
+                        "version": "v1",
+                        "block": "CRS"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -269,6 +279,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -1655,6 +1670,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
@@ -3018,6 +3038,11 @@
                 {
                     "name": "USB",
                     "address": 1073765376,
+                    "registers": {
+                        "kind": "usb",
+                        "version": "v4",
+                        "block": "USB"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": {
@@ -3065,7 +3090,12 @@
                 },
                 {
                     "name": "USBRAM",
-                    "address": 1073780736
+                    "address": 1073780736,
+                    "registers": {
+                        "kind": "usbram",
+                        "version": "32_1024",
+                        "block": "USBRAM"
+                    }
                 },
                 {
                     "name": "VREFBUF",
diff --git a/data/chips/STM32U073KB.json b/data/chips/STM32U073KB.json
index f83bf2d..3c7f84d 100644
--- a/data/chips/STM32U073KB.json
+++ b/data/chips/STM32U073KB.json
@@ -110,7 +110,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -246,6 +251,11 @@
                 {
                     "name": "CRS",
                     "address": 1073769472,
+                    "registers": {
+                        "kind": "crs",
+                        "version": "v1",
+                        "block": "CRS"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -269,6 +279,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -1655,6 +1670,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
@@ -3018,6 +3038,11 @@
                 {
                     "name": "USB",
                     "address": 1073765376,
+                    "registers": {
+                        "kind": "usb",
+                        "version": "v4",
+                        "block": "USB"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": {
@@ -3065,7 +3090,12 @@
                 },
                 {
                     "name": "USBRAM",
-                    "address": 1073780736
+                    "address": 1073780736,
+                    "registers": {
+                        "kind": "usbram",
+                        "version": "32_1024",
+                        "block": "USBRAM"
+                    }
                 },
                 {
                     "name": "VREFBUF",
diff --git a/data/chips/STM32U073KC.json b/data/chips/STM32U073KC.json
index 94c96ce..0aed7a7 100644
--- a/data/chips/STM32U073KC.json
+++ b/data/chips/STM32U073KC.json
@@ -110,7 +110,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -246,6 +251,11 @@
                 {
                     "name": "CRS",
                     "address": 1073769472,
+                    "registers": {
+                        "kind": "crs",
+                        "version": "v1",
+                        "block": "CRS"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -269,6 +279,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -1655,6 +1670,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
@@ -3018,6 +3038,11 @@
                 {
                     "name": "USB",
                     "address": 1073765376,
+                    "registers": {
+                        "kind": "usb",
+                        "version": "v4",
+                        "block": "USB"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": {
@@ -3065,7 +3090,12 @@
                 },
                 {
                     "name": "USBRAM",
-                    "address": 1073780736
+                    "address": 1073780736,
+                    "registers": {
+                        "kind": "usbram",
+                        "version": "32_1024",
+                        "block": "USBRAM"
+                    }
                 },
                 {
                     "name": "VREFBUF",
diff --git a/data/chips/STM32U073M8.json b/data/chips/STM32U073M8.json
index 6ce7c9c..27b9302 100644
--- a/data/chips/STM32U073M8.json
+++ b/data/chips/STM32U073M8.json
@@ -138,7 +138,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -304,6 +309,11 @@
                 {
                     "name": "CRS",
                     "address": 1073769472,
+                    "registers": {
+                        "kind": "crs",
+                        "version": "v1",
+                        "block": "CRS"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -327,6 +337,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -2328,6 +2343,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
@@ -4133,6 +4153,11 @@
                 {
                     "name": "USB",
                     "address": 1073765376,
+                    "registers": {
+                        "kind": "usb",
+                        "version": "v4",
+                        "block": "USB"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": {
@@ -4185,7 +4210,12 @@
                 },
                 {
                     "name": "USBRAM",
-                    "address": 1073780736
+                    "address": 1073780736,
+                    "registers": {
+                        "kind": "usbram",
+                        "version": "32_1024",
+                        "block": "USBRAM"
+                    }
                 },
                 {
                     "name": "VREFBUF",
diff --git a/data/chips/STM32U073MB.json b/data/chips/STM32U073MB.json
index 6a14049..32d0cda 100644
--- a/data/chips/STM32U073MB.json
+++ b/data/chips/STM32U073MB.json
@@ -138,7 +138,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -304,6 +309,11 @@
                 {
                     "name": "CRS",
                     "address": 1073769472,
+                    "registers": {
+                        "kind": "crs",
+                        "version": "v1",
+                        "block": "CRS"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -327,6 +337,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -2328,6 +2343,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
@@ -4133,6 +4153,11 @@
                 {
                     "name": "USB",
                     "address": 1073765376,
+                    "registers": {
+                        "kind": "usb",
+                        "version": "v4",
+                        "block": "USB"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": {
@@ -4185,7 +4210,12 @@
                 },
                 {
                     "name": "USBRAM",
-                    "address": 1073780736
+                    "address": 1073780736,
+                    "registers": {
+                        "kind": "usbram",
+                        "version": "32_1024",
+                        "block": "USBRAM"
+                    }
                 },
                 {
                     "name": "VREFBUF",
diff --git a/data/chips/STM32U073MC.json b/data/chips/STM32U073MC.json
index f4560e5..ee8978c 100644
--- a/data/chips/STM32U073MC.json
+++ b/data/chips/STM32U073MC.json
@@ -138,7 +138,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -304,6 +309,11 @@
                 {
                     "name": "CRS",
                     "address": 1073769472,
+                    "registers": {
+                        "kind": "crs",
+                        "version": "v1",
+                        "block": "CRS"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -327,6 +337,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -2328,6 +2343,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
@@ -4133,6 +4153,11 @@
                 {
                     "name": "USB",
                     "address": 1073765376,
+                    "registers": {
+                        "kind": "usb",
+                        "version": "v4",
+                        "block": "USB"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": {
@@ -4185,7 +4210,12 @@
                 },
                 {
                     "name": "USBRAM",
-                    "address": 1073780736
+                    "address": 1073780736,
+                    "registers": {
+                        "kind": "usbram",
+                        "version": "32_1024",
+                        "block": "USBRAM"
+                    }
                 },
                 {
                     "name": "VREFBUF",
diff --git a/data/chips/STM32U073R8.json b/data/chips/STM32U073R8.json
index 958d797..41730e5 100644
--- a/data/chips/STM32U073R8.json
+++ b/data/chips/STM32U073R8.json
@@ -138,7 +138,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -300,6 +305,11 @@
                 {
                     "name": "CRS",
                     "address": 1073769472,
+                    "registers": {
+                        "kind": "crs",
+                        "version": "v1",
+                        "block": "CRS"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -323,6 +333,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -2169,6 +2184,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
@@ -3859,6 +3879,11 @@
                 {
                     "name": "USB",
                     "address": 1073765376,
+                    "registers": {
+                        "kind": "usb",
+                        "version": "v4",
+                        "block": "USB"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": {
@@ -3911,7 +3936,12 @@
                 },
                 {
                     "name": "USBRAM",
-                    "address": 1073780736
+                    "address": 1073780736,
+                    "registers": {
+                        "kind": "usbram",
+                        "version": "32_1024",
+                        "block": "USBRAM"
+                    }
                 },
                 {
                     "name": "VREFBUF",
diff --git a/data/chips/STM32U073RB.json b/data/chips/STM32U073RB.json
index 51d51ba..b2a3b73 100644
--- a/data/chips/STM32U073RB.json
+++ b/data/chips/STM32U073RB.json
@@ -138,7 +138,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -300,6 +305,11 @@
                 {
                     "name": "CRS",
                     "address": 1073769472,
+                    "registers": {
+                        "kind": "crs",
+                        "version": "v1",
+                        "block": "CRS"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -323,6 +333,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -2169,6 +2184,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
@@ -3859,6 +3879,11 @@
                 {
                     "name": "USB",
                     "address": 1073765376,
+                    "registers": {
+                        "kind": "usb",
+                        "version": "v4",
+                        "block": "USB"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": {
@@ -3911,7 +3936,12 @@
                 },
                 {
                     "name": "USBRAM",
-                    "address": 1073780736
+                    "address": 1073780736,
+                    "registers": {
+                        "kind": "usbram",
+                        "version": "32_1024",
+                        "block": "USBRAM"
+                    }
                 },
                 {
                     "name": "VREFBUF",
diff --git a/data/chips/STM32U073RC.json b/data/chips/STM32U073RC.json
index 5b6a8de..ad08fbc 100644
--- a/data/chips/STM32U073RC.json
+++ b/data/chips/STM32U073RC.json
@@ -138,7 +138,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "COMP1",
@@ -300,6 +305,11 @@
                 {
                     "name": "CRS",
                     "address": 1073769472,
+                    "registers": {
+                        "kind": "crs",
+                        "version": "v1",
+                        "block": "CRS"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -323,6 +333,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -2169,6 +2184,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
@@ -3859,6 +3879,11 @@
                 {
                     "name": "USB",
                     "address": 1073765376,
+                    "registers": {
+                        "kind": "usb",
+                        "version": "v4",
+                        "block": "USB"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": {
@@ -3911,7 +3936,12 @@
                 },
                 {
                     "name": "USBRAM",
-                    "address": 1073780736
+                    "address": 1073780736,
+                    "registers": {
+                        "kind": "usbram",
+                        "version": "32_1024",
+                        "block": "USBRAM"
+                    }
                 },
                 {
                     "name": "VREFBUF",
diff --git a/data/chips/STM32U083CC.json b/data/chips/STM32U083CC.json
index e711825..9ab8229 100644
--- a/data/chips/STM32U083CC.json
+++ b/data/chips/STM32U083CC.json
@@ -114,7 +114,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "AES",
@@ -292,6 +297,11 @@
                 {
                     "name": "CRS",
                     "address": 1073769472,
+                    "registers": {
+                        "kind": "crs",
+                        "version": "v1",
+                        "block": "CRS"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -315,6 +325,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -1897,6 +1912,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
@@ -3443,6 +3463,11 @@
                 {
                     "name": "USB",
                     "address": 1073765376,
+                    "registers": {
+                        "kind": "usb",
+                        "version": "v4",
+                        "block": "USB"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": {
@@ -3490,7 +3515,12 @@
                 },
                 {
                     "name": "USBRAM",
-                    "address": 1073780736
+                    "address": 1073780736,
+                    "registers": {
+                        "kind": "usbram",
+                        "version": "32_1024",
+                        "block": "USBRAM"
+                    }
                 },
                 {
                     "name": "VREFBUF",
diff --git a/data/chips/STM32U083HC.json b/data/chips/STM32U083HC.json
index 74bdd0a..20c7ff9 100644
--- a/data/chips/STM32U083HC.json
+++ b/data/chips/STM32U083HC.json
@@ -110,7 +110,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "AES",
@@ -283,6 +288,11 @@
                 {
                     "name": "CRS",
                     "address": 1073769472,
+                    "registers": {
+                        "kind": "crs",
+                        "version": "v1",
+                        "block": "CRS"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -306,6 +316,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -1779,6 +1794,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
@@ -3191,6 +3211,11 @@
                 {
                     "name": "USB",
                     "address": 1073765376,
+                    "registers": {
+                        "kind": "usb",
+                        "version": "v4",
+                        "block": "USB"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": {
@@ -3238,7 +3263,12 @@
                 },
                 {
                     "name": "USBRAM",
-                    "address": 1073780736
+                    "address": 1073780736,
+                    "registers": {
+                        "kind": "usbram",
+                        "version": "32_1024",
+                        "block": "USBRAM"
+                    }
                 },
                 {
                     "name": "VREFBUF",
diff --git a/data/chips/STM32U083KC.json b/data/chips/STM32U083KC.json
index 6233ca4..56163be 100644
--- a/data/chips/STM32U083KC.json
+++ b/data/chips/STM32U083KC.json
@@ -110,7 +110,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "AES",
@@ -274,6 +279,11 @@
                 {
                     "name": "CRS",
                     "address": 1073769472,
+                    "registers": {
+                        "kind": "crs",
+                        "version": "v1",
+                        "block": "CRS"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -297,6 +307,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -1683,6 +1698,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
@@ -3046,6 +3066,11 @@
                 {
                     "name": "USB",
                     "address": 1073765376,
+                    "registers": {
+                        "kind": "usb",
+                        "version": "v4",
+                        "block": "USB"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": {
@@ -3093,7 +3118,12 @@
                 },
                 {
                     "name": "USBRAM",
-                    "address": 1073780736
+                    "address": 1073780736,
+                    "registers": {
+                        "kind": "usbram",
+                        "version": "32_1024",
+                        "block": "USBRAM"
+                    }
                 },
                 {
                     "name": "VREFBUF",
diff --git a/data/chips/STM32U083MC.json b/data/chips/STM32U083MC.json
index 39c078a..8a1a9b3 100644
--- a/data/chips/STM32U083MC.json
+++ b/data/chips/STM32U083MC.json
@@ -138,7 +138,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "AES",
@@ -332,6 +337,11 @@
                 {
                     "name": "CRS",
                     "address": 1073769472,
+                    "registers": {
+                        "kind": "crs",
+                        "version": "v1",
+                        "block": "CRS"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -355,6 +365,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -2356,6 +2371,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
@@ -4161,6 +4181,11 @@
                 {
                     "name": "USB",
                     "address": 1073765376,
+                    "registers": {
+                        "kind": "usb",
+                        "version": "v4",
+                        "block": "USB"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": {
@@ -4213,7 +4238,12 @@
                 },
                 {
                     "name": "USBRAM",
-                    "address": 1073780736
+                    "address": 1073780736,
+                    "registers": {
+                        "kind": "usbram",
+                        "version": "32_1024",
+                        "block": "USBRAM"
+                    }
                 },
                 {
                     "name": "VREFBUF",
diff --git a/data/chips/STM32U083RC.json b/data/chips/STM32U083RC.json
index d6f2e54..1eed744 100644
--- a/data/chips/STM32U083RC.json
+++ b/data/chips/STM32U083RC.json
@@ -138,7 +138,12 @@
                 },
                 {
                     "name": "ADC_COMMON",
-                    "address": 1073817352
+                    "address": 1073817352,
+                    "registers": {
+                        "kind": "adccommon",
+                        "version": "v3",
+                        "block": "ADC_COMMON"
+                    }
                 },
                 {
                     "name": "AES",
@@ -328,6 +333,11 @@
                 {
                     "name": "CRS",
                     "address": 1073769472,
+                    "registers": {
+                        "kind": "crs",
+                        "version": "v1",
+                        "block": "CRS"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -351,6 +361,11 @@
                 {
                     "name": "DAC1",
                     "address": 1073771520,
+                    "registers": {
+                        "kind": "dac",
+                        "version": "v4",
+                        "block": "DAC"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": "PCLK1",
@@ -2197,6 +2212,11 @@
                 {
                     "name": "RNG",
                     "address": 1073893376,
+                    "registers": {
+                        "kind": "rng",
+                        "version": "v3",
+                        "block": "RNG"
+                    },
                     "rcc": {
                         "bus_clock": "HCLK1",
                         "kernel_clock": "HCLK1",
@@ -3887,6 +3907,11 @@
                 {
                     "name": "USB",
                     "address": 1073765376,
+                    "registers": {
+                        "kind": "usb",
+                        "version": "v4",
+                        "block": "USB"
+                    },
                     "rcc": {
                         "bus_clock": "PCLK1",
                         "kernel_clock": {
@@ -3939,7 +3964,12 @@
                 },
                 {
                     "name": "USBRAM",
-                    "address": 1073780736
+                    "address": 1073780736,
+                    "registers": {
+                        "kind": "usbram",
+                        "version": "32_1024",
+                        "block": "USBRAM"
+                    }
                 },
                 {
                     "name": "VREFBUF",
diff --git a/data/registers/usbram_32_1024.json b/data/registers/usbram_32_1024.json
new file mode 100644
index 0000000..4550d45
--- /dev/null
+++ b/data/registers/usbram_32_1024.json
@@ -0,0 +1,16 @@
+{
+  "block/USBRAM": {
+    "description": "USB Endpoint memory",
+    "items": [
+      {
+        "name": "MEM",
+        "description": "USB Endpoint memory",
+        "array": {
+          "len": 256,
+          "stride": 4
+        },
+        "byte_offset": 0
+      }
+    ]
+  }
+}
\ No newline at end of file