| /linux/drivers/usb/host/ |
| H A D | xhci-tegra.c | 3 * NVIDIA Tegra xHCI host controller driver 20 #include <linux/phy/tegra/xusb.h> 33 #include <soc/tegra/pmc.h> 221 u32 (*mbox_reg_readl)(struct tegra_xusb *tegra, unsigned int offset); 222 void (*mbox_reg_writel)(struct tegra_xusb *tegra, u32 value, unsigned int offset); 223 u32 (*csb_reg_readl)(struct tegra_xusb *tegra, unsigned int offset); 224 void (*csb_reg_writel)(struct tegra_xusb *tegra, u32 value, unsigned int offset); 325 static inline u32 fpci_readl(struct tegra_xusb *tegra, unsigned int offset) in fpci_readl() argument 327 return readl(tegra->fpci_base + offset); in fpci_readl() 330 static inline void fpci_writel(struct tegra_xusb *tegra, u32 value, in fpci_writel() argument [all …]
|
| /linux/drivers/ata/ |
| H A D | ahci_tegra.c | 20 #include <soc/tegra/fuse.h> 21 #include <soc/tegra/pmc.h> 25 #define DRV_NAME "tegra-ahci" 184 struct tegra_ahci_priv *tegra = hpriv->plat_data; in tegra_ahci_handle_quirks() local 187 if (tegra->sata_aux_regs && !tegra->soc->supports_devslp) { in tegra_ahci_handle_quirks() 188 val = readl(tegra->sata_aux_regs + SATA_AUX_MISC_CNTL_1_0); in tegra_ahci_handle_quirks() 190 writel(val, tegra->sata_aux_regs + SATA_AUX_MISC_CNTL_1_0); in tegra_ahci_handle_quirks() 196 struct tegra_ahci_priv *tegra = hpriv->plat_data; in tegra124_ahci_init() local 208 writel(BIT(0), tegra->sata_regs + SCFG_OFFSET + T_SATA0_INDEX); in tegra124_ahci_init() 210 val = readl(tegra->sata_regs + in tegra124_ahci_init() [all …]
|
| /linux/drivers/devfreq/ |
| H A D | tegra30-devfreq.c | 3 * A devfreq driver for NVIDIA Tegra SoCs 24 #include <soc/tegra/fuse.h> 218 static u32 actmon_readl(struct tegra_devfreq *tegra, u32 offset) in actmon_readl() argument 220 return readl_relaxed(tegra->regs + offset); in actmon_readl() 223 static void actmon_writel(struct tegra_devfreq *tegra, u32 val, u32 offset) in actmon_writel() argument 225 writel_relaxed(val, tegra->regs + offset); in actmon_writel() 251 static void tegra_devfreq_update_avg_wmark(struct tegra_devfreq *tegra, in tegra_devfreq_update_avg_wmark() argument 254 u32 avg_band_freq = tegra->max_freq * ACTMON_DEFAULT_AVG_BAND / KHZ; in tegra_devfreq_update_avg_wmark() 255 u32 band = avg_band_freq * tegra->devfreq->profile->polling_ms; in tegra_devfreq_update_avg_wmark() 265 static void tegra_devfreq_update_wmark(struct tegra_devfreq *tegra, in tegra_devfreq_update_wmark() argument [all …]
|
| /linux/drivers/clk/tegra/ |
| H A D | clk-tegra124-emc.c | 3 * drivers/clk/tegra/clk-emc.c 14 #include <linux/clk/tegra.h> 25 #include <soc/tegra/fuse.h> 94 struct tegra_clk_emc *tegra; in emc_recalc_rate() local 97 tegra = container_of(hw, struct tegra_clk_emc, hw); in emc_recalc_rate() 105 val = readl(tegra->clk_regs + CLK_SOURCE_EMC); in emc_recalc_rate() 118 struct tegra_clk_emc *tegra; in emc_determine_rate() local 123 tegra = container_of(hw, struct tegra_clk_emc, hw); in emc_determine_rate() 125 for (k = 0; k < tegra->num_timings; k++) { in emc_determine_rate() 126 if (tegra->timings[k].ram_code == ram_code) in emc_determine_rate() [all …]
|
| /linux/drivers/soc/tegra/ |
| H A D | regulators-tegra20.c | 10 #define pr_fmt(fmt) "tegra voltage-coupler: " fmt 21 #include <soc/tegra/fuse.h> 22 #include <soc/tegra/pmc.h> 44 static int tegra20_core_limit(struct tegra_regulator_coupler *tegra, in tegra20_core_limit() argument 62 if (tegra_pmc_core_domain_state_synced() && !tegra->sys_reboot_mode) { in tegra20_core_limit() 67 if (tegra->core_min_uV > 0) in tegra20_core_limit() 68 return tegra->core_min_uV; in tegra20_core_limit() 85 tegra->core_min_uV = core_max_uV; in tegra20_core_limit() 87 pr_info("core voltage initialized to %duV\n", tegra->core_min_uV); in tegra20_core_limit() 89 return tegra->core_min_uV; in tegra20_core_limit() [all …]
|
| H A D | regulators-tegra30.c | 10 #define pr_fmt(fmt) "tegra voltage-coupler: " fmt 21 #include <soc/tegra/fuse.h> 22 #include <soc/tegra/pmc.h> 43 static int tegra30_core_limit(struct tegra_regulator_coupler *tegra, in tegra30_core_limit() argument 61 if (tegra_pmc_core_domain_state_synced() && !tegra->sys_reboot_mode) { in tegra30_core_limit() 66 if (tegra->core_min_uV > 0) in tegra30_core_limit() 67 return tegra->core_min_uV; in tegra30_core_limit() 84 tegra->core_min_uV = core_max_uV; in tegra30_core_limit() 86 pr_info("core voltage initialized to %duV\n", tegra->core_min_uV); in tegra30_core_limit() 88 return tegra->core_min_uV; in tegra30_core_limit() [all …]
|
| /linux/drivers/clocksource/ |
| H A D | timer-tegra186.c | 113 static struct tegra186_tmr *tegra186_tmr_create(struct tegra186_timer *tegra, in tegra186_tmr_create() argument 119 tmr = devm_kzalloc(tegra->dev, sizeof(*tmr), GFP_KERNEL); in tegra186_tmr_create() 123 tmr->parent = tegra; in tegra186_tmr_create() 124 tmr->regs = tegra->regs + offset; in tegra186_tmr_create() 148 struct tegra186_timer *tegra = wdt->tmr->parent; in tegra186_wdt_enable() local 153 writel(value, tegra->regs + TKEIE(wdt->tmr->hwirq)); in tegra186_wdt_enable() 300 static struct tegra186_wdt *tegra186_wdt_create(struct tegra186_timer *tegra, in tegra186_wdt_create() argument 308 offset += tegra->soc->num_timers * 0x10000 + index * 0x10000; in tegra186_wdt_create() 310 wdt = devm_kzalloc(tegra->dev, sizeof(*wdt), GFP_KERNEL); in tegra186_wdt_create() 314 wdt->regs = tegra->regs + offset; in tegra186_wdt_create() [all …]
|
| /linux/drivers/gpu/drm/tegra/ |
| H A D | drm.c | 37 #define DRIVER_NAME "tegra" 38 #define DRIVER_DESC "NVIDIA Tegra graphics" 78 struct tegra_drm *tegra = drm->dev_private; in tegra_atomic_commit_tail() local 80 if (tegra->hub) { in tegra_atomic_commit_tail() 462 struct tegra_drm *tegra = drm->dev_private; in tegra_open_channel() local 474 list_for_each_entry(client, &tegra->clients, list) in tegra_open_channel() 857 struct tegra_drm *tegra = drm->dev_private; in tegra_debugfs_iova() local 860 if (tegra->domain) { in tegra_debugfs_iova() 861 mutex_lock(&tegra->mm_lock); in tegra_debugfs_iova() 862 drm_mm_print(&tegra->mm, &p); in tegra_debugfs_iova() [all …]
|
| /linux/drivers/thermal/tegra/ |
| H A D | tegra-bpmp-thermal.c | 16 #include <soc/tegra/bpmp.h> 17 #include <soc/tegra/bpmp-abi.h> 20 struct tegra_bpmp_thermal *tegra; member 52 err = tegra_bpmp_transfer(zone->tegra->bpmp, &msg); in __tegra_bpmp_thermal_get_temp() 91 err = tegra_bpmp_transfer(zone->tegra->bpmp, &msg); in tegra_bpmp_thermal_set_trips() 114 struct tegra_bpmp_thermal *tegra = data; in bpmp_mrq_thermal() local 122 dev_err(tegra->dev, "%s: invalid request type: %d\n", __func__, req.type); in bpmp_mrq_thermal() 127 for (i = 0; i < tegra->num_zones; ++i) { in bpmp_mrq_thermal() 128 if (tegra->zones[i]->idx != req.host_trip_reached.zone) in bpmp_mrq_thermal() 131 schedule_work(&tegra->zones[i]->tz_device_update_work); in bpmp_mrq_thermal() [all …]
|
| H A D | Makefile | 2 obj-$(CONFIG_TEGRA_SOCTHERM) += tegra-soctherm.o 3 obj-$(CONFIG_TEGRA_BPMP_THERMAL) += tegra-bpmp-thermal.o 6 tegra-soctherm-y := soctherm.o soctherm-fuse.o 7 tegra-soctherm-$(CONFIG_ARCH_TEGRA_114_SOC) += tegra114-soctherm.o 8 tegra-soctherm-$(CONFIG_ARCH_TEGRA_124_SOC) += tegra124-soctherm.o 9 tegra-soctherm-$(CONFIG_ARCH_TEGRA_132_SOC) += tegra132-soctherm.o 10 tegra-soctherm-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-soctherm.o
|
| H A D | soctherm.c | 392 static void enable_tsensor(struct tegra_soctherm *tegra, unsigned int i) in enable_tsensor() argument 394 const struct tegra_tsensor *sensor = &tegra->soc->tsensors[i]; in enable_tsensor() 395 void __iomem *base = tegra->regs + sensor->base; in enable_tsensor() 407 writel(tegra->calib[i], base + SENSOR_CONFIG2); in enable_tsensor() 1456 struct tegra_soctherm *tegra = platform_get_drvdata(pdev); in soctherm_debug_init() local 1461 tegra->debugfs_dir = root; in soctherm_debug_init() 1471 struct tegra_soctherm *tegra = platform_get_drvdata(pdev); in soctherm_clk_enable() local 1474 if (!tegra->clock_soctherm || !tegra->clock_tsensor) in soctherm_clk_enable() 1477 reset_control_assert(tegra->reset); in soctherm_clk_enable() 1480 err = clk_prepare_enable(tegra->clock_soctherm); in soctherm_clk_enable() [all …]
|
| /linux/sound/soc/tegra/ |
| H A D | Kconfig | 2 menu "Tegra" menu 5 tristate "SoC Audio for the Tegra System-on-Chip" 12 Say Y or M here if you want support for SoC audio on Tegra. 184 tristate "Audio Graph Card based Tegra driver" 187 Config to enable Tegra audio machine driver based on generic 189 few things for Tegra audio. Most of the code is re-used from 196 tristate "SoC Audio support for Tegra boards using an RT5631 codec" 201 Say Y or M here if you want to add support for SoC audio on Tegra 205 tristate "SoC Audio support for Tegra boards using an RT5640 codec" 210 Say Y or M here if you want to add support for SoC audio on Tegra [all …]
|
| H A D | Makefile | 2 # Tegra platform Support 3 snd-soc-tegra-pcm-y := tegra_pcm.o 4 snd-soc-tegra-utils-y += tegra_asoc_utils.o 24 obj-$(CONFIG_SND_SOC_TEGRA) += snd-soc-tegra-pcm.o 44 # Tegra machine Support 45 snd-soc-tegra-wm8903-y := tegra_wm8903.o 46 snd-soc-tegra-machine-y := tegra_asoc_machine.o 47 snd-soc-tegra-audio-graph-card-y := tegra_audio_graph_card.o 49 obj-$(CONFIG_SND_SOC_TEGRA_WM8903) += snd-soc-tegra-wm8903.o 50 obj-$(CONFIG_SND_SOC_TEGRA_MACHINE_DRV) += snd-soc-tegra-machine.o [all …]
|
| H A D | tegra_wm8903.c | 3 * tegra_wm8903.c - Tegra machine ASoC driver for boards using WM8903 codec. 164 { .compatible = "ad,tegra-audio-plutux", .data = &tegra_wm8903_data_legacy }, 165 { .compatible = "ad,tegra-audio-wm8903-medcom-wide", .data = &tegra_wm8903_data_legacy }, 166 { .compatible = "ad,tegra-audio-wm8903-tec", .data = &tegra_wm8903_data_legacy }, 167 { .compatible = "nvidia,tegra-audio-wm8903-cardhu", .data = &tegra_wm8903_data_legacy }, 168 { .compatible = "nvidia,tegra-audio-wm8903-harmony", .data = &tegra_wm8903_data_legacy }, 169 { .compatible = "nvidia,tegra-audio-wm8903-picasso", .data = &tegra_wm8903_data_legacy }, 170 { .compatible = "nvidia,tegra-audio-wm8903-seaboard", .data = &tegra_wm8903_data_legacy }, 171 { .compatible = "nvidia,tegra-audio-wm8903-ventana", .data = &tegra_wm8903_data_legacy }, 172 { .compatible = "nvidia,tegra-audio-wm8903", .data = &tegra_wm8903_data }, [all …]
|
| /linux/drivers/memory/tegra/ |
| H A D | Makefile | 2 tegra-mc-y := mc.o 4 tegra-mc-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20.o 5 tegra-mc-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30.o 6 tegra-mc-$(CONFIG_ARCH_TEGRA_114_SOC) += tegra114.o 7 tegra-mc-$(CONFIG_ARCH_TEGRA_124_SOC) += tegra124.o 8 tegra-mc-$(CONFIG_ARCH_TEGRA_132_SOC) += tegra124.o 9 tegra-mc-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210.o 10 tegra-mc-$(CONFIG_ARCH_TEGRA_186_SOC) += tegra186.o 11 tegra-mc-$(CONFIG_ARCH_TEGRA_194_SOC) += tegra186.o tegra194.o 12 tegra-mc-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra186.o tegra234.o [all …]
|
| /linux/Documentation/devicetree/bindings/sound/ |
| H A D | nvidia,tegra-audio-max98090.yaml | 4 $id: http://devicetree.org/schemas/sound/nvidia,tegra-audio-max98090.yaml# 7 title: NVIDIA Tegra audio complex with MAX98090 CODEC 14 - $ref: nvidia,tegra-audio-common.yaml# 20 - pattern: '^[a-z0-9]+,tegra-audio-max98090(-[a-z0-9]+)+$' 21 - const: nvidia,tegra-audio-max98090 24 - nvidia,tegra-audio-max98090-nyan-big 25 - nvidia,tegra-audio-max98090-nyan-blaze 26 - const: nvidia,tegra-audio-max98090-nyan 27 - const: nvidia,tegra-audio-max98090 78 compatible = "nvidia,tegra-audio-max98090-venice2", [all …]
|
| H A D | nvidia,tegra-audio-max9808x.yaml | 4 $id: http://devicetree.org/schemas/sound/nvidia,tegra-audio-max9808x.yaml# 7 title: NVIDIA Tegra audio complex with MAX9808x CODEC 14 - $ref: nvidia,tegra-audio-common.yaml# 20 - pattern: '^[a-z0-9]+,tegra-audio-max98088(-[a-z0-9]+)+$' 21 - const: nvidia,tegra-audio-max98088 23 - pattern: '^[a-z0-9]+,tegra-audio-max98089(-[a-z0-9]+)+$' 24 - const: nvidia,tegra-audio-max98089 65 #include <dt-bindings/soc/tegra-pmc.h> 67 compatible = "lg,tegra-audio-max98089-p895", 68 "nvidia,tegra-audio-max98089";
|
| H A D | nvidia,tegra-audio-wm8903.yaml | 4 $id: http://devicetree.org/schemas/sound/nvidia,tegra-audio-wm8903.yaml# 7 title: NVIDIA Tegra audio complex with WM8903 CODEC 14 - $ref: nvidia,tegra-audio-common.yaml# 20 - pattern: '^[a-z0-9]+,tegra-audio-wm8903(-[a-z0-9]+)+$' 21 - const: nvidia,tegra-audio-wm8903 23 - pattern: ad,tegra-audio-plutux 24 - const: nvidia,tegra-audio-wm8903 69 compatible = "nvidia,tegra-audio-wm8903-harmony", 70 "nvidia,tegra-audio-wm8903"; 71 nvidia,model = "tegra-wm8903-harmony";
|
| H A D | nvidia,tegra-audio-wm8753.yaml | 4 $id: http://devicetree.org/schemas/sound/nvidia,tegra-audio-wm8753.yaml# 7 title: NVIDIA Tegra audio complex with WM8753 CODEC 14 - $ref: nvidia,tegra-audio-common.yaml# 19 - pattern: '^[a-z0-9]+,tegra-audio-wm8753(-[a-z0-9]+)+$' 20 - const: nvidia,tegra-audio-wm8753 66 compatible = "nvidia,tegra-audio-wm8753-whistler", 67 "nvidia,tegra-audio-wm8753"; 68 nvidia,model = "tegra-wm8753-harmony";
|
| H A D | nvidia,tegra-audio-rt5640.yaml | 4 $id: http://devicetree.org/schemas/sound/nvidia,tegra-audio-rt5640.yaml# 7 title: NVIDIA Tegra audio complex with RT5639 or RT5640 CODEC 14 - $ref: nvidia,tegra-audio-common.yaml# 19 - pattern: '^[a-z0-9]+,tegra-audio-rt56(39|40)(-[a-z0-9]+)+$' 20 - const: nvidia,tegra-audio-rt5640 65 compatible = "nvidia,tegra-audio-rt5640-dalmore", 66 "nvidia,tegra-audio-rt5640"; 67 nvidia,model = "NVIDIA Tegra Dalmore";
|
| H A D | nvidia,tegra-audio-rt5631.yaml | 4 $id: http://devicetree.org/schemas/sound/nvidia,tegra-audio-rt5631.yaml# 7 title: NVIDIA Tegra audio complex with RT5631 CODEC 14 - $ref: nvidia,tegra-audio-common.yaml# 19 - pattern: '^[a-z0-9]+,tegra-audio-rt5631(-[a-z0-9]+)+$' 20 - const: nvidia,tegra-audio-rt5631 63 #include <dt-bindings/soc/tegra-pmc.h> 65 compatible = "asus,tegra-audio-rt5631-tf700t", 66 "nvidia,tegra-audio-rt5631";
|
| /linux/drivers/crypto/tegra/ |
| H A D | Makefile | 4 tegra-se-objs := tegra-se-key.o tegra-se-main.o 6 tegra-se-y += tegra-se-aes.o 7 tegra-se-y += tegra-se-hash.o 9 obj-$(CONFIG_CRYPTO_DEV_TEGRA) += tegra-se.o
|
| /linux/drivers/firmware/tegra/ |
| H A D | Makefile | 2 tegra-bpmp-y = bpmp.o 3 tegra-bpmp-$(CONFIG_ARCH_TEGRA_210_SOC) += bpmp-tegra210.o 4 tegra-bpmp-$(CONFIG_ARCH_TEGRA_186_SOC) += bpmp-tegra186.o 5 tegra-bpmp-$(CONFIG_ARCH_TEGRA_194_SOC) += bpmp-tegra186.o 6 tegra-bpmp-$(CONFIG_ARCH_TEGRA_234_SOC) += bpmp-tegra186.o 7 tegra-bpmp-$(CONFIG_ARCH_TEGRA_264_SOC) += bpmp-tegra186.o 8 tegra-bpmp-$(CONFIG_DEBUG_FS) += bpmp-debugfs.o 9 obj-$(CONFIG_TEGRA_BPMP) += tegra-bpmp.o
|
| /linux/drivers/phy/tegra/ |
| H A D | Makefile | 2 obj-$(CONFIG_PHY_TEGRA_XUSB) += phy-tegra-xusb.o 4 phy-tegra-xusb-y += xusb.o 5 phy-tegra-xusb-$(CONFIG_ARCH_TEGRA_124_SOC) += xusb-tegra124.o 6 phy-tegra-xusb-$(CONFIG_ARCH_TEGRA_132_SOC) += xusb-tegra124.o 7 phy-tegra-xusb-$(CONFIG_ARCH_TEGRA_210_SOC) += xusb-tegra210.o 8 phy-tegra-xusb-$(CONFIG_ARCH_TEGRA_186_SOC) += xusb-tegra186.o 9 phy-tegra-xusb-$(CONFIG_ARCH_TEGRA_194_SOC) += xusb-tegra186.o 10 phy-tegra-xusb-$(CONFIG_ARCH_TEGRA_234_SOC) += xusb-tegra186.o
|
| /linux/Documentation/gpu/ |
| H A D | tegra.rst | 2 drm/tegra NVIDIA Tegra GPU and display driver 5 NVIDIA Tegra SoCs support a set of display, graphics and video functions via 10 Up until, but not including, Tegra124 (aka Tegra K1) the drm/tegra driver 15 The drm/tegra driver supports NVIDIA Tegra SoC generations since Tegra20. It 65 Tegra SoC generations, up until Tegra186 which introduces several changes that 71 Tegra SoCs have two display controllers, each of which can be associated with 100 The type and number of supported outputs varies between Tegra SoC generations. 116 HDMI is supported on all Tegra SoCs. Starting with Tegra210, HDMI is provided 123 Although Tegra has supported DSI since Tegra30, the controller has changed in 126 later are supported by the drm/tegra driver. [all …]
|