/linux-6.12.1/drivers/memory/tegra/ |
D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 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 [all …]
|
D | tegra210-emc-table.c | 1 // SPDX-License-Identifier: GPL-2.0 8 #include "tegra210-emc.h" 15 struct tegra210_emc *emc = dev_get_drvdata(dev); in tegra210_emc_table_device_init() local 19 timings = memremap(rmem->base, rmem->size, MEMREMAP_WB); in tegra210_emc_table_device_init() 21 dev_err(dev, "failed to map EMC table\n"); in tegra210_emc_table_device_init() 22 return -ENOMEM; in tegra210_emc_table_device_init() 33 if (emc->derated) { in tegra210_emc_table_device_init() 34 dev_warn(dev, "excess EMC table '%s'\n", rmem->name); in tegra210_emc_table_device_init() 38 if (emc->nominal) { in tegra210_emc_table_device_init() 39 if (count != emc->num_timings) { in tegra210_emc_table_device_init() [all …]
|
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 21 This driver is for the External Memory Controller (EMC) found on 22 Tegra20 chips. The EMC controls the external DRAM on the board. 33 This driver is for the External Memory Controller (EMC) found on 34 Tegra30 chips. The EMC controls the external DRAM on the board. 45 This driver is for the External Memory Controller (EMC) found on 46 Tegra124 chips. The EMC controls the external DRAM on the board. 55 tristate "NVIDIA Tegra210 External Memory Controller driver" 59 This driver is for the External Memory Controller (EMC) found on 60 Tegra210 chips. The EMC controls the external DRAM on the board.
|
D | tegra210-emc-core.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2015-2020, NVIDIA CORPORATION. All rights reserved. 21 #include "tegra210-emc.h" 22 #include "tegra210-mc.h" 62 next->trim_regs[EMC_PMACRO_OB_DDLL_LONG_DQ_RANK ## \ 69 next->trim_perch_regs[EMC ## chan ## \ 561 struct tegra210_emc *emc = from_timer(emc, timer, training); in tegra210_emc_train() local 564 if (!emc->last) in tegra210_emc_train() 567 spin_lock_irqsave(&emc->lock, flags); in tegra210_emc_train() 569 if (emc->sequence->periodic_compensation) in tegra210_emc_train() [all …]
|
D | tegra210-emc-cc-r21021.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2014-2020, NVIDIA CORPORATION. All rights reserved. 14 #include "tegra210-emc.h" 15 #include "tegra210-mc.h" 36 #define emc_dbg(emc, flags, ...) dev_dbg(emc->dev, __VA_ARGS__) argument 53 * PTFV defines - basically just indexes into the per table PTFV array. 78 ({ next->ptfv_list[(dev)] = \ 79 next->ptfv_list[(dev)] / \ 80 next->ptfv_list[PTFV_DVFS_SAMPLES_INDEX]; }) 86 ({ next->ptfv_list[(dev)] += \ [all …]
|
D | tegra210-emc.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Copyright (c) 2015-2020, NVIDIA CORPORATION. All rights reserved. 891 /* nominal EMC frequency table */ 893 /* derated EMC frequency table */ 939 void (*set_clock)(struct tegra210_emc *emc, u32 clksrc); 940 u32 (*periodic_compensation)(struct tegra210_emc *emc); 943 static inline void emc_writel(struct tegra210_emc *emc, u32 value, in emc_writel() argument 946 writel_relaxed(value, emc->regs + offset); in emc_writel() 949 static inline u32 emc_readl(struct tegra210_emc *emc, unsigned int offset) in emc_readl() argument 951 return readl_relaxed(emc->regs + offset); in emc_readl() [all …]
|
D | mc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 8 #include <linux/dma-mapping.h> 18 #include <linux/tegra-icc.h> 26 { .compatible = "nvidia,tegra20-mc-gart", .data = &tegra20_mc_soc }, 29 { .compatible = "nvidia,tegra30-mc", .data = &tegra30_mc_soc }, 32 { .compatible = "nvidia,tegra114-mc", .data = &tegra114_mc_soc }, 35 { .compatible = "nvidia,tegra124-mc", .data = &tegra124_mc_soc }, 38 { .compatible = "nvidia,tegra132-mc", .data = &tegra132_mc_soc }, 41 { .compatible = "nvidia,tegra210-mc", .data = &tegra210_mc_soc }, 44 { .compatible = "nvidia,tegra186-mc", .data = &tegra186_mc_soc }, [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/memory-controllers/ |
D | nvidia,tegra210-emc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/memory-controllers/nvidia,tegra210-emc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: NVIDIA Tegra210 SoC External Memory Controller 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Jon Hunter <jonathanh@nvidia.com> 14 The EMC interfaces with the off-chip SDRAM to service the request stream 19 const: nvidia,tegra210-emc 26 - description: external memory clock [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/reserved-memory/ |
D | nvidia,tegra210-emc-table.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/reserved-memory/nvidia,tegra210-emc-table.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: NVIDIA Tegra210 EMC Frequency Table 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Jon Hunter <jonathanh@nvidia.com> 13 description: On Tegra210, firmware passes a binary representation of the 14 EMC frequency table via a reserved memory region. 17 - $ref: reserved-memory.yaml [all …]
|
/linux-6.12.1/arch/arm64/boot/dts/nvidia/ |
D | tegra186.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 2 #include <dt-bindings/clock/tegra186-clock.h> 3 #include <dt-bindings/gpio/tegra186-gpio.h> 4 #include <dt-bindings/interrupt-controller/arm-gic.h> 5 #include <dt-bindings/mailbox/tegra186-hsp.h> 6 #include <dt-bindings/memory/tegra186-mc.h> 7 #include <dt-bindings/pinctrl/pinctrl-tegra-io-pad.h> 8 #include <dt-bindings/power/tegra186-powergate.h> 9 #include <dt-bindings/reset/tegra186-reset.h> 10 #include <dt-bindings/thermal/tegra186-bpmp-thermal.h> [all …]
|
D | tegra194.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 2 #include <dt-bindings/clock/tegra194-clock.h> 3 #include <dt-bindings/gpio/tegra194-gpio.h> 4 #include <dt-bindings/interrupt-controller/arm-gic.h> 5 #include <dt-bindings/mailbox/tegra186-hsp.h> 6 #include <dt-bindings/pinctrl/pinctrl-tegra-io-pad.h> 7 #include <dt-bindings/pinctrl/pinctrl-tegra.h> 8 #include <dt-bindings/power/tegra194-powergate.h> 9 #include <dt-bindings/reset/tegra194-reset.h> 10 #include <dt-bindings/thermal/tegra194-bpmp-thermal.h> [all …]
|
D | tegra234.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 #include <dt-bindings/clock/tegra234-clock.h> 4 #include <dt-bindings/gpio/tegra234-gpio.h> 5 #include <dt-bindings/interrupt-controller/arm-gic.h> 6 #include <dt-bindings/mailbox/tegra186-hsp.h> 7 #include <dt-bindings/memory/tegra234-mc.h> 8 #include <dt-bindings/pinctrl/pinctrl-tegra-io-pad.h> 9 #include <dt-bindings/power/tegra234-powergate.h> 10 #include <dt-bindings/reset/tegra234-reset.h> 11 #include <dt-bindings/thermal/tegra234-bpmp-thermal.h> [all …]
|
D | tegra210.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 2 #include <dt-bindings/clock/tegra210-car.h> 3 #include <dt-bindings/gpio/tegra-gpio.h> 4 #include <dt-bindings/memory/tegra210-mc.h> 5 #include <dt-bindings/pinctrl/pinctrl-tegra.h> 6 #include <dt-bindings/pinctrl/pinctrl-tegra-io-pad.h> 7 #include <dt-bindings/reset/tegra210-car.h> 8 #include <dt-bindings/interrupt-controller/arm-gic.h> 9 #include <dt-bindings/thermal/tegra124-soctherm.h> 10 #include <dt-bindings/soc/tegra-pmc.h> [all …]
|
/linux-6.12.1/drivers/clk/tegra/ |
D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 2 obj-y += clk.o 3 obj-y += clk-audio-sync.o 4 obj-y += clk-device.o 5 obj-y += clk-dfll.o 6 obj-y += clk-divider.o 7 obj-y += clk-periph.o 8 obj-y += clk-periph-fixed.o 9 obj-y += clk-periph-gate.o 10 obj-y += clk-pll.o [all …]
|
D | clk-tegra210.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2012-2020 NVIDIA CORPORATION. All rights reserved. 8 #include <linux/clk-provider.h> 17 #include <dt-bindings/clock/tegra210-car.h> 18 #include <dt-bindings/reset/tegra210-car.h> 23 #include "clk-id.h" 27 * banks present in the Tegra210 CAR IP block. The banks are 264 * SDM fractional divisor is 16-bit 2's complement signed number within 265 * (-2^12 ... 2^12-1) range. Represented in PLL data structure as unsigned 266 * 16-bit value, with "0" divisor mapped to 0xFFFF. Data "0" is used to [all …]
|
D | clk-tegra-periph.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 #include <linux/clk-provider.h> 16 #include "clk-id.h" 130 #define MASK(x) (BIT(x) - 1) 787 GATE("mipi-cal", "clk72mhz", 56, 0, tegra_clk_mipi_cal, 0), 800 GATE("emc", "emc_mux", 57, 0, tegra_clk_emc, CLK_IS_CRITICAL), 873 dt_clk = tegra_lookup_dt_id(data->clk_id, tegra_clks); in periph_clk_init() 877 bank = get_reg_bank(data->periph.gate.clk_num); in periph_clk_init() 881 data->periph.gate.regs = bank; in periph_clk_init() 899 dt_clk = tegra_lookup_dt_id(data->clk_id, tegra_clks); in gate_clk_init() [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/gpu/host1x/ |
D | nvidia,tegra210-nvdec.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/gpu/host1x/nvidia,tegra210-nvdec.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 NVDEC is the hardware video decoder present on NVIDIA Tegra210 15 - Thierry Reding <treding@gmail.com> 16 - Mikko Perttunen <mperttunen@nvidia.com> 20 pattern: "^nvdec@[0-9a-f]*$" 24 - nvidia,tegra210-nvdec 25 - nvidia,tegra186-nvdec [all …]
|
D | nvidia,tegra210-nvenc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/gpu/host1x/nvidia,tegra210-nvenc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 NVENC is the hardware video encoder present on NVIDIA Tegra210 15 - Thierry Reding <treding@gmail.com> 16 - Mikko Perttunen <mperttunen@nvidia.com> 20 pattern: "^nvenc@[0-9a-f]*$" 24 - nvidia,tegra210-nvenc 25 - nvidia,tegra186-nvenc [all …]
|
D | nvidia,tegra210-nvjpg.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/gpu/host1x/nvidia,tegra210-nvjpg.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 NVJPG is the hardware JPEG decoder and encoder present on NVIDIA Tegra210 15 - Thierry Reding <treding@gmail.com> 16 - Mikko Perttunen <mperttunen@nvidia.com> 20 pattern: "^nvjpg@[0-9a-f]*$" 24 - nvidia,tegra210-nvjpg 25 - nvidia,tegra186-nvjpg [all …]
|
D | nvidia,tegra234-nvdec.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/gpu/host1x/nvidia,tegra234-nvdec.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 NVDEC is the hardware video decoder present on NVIDIA Tegra210 15 - Thierry Reding <treding@gmail.com> 16 - Mikko Perttunen <mperttunen@nvidia.com> 20 pattern: "^nvdec@[0-9a-f]*$" 24 - nvidia,tegra234-nvdec 32 clock-names: [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/devfreq/ |
D | nvidia,tegra30-actmon.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/devfreq/nvidia,tegra30-actmon.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Dmitry Osipenko <digetx@gmail.com> 11 - Jon Hunter <jonathanh@nvidia.com> 12 - Thierry Reding <thierry.reding@gmail.com> 23 - nvidia,tegra30-actmon 24 - nvidia,tegra114-actmon 25 - nvidia,tegra124-actmon [all …]
|
/linux-6.12.1/drivers/usb/host/ |
D | xhci-tegra.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (c) 2014-2020, NVIDIA CORPORATION. All rights reserved. 11 #include <linux/dma-mapping.h> 321 return readl(tegra->fpci_base + offset); in fpci_readl() 327 writel(value, tegra->fpci_base + offset); in fpci_writel() 332 return readl(tegra->ipfs_base + offset); in ipfs_readl() 338 writel(value, tegra->ipfs_base + offset); in ipfs_writel() 343 return readl(tegra->bar2_base + offset); in bar2_readl() 349 writel(value, tegra->bar2_base + offset); in bar2_writel() 354 const struct tegra_xusb_soc_ops *ops = tegra->soc->ops; in csb_readl() [all …]
|