| /linux/drivers/memory/tegra/ | 
| H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.02 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 …]
 
 | 
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only21 	  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.
 39 	tristate "NVIDIA Tegra124 External Memory Controller driver"
 45 	  This driver is for the External Memory Controller (EMC) found on
 46 	  Tegra124 chips. The EMC controls the external DRAM on the board.
 59 	  This driver is for the External Memory Controller (EMC) found on
 60 	  Tegra210 chips. The EMC controls the external DRAM on the board.
 
 | 
| H A D | tegra124-emc.c | 1 // SPDX-License-Identifier: GPL-2.0-only9 #include <linux/clk-provider.h>
 15 #include <linux/interconnect-provider.h>
 507 	 * There are multiple sources in the EMC driver which could request
 512 	/* protect shared rate-change code path */
 518 static void emc_ccfifo_writel(struct tegra_emc *emc, u32 value,  in emc_ccfifo_writel()  argument
 521 	writel(value, emc->regs + EMC_CCFIFO_DATA);  in emc_ccfifo_writel()
 522 	writel(offset, emc->regs + EMC_CCFIFO_ADDR);  in emc_ccfifo_writel()
 525 static void emc_seq_update_timing(struct tegra_emc *emc)  in emc_seq_update_timing()  argument
 530 	writel(1, emc->regs + EMC_TIMING_CONTROL);  in emc_seq_update_timing()
 [all …]
 
 | 
| H A D | tegra30-emc.c | 1 // SPDX-License-Identifier: GPL-2.0+5  * Based on downstream driver from NVIDIA and tegra124-emc.c
 6  * Copyright (C) 2011-2014 NVIDIA Corporation
 9  * Copyright (C) 2019 GRATE-DRIVER project
 18 #include <linux/interconnect-provider.h>
 387 	 * There are multiple sources in the EMC driver which could request
 392 	/* protect shared rate-change code path */
 398 static int emc_seq_update_timing(struct tegra_emc *emc)  in emc_seq_update_timing()  argument
 403 	writel_relaxed(EMC_TIMING_UPDATE, emc->regs + EMC_TIMING_CONTROL);  in emc_seq_update_timing()
 405 	err = readl_relaxed_poll_timeout_atomic(emc->regs + EMC_STATUS, val,  in emc_seq_update_timing()
 [all …]
 
 | 
| H A D | mc.c | 1 // SPDX-License-Identifier: GPL-2.0-only3  * Copyright (C) 2014-2025 NVIDIA CORPORATION.  All rights reserved.
 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 },
 [all …]
 
 | 
| /linux/drivers/clk/tegra/ | 
| H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.02 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 …]
 
 | 
| H A D | clk-tegra124.c | 1 // SPDX-License-Identifier: GPL-2.0-only3  * Copyright (c) 2012-2014 NVIDIA CORPORATION.  All rights reserved.
 7 #include <linux/clk-provider.h>
 14 #include <dt-bindings/clock/tegra124-car.h>
 15 #include <dt-bindings/reset/tegra124-car.h>
 18 #include "clk-id.h"
 22  * banks present in the Tegra124/132 CAR IP block.  The banks are
 95 #define MASK(x) (BIT(x) - 1)
 995 	{ .dev_id = "rtc-tegra", .dt_id = TEGRA124_CLK_RTC },
 1053 	clk = tegra_clk_register_mc("mc", "emc", clk_base + CLK_SOURCE_EMC,  in tegra124_periph_clk_init()
 [all …]
 
 | 
| /linux/Documentation/devicetree/bindings/memory-controllers/ | 
| H A D | nvidia,tegra124-emc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)3 ---
 4 $id: http://devicetree.org/schemas/memory-controllers/nvidia,tegra124-emc.yaml#
 5 $schema: http://devicetree.org/meta-schemas/core.yaml#
 7 title: NVIDIA Tegra124 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,tegra124-emc
 26       - description: external memory clock
 [all …]
 
 | 
| H A D | nvidia,tegra124-mc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0)3 ---
 4 $id: http://devicetree.org/schemas/memory-controllers/nvidia,tegra124-mc.yaml#
 5 $schema: http://devicetree.org/meta-schemas/core.yaml#
 7 title: NVIDIA Tegra124 SoC Memory Controller
 10   - Jon Hunter <jonathanh@nvidia.com>
 11   - Thierry Reding <thierry.reding@gmail.com>
 14   Tegra124 SoC features a hybrid 2x32-bit / 1x64-bit memory controller.
 16   two memory channels. The Tegra124 Memory Controller handles memory requests
 22     const: nvidia,tegra124-mc
 [all …]
 
 | 
| /linux/arch/arm/boot/dts/nvidia/ | 
| H A D | tegra124.dtsi | 1 // SPDX-License-Identifier: GPL-2.02 #include <dt-bindings/clock/tegra124-car.h>
 3 #include <dt-bindings/gpio/tegra-gpio.h>
 4 #include <dt-bindings/memory/tegra124-mc.h>
 5 #include <dt-bindings/pinctrl/pinctrl-tegra.h>
 6 #include <dt-bindings/interrupt-controller/arm-gic.h>
 7 #include <dt-bindings/reset/tegra124-car.h>
 8 #include <dt-bindings/thermal/tegra124-soctherm.h>
 9 #include <dt-bindings/soc/tegra-pmc.h>
 11 #include "tegra124-peripherals-opp.dtsi"
 [all …]
 
 | 
| H A D | tegra124-nyan-blaze-emc.dtsi | 1 // SPDX-License-Identifier: GPL-2.03 #include <dt-bindings/clock/tegra124-car.h>
 7 		emc-timings-1 {
 8 			nvidia,ram-code = <1>;
 10 			timing-12750000 {
 11 				clock-frequency = <12750000>;
 12 				nvidia,parent-clock-frequency = <408000000>;
 14 				clock-names = "emc-parent";
 17 			timing-20400000 {
 18 				clock-frequency = <20400000>;
 [all …]
 
 | 
| H A D | tegra124-jetson-tk1-emc.dtsi | 1 // SPDX-License-Identifier: GPL-2.03 #include <dt-bindings/clock/tegra124-car.h>
 7 		emc-timings-3 {
 8 			nvidia,ram-code = <3>;
 10 			timing-12750000 {
 11 				clock-frequency = <12750000>;
 12 				nvidia,parent-clock-frequency = <408000000>;
 14 				clock-names = "emc-parent";
 17 			timing-20400000 {
 18 				clock-frequency = <20400000>;
 [all …]
 
 | 
| H A D | tegra124-apalis-emc.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 OR X113  * Copyright 2016-2019 Toradex AG
 7 #include <dt-bindings/clock/tegra124-car.h>
 11 		emc-timings-1 {
 12 			nvidia,ram-code = <1>;
 14 			timing-12750000 {
 15 				clock-frequency = <12750000>;
 16 				nvidia,parent-clock-frequency = <408000000>;
 18 				clock-names = "emc-parent";
 21 			timing-20400000 {
 [all …]
 
 | 
| H A D | tegra124-nyan-big-emc.dtsi | 1 // SPDX-License-Identifier: GPL-2.03 #include <dt-bindings/clock/tegra124-car.h>
 7 		emc-timings-1 {
 8 			nvidia,ram-code = <1>;
 10 			timing-12750000 {
 11 				clock-frequency = <12750000>;
 12 				nvidia,parent-clock-frequency = <408000000>;
 14 				clock-names = "emc-parent";
 17 			timing-20400000 {
 18 				clock-frequency = <20400000>;
 [all …]
 
 | 
| H A D | tegra124-jetson-tk1.dts | 1 // SPDX-License-Identifier: GPL-2.02 /dts-v1/;
 4 #include <dt-bindings/input/input.h>
 5 #include "tegra124.dtsi"
 7 #include "tegra124-jetson-tk1-emc.dtsi"
 10 	model = "NVIDIA Tegra124 Jetson TK1";
 11 	compatible = "nvidia,jetson-tk1", "nvidia,tegra124";
 17 		/* This order keeps the mapping DB9 connector <-> ttyS0 */
 24 		stdout-path = "serial0:115200n8";
 34 		avddio-pex-supply = <&vdd_1v05_run>;
 [all …]
 
 | 
| H A D | tegra124-nyan-blaze.dts | 1 // SPDX-License-Identifier: GPL-2.02 /dts-v1/;
 4 #include "tegra124-nyan.dtsi"
 6 #include "tegra124-nyan-blaze-emc.dtsi"
 10 	compatible = "google,nyan-blaze-rev10", "google,nyan-blaze-rev9",
 11 		     "google,nyan-blaze-rev8", "google,nyan-blaze-rev7",
 12 		     "google,nyan-blaze-rev6", "google,nyan-blaze-rev5",
 13 		     "google,nyan-blaze-rev4", "google,nyan-blaze-rev3",
 14 		     "google,nyan-blaze-rev2", "google,nyan-blaze-rev1",
 15 		     "google,nyan-blaze-rev0", "google,nyan-blaze",
 [all …]
 
 | 
| H A D | tegra124-nyan-big.dts | 1 // SPDX-License-Identifier: GPL-2.02 /dts-v1/;
 4 #include "tegra124-nyan.dtsi"
 6 #include "tegra124-nyan-big-emc.dtsi"
 9 	model = "Acer Chromebook 13 CB5-311";
 10 	compatible = "google,nyan-big-rev7", "google,nyan-big-rev6",
 11 		     "google,nyan-big-rev5", "google,nyan-big-rev4",
 12 		     "google,nyan-big-rev3", "google,nyan-big-rev2",
 13 		     "google,nyan-big-rev1", "google,nyan-big-rev0",
 14 		     "google,nyan-big", "google,nyan", "nvidia,tegra124";
 [all …]
 
 | 
| H A D | tegra124-apalis-v1.2.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 OR MIT3  * Copyright 2016-2018 Toradex AG
 6 #include "tegra124.dtsi"
 7 #include "tegra124-apalis-emc.dtsi"
 21 		avddio-pex-supply = <®_1v05_vdd>;
 22 		avdd-pex-pll-supply = <®_1v05_vdd>;
 23 		avdd-pll-erefe-supply = <®_1v05_avdd>;
 24 		dvddio-pex-supply = <®_1v05_vdd>;
 25 		hvdd-pex-pll-e-supply = <®_module_3v3>;
 26 		hvdd-pex-supply = <®_module_3v3>;
 [all …]
 
 | 
| H A D | tegra124-apalis.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 OR X113  * Copyright 2016-2019 Toradex AG
 6 #include "tegra124.dtsi"
 7 #include "tegra124-apalis-emc.dtsi"
 20 		avddio-pex-supply = <®_1v05_vdd>;
 21 		avdd-pex-pll-supply = <®_1v05_vdd>;
 22 		avdd-pll-erefe-supply = <®_1v05_avdd>;
 23 		dvddio-pex-supply = <®_1v05_vdd>;
 24 		hvdd-pex-pll-e-supply = <®_module_3v3>;
 25 		hvdd-pex-supply = <®_module_3v3>;
 [all …]
 
 | 
| /linux/Documentation/devicetree/bindings/clock/ | 
| H A D | nvidia,tegra124-car.yaml | 1 # SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause)3 ---
 4 $id: http://devicetree.org/schemas/clock/nvidia,tegra124-car.yaml#
 5 $schema: http://devicetree.org/meta-schemas/core.yaml#
 10   - Jon Hunter <jonathanh@nvidia.com>
 11   - Thierry Reding <thierry.reding@gmail.com>
 31       - nvidia,tegra124-car
 32       - nvidia,tegra132-car
 37   '#clock-cells':
 40   "#reset-cells":
 [all …]
 
 | 
| /linux/arch/arm64/boot/dts/nvidia/ | 
| H A D | tegra132.dtsi | 1 // SPDX-License-Identifier: GPL-2.02 #include <dt-bindings/clock/tegra124-car.h>
 3 #include <dt-bindings/gpio/tegra-gpio.h>
 4 #include <dt-bindings/memory/tegra124-mc.h>
 5 #include <dt-bindings/pinctrl/pinctrl-tegra.h>
 6 #include <dt-bindings/pinctrl/pinctrl-tegra-xusb.h>
 7 #include <dt-bindings/interrupt-controller/arm-gic.h>
 8 #include <dt-bindings/thermal/tegra124-soctherm.h>
 9 #include <dt-bindings/soc/tegra-pmc.h>
 11 #include "tegra132-peripherals-opp.dtsi"
 [all …]
 
 | 
| H A D | tegra210.dtsi | 1 // SPDX-License-Identifier: GPL-2.02 #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/Documentation/devicetree/bindings/devfreq/ | 
| H A 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/arch/arm/mach-tegra/ | 
| H A D | sleep-tegra30.S | 1 /* SPDX-License-Identifier: GPL-2.0-only */11 #include <asm/asm-offsets.h>
 81 .arch armv7-a
 192  * Puts the current CPU in wait-for-event mode on the flow controller
 193  * and powergates it -- flags (in R0) indicate the request type.
 196  * corrupts r0-r4, r10-r12
 293 	 * CPU power-gating process, to avoid loading from SDRAM which
 294 	 * are not supported once SDRAM is put into self-refresh.
 296 	 * disabled before putting SDRAM into self-refresh to avoid
 356  * self-refresh, PLLC, PLLM and PLLP reenabled, CPU running on PLLX,
 [all …]
 
 | 
| /linux/drivers/devfreq/ | 
| H A D | tegra30-devfreq.c | 1 // SPDX-License-Identifier: GPL-2.0-only76  * struct tegra_devfreq_device_config - configuration specific to an ACTMON
 96 	 * increasing the EMC frequency when the CPU is very busy but not
 152  * struct tegra_devfreq_device - state specific to an ACTMON device
 220 	return readl_relaxed(tegra->regs + offset);  in actmon_readl()
 225 	writel_relaxed(val, tegra->regs + offset);  in actmon_writel()
 230 	return readl_relaxed(dev->regs + offset);  in device_readl()
 236 	writel_relaxed(val, dev->regs + offset);  in device_writel()
 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()
 [all …]
 
 |