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

soc/tegra: fuse: Add Tegra114 nvmem cells and fuse lookups

Add missing Tegra114 nvmem cells and fuse lookups which were added for
Tegra124+ but omitted for Tegra114.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>

authored by

Svyatoslav Ryhel and committed by
Thierry Reding
b9c01ade 8f5ae30d

+122
+122
drivers/soc/tegra/fuse/fuse-tegra30.c
··· 117 117 #endif 118 118 119 119 #ifdef CONFIG_ARCH_TEGRA_114_SOC 120 + static const struct nvmem_cell_info tegra114_fuse_cells[] = { 121 + { 122 + .name = "tsensor-cpu1", 123 + .offset = 0x084, 124 + .bytes = 4, 125 + .bit_offset = 0, 126 + .nbits = 32, 127 + }, { 128 + .name = "tsensor-cpu2", 129 + .offset = 0x088, 130 + .bytes = 4, 131 + .bit_offset = 0, 132 + .nbits = 32, 133 + }, { 134 + .name = "tsensor-common", 135 + .offset = 0x08c, 136 + .bytes = 4, 137 + .bit_offset = 0, 138 + .nbits = 32, 139 + }, { 140 + .name = "tsensor-cpu0", 141 + .offset = 0x098, 142 + .bytes = 4, 143 + .bit_offset = 0, 144 + .nbits = 32, 145 + }, { 146 + .name = "xusb-pad-calibration", 147 + .offset = 0x0f0, 148 + .bytes = 4, 149 + .bit_offset = 0, 150 + .nbits = 32, 151 + }, { 152 + .name = "tsensor-cpu3", 153 + .offset = 0x12c, 154 + .bytes = 4, 155 + .bit_offset = 0, 156 + .nbits = 32, 157 + }, { 158 + .name = "tsensor-gpu", 159 + .offset = 0x154, 160 + .bytes = 4, 161 + .bit_offset = 0, 162 + .nbits = 32, 163 + }, { 164 + .name = "tsensor-mem0", 165 + .offset = 0x158, 166 + .bytes = 4, 167 + .bit_offset = 0, 168 + .nbits = 32, 169 + }, { 170 + .name = "tsensor-mem1", 171 + .offset = 0x15c, 172 + .bytes = 4, 173 + .bit_offset = 0, 174 + .nbits = 32, 175 + }, { 176 + .name = "tsensor-pllx", 177 + .offset = 0x160, 178 + .bytes = 4, 179 + .bit_offset = 0, 180 + .nbits = 32, 181 + }, 182 + }; 183 + 184 + static const struct nvmem_cell_lookup tegra114_fuse_lookups[] = { 185 + { 186 + .nvmem_name = "fuse", 187 + .cell_name = "xusb-pad-calibration", 188 + .dev_id = "7009f000.padctl", 189 + .con_id = "calibration", 190 + }, { 191 + .nvmem_name = "fuse", 192 + .cell_name = "tsensor-common", 193 + .dev_id = "700e2000.thermal-sensor", 194 + .con_id = "common", 195 + }, { 196 + .nvmem_name = "fuse", 197 + .cell_name = "tsensor-cpu0", 198 + .dev_id = "700e2000.thermal-sensor", 199 + .con_id = "cpu0", 200 + }, { 201 + .nvmem_name = "fuse", 202 + .cell_name = "tsensor-cpu1", 203 + .dev_id = "700e2000.thermal-sensor", 204 + .con_id = "cpu1", 205 + }, { 206 + .nvmem_name = "fuse", 207 + .cell_name = "tsensor-cpu2", 208 + .dev_id = "700e2000.thermal-sensor", 209 + .con_id = "cpu2", 210 + }, { 211 + .nvmem_name = "fuse", 212 + .cell_name = "tsensor-cpu3", 213 + .dev_id = "700e2000.thermal-sensor", 214 + .con_id = "cpu3", 215 + }, { 216 + .nvmem_name = "fuse", 217 + .cell_name = "tsensor-mem0", 218 + .dev_id = "700e2000.thermal-sensor", 219 + .con_id = "mem0", 220 + }, { 221 + .nvmem_name = "fuse", 222 + .cell_name = "tsensor-mem1", 223 + .dev_id = "700e2000.thermal-sensor", 224 + .con_id = "mem1", 225 + }, { 226 + .nvmem_name = "fuse", 227 + .cell_name = "tsensor-gpu", 228 + .dev_id = "700e2000.thermal-sensor", 229 + .con_id = "gpu", 230 + }, { 231 + .nvmem_name = "fuse", 232 + .cell_name = "tsensor-pllx", 233 + .dev_id = "700e2000.thermal-sensor", 234 + .con_id = "pllx", 235 + }, 236 + }; 237 + 120 238 static const struct tegra_fuse_info tegra114_fuse_info = { 121 239 .read = tegra30_fuse_read, 122 240 .size = 0x2a0, ··· 245 127 .init = tegra30_fuse_init, 246 128 .speedo_init = tegra114_init_speedo_data, 247 129 .info = &tegra114_fuse_info, 130 + .lookups = tegra114_fuse_lookups, 131 + .num_lookups = ARRAY_SIZE(tegra114_fuse_lookups), 132 + .cells = tegra114_fuse_cells, 133 + .num_cells = ARRAY_SIZE(tegra114_fuse_cells), 248 134 .soc_attr_group = &tegra_soc_attr_group, 249 135 .clk_suspend_on = false, 250 136 };