/linux/drivers/memory/tegra/ |
H A 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 …]
|
H A 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. 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-only 9 #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-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/arch/arm/boot/dts/nvidia/ |
H A D | tegra124.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 2 #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.0 3 #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.0 3 #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 X11 3 * 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.0 3 #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.0 2 /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.0 2 /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.0 2 /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 MIT 3 * 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 X11 3 * 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/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/drivers/clk/tegra/ |
H A 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 …]
|
H A D | clk-tegra124.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * 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/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.0 2 #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 …]
|
/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-only 76 * 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 …]
|
/linux/drivers/usb/host/ |
H A 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 …]
|