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

soc/tegra: fuse: Add support for Tegra241

Add support for Tegra241 which use ACPI boot.

Signed-off-by: Kartik <kkartik@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>

authored by

Kartik and committed by
Thierry Reding
8402074f 972167c6

+36
+5
drivers/soc/tegra/Kconfig
··· 133 133 help 134 134 Enable support for the NVIDIA Tegra234 SoC. 135 135 136 + config ARCH_TEGRA_241_SOC 137 + bool "NVIDIA Tegra241 SoC" 138 + help 139 + Enable support for the NVIDIA Tegra241 SoC. 140 + 136 141 endif 137 142 endif 138 143
+5
drivers/soc/tegra/fuse/fuse-tegra.c
··· 172 172 fuse->soc = &tegra234_fuse_soc; 173 173 break; 174 174 #endif 175 + #if defined(CONFIG_ARCH_TEGRA_241_SOC) 176 + case TEGRA241: 177 + fuse->soc = &tegra241_fuse_soc; 178 + break; 179 + #endif 175 180 default: 176 181 return dev_err_probe(&pdev->dev, -EINVAL, "Unsupported SoC: %02x\n", chip); 177 182 }
+20
drivers/soc/tegra/fuse/fuse-tegra30.c
··· 678 678 .clk_suspend_on = false, 679 679 }; 680 680 #endif 681 + 682 + #if defined(CONFIG_ARCH_TEGRA_241_SOC) 683 + static const struct tegra_fuse_info tegra241_fuse_info = { 684 + .read = tegra30_fuse_read, 685 + .size = 0x16008, 686 + .spare = 0xcf0, 687 + }; 688 + 689 + static const struct nvmem_keepout tegra241_fuse_keepouts[] = { 690 + { .start = 0xc, .end = 0x1600c } 691 + }; 692 + 693 + const struct tegra_fuse_soc tegra241_fuse_soc = { 694 + .init = tegra30_fuse_init, 695 + .info = &tegra241_fuse_info, 696 + .keepouts = tegra241_fuse_keepouts, 697 + .num_keepouts = ARRAY_SIZE(tegra241_fuse_keepouts), 698 + .soc_attr_group = &tegra194_soc_attr_group, 699 + }; 700 + #endif
+4
drivers/soc/tegra/fuse/fuse.h
··· 136 136 extern const struct tegra_fuse_soc tegra234_fuse_soc; 137 137 #endif 138 138 139 + #ifdef CONFIG_ARCH_TEGRA_241_SOC 140 + extern const struct tegra_fuse_soc tegra241_fuse_soc; 141 + #endif 142 + 139 143 #endif
+1
drivers/soc/tegra/fuse/tegra-apbmisc.c
··· 64 64 switch (tegra_get_chip_id()) { 65 65 case TEGRA194: 66 66 case TEGRA234: 67 + case TEGRA241: 67 68 case TEGRA264: 68 69 if (tegra_get_platform() == 0) 69 70 return true;
+1
include/soc/tegra/fuse.h
··· 17 17 #define TEGRA186 0x18 18 18 #define TEGRA194 0x19 19 19 #define TEGRA234 0x23 20 + #define TEGRA241 0x24 20 21 #define TEGRA264 0x26 21 22 22 23 #define TEGRA_FUSE_SKU_CALIB_0 0xf0