/Linux-v5.15/drivers/memory/tegra/ |
D | tegra20-emc.c | 1 // SPDX-License-Identifier: GPL-2.0 13 #include <linux/interconnect-provider.h> 90 #define EMC_CLKCHANGE_PD_ENABLE BIT(1) 99 #define EMC_DBG_WRITE_MUX_ACTIVE BIT(1) 106 #define EMC_PWR_GATHER_CLEAR (1 << 8) 185 struct emc_timing *timings; member 195 * There are multiple sources in the EMC driver which could request 200 /* protect shared rate-change code path */ 208 struct tegra_emc *emc = data; in tegra_emc_isr() local 212 status = readl_relaxed(emc->regs + EMC_INTSTATUS) & intmask; in tegra_emc_isr() [all …]
|
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 17 #include <linux/interconnect-provider.h> 156 ((num) > 1 ? DRAM_DEV_SEL_ALL : DRAM_DEV_SEL_0) 166 #define EMC_DBG_WRITE_MUX_ACTIVE BIT(1) 197 (((num) > 1 ? 0 : 2) | EMC_REFCTRL_ENABLE) 198 #define EMC_REFCTRL_DISABLE_ALL(num) ((num) > 1 ? 0 : 2) 204 #define EMC_CLKCHANGE_PD_ENABLE BIT(1) [all …]
|
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" 44 #define PLLM_VCOB 1 62 next->trim_regs[EMC_PMACRO_OB_DDLL_LONG_DQ_RANK ## \ 69 next->trim_perch_regs[EMC ## chan ## \ 80 ((new[n + 1] << EMC_PMACRO_OB_DDLL_LONG_DQ_RANK ## rank ## _ ##\ 522 { .bank = 1, .offset = EMC_MRW10, }, 524 { .bank = 1, .offset = EMC_MRW11, }, [all …]
|
D | tegra124-emc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 #include <linux/clk-provider.h> 15 #include <linux/interconnect-provider.h> 271 #define EMC_BGBIAS_CTL0_BIAS0_DSC_E_PWRD BIT(1) 281 #define EMC_REFCTRL_DEV_SEL(n) (((n > 1) ? 0 : 2) << EMC_REFCTRL_DEV_SEL_SHIFT) 282 #define EMC_DRAM_DEV_SEL(n) ((n > 1) ? DRAM_DEV_SEL_ALL : DRAM_DEV_SEL_0) 289 DRAM_TYPE_DDR1 = 1, 495 struct emc_timing *timings; member 507 * There are multiple sources in the EMC driver which could request 512 /* protect shared rate-change code path */ [all …]
|
D | tegra210-emc.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Copyright (c) 2015-2020, NVIDIA CORPORATION. All rights reserved. 24 #define EMC_DBG_WRITE_MUX_ACTIVE BIT(1) 33 #define EMC_PIN_PIN_CKEB BIT(1) 143 #define EMC_CFG_DIG_DLL_CFG_DLL_STALL_ALL_UNTIL_LOCK BIT(1) 175 #define EMC_ZQ_CAL_ZQ_LATCH_CMD BIT(1) 197 #define EMC_CCFIFO_ADDR_STALL_BY_1 (1 << 31) 243 #define EMC_FBIO_CFG7_CH0_ENABLE BIT(1) 653 #define EMC_PMACRO_CMD_PAD_TX_CTRL_CMD_DQ_TX_E_DCC BIT(1) 661 #define EMC_PMACRO_DATA_PAD_TX_CTRL_DATA_DQ_TX_E_DCC BIT(1) [all …]
|
D | mc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 8 #include <linux/dma-mapping.h> 25 { .compatible = "nvidia,tegra20-mc-gart", .data = &tegra20_mc_soc }, 28 { .compatible = "nvidia,tegra30-mc", .data = &tegra30_mc_soc }, 31 { .compatible = "nvidia,tegra114-mc", .data = &tegra114_mc_soc }, 34 { .compatible = "nvidia,tegra124-mc", .data = &tegra124_mc_soc }, 37 { .compatible = "nvidia,tegra132-mc", .data = &tegra132_mc_soc }, 40 { .compatible = "nvidia,tegra210-mc", .data = &tegra210_mc_soc }, 43 { .compatible = "nvidia,tegra186-mc", .data = &tegra186_mc_soc }, 46 { .compatible = "nvidia,tegra194-mc", .data = &tegra194_mc_soc }, [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/memory-controllers/ |
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# 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 22 maxItems: 1 26 - description: external memory clock [all …]
|
D | nvidia,tegra30-emc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0) 3 --- 4 $id: http://devicetree.org/schemas/memory-controllers/nvidia,tegra30-emc.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> 15 The EMC interfaces with the off-chip SDRAM to service the request stream 16 sent from Memory Controller. The EMC also has various performance-affecting 18 settings. Tegra30 EMC supports multiple JEDEC standard protocols: LPDDR2, [all …]
|
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# 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. 22 const: nvidia,tegra124-mc 25 maxItems: 1 28 maxItems: 1 [all …]
|
D | nvidia,tegra30-mc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0) 3 --- 4 $id: http://devicetree.org/schemas/memory-controllers/nvidia,tegra30-mc.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> 39 const: nvidia,tegra30-mc 42 maxItems: 1 45 maxItems: 1 [all …]
|
/Linux-v5.15/drivers/clk/tegra/ |
D | clk-tegra124-emc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * drivers/clk/tegra/clk-emc.c 11 #include <linux/clk-provider.h> 47 * List of clock sources for various parents the EMC clock can have. 54 #define EMC_SRC_PLL_C 1 79 struct tegra_emc *emc; member 82 struct emc_timing *timings; member 105 val = readl(tegra->clk_regs + CLK_SOURCE_EMC); in emc_recalc_rate() 113 * safer since things have EMC rate floors. Also don't touch parent_rate 125 for (k = 0; k < tegra->num_timings; k++) { in emc_determine_rate() [all …]
|
D | clk-tegra210-emc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2015-2020, NVIDIA CORPORATION. All rights reserved. 8 #include <linux/clk-provider.h> 23 #define CLK_SRC_PLLC 1 53 struct tegra210_clk_emc *emc = to_tegra210_clk_emc(hw); in tegra210_clk_emc_get_parent() local 57 value = readl_relaxed(emc->regs + CLK_SOURCE_EMC); in tegra210_clk_emc_get_parent() 66 struct tegra210_clk_emc *emc = to_tegra210_clk_emc(hw); in tegra210_clk_emc_recalc_rate() local 71 * ->set_rate(), so the parent rate passed in here was cached from the in tegra210_clk_emc_recalc_rate() 72 * parent before the ->set_rate() call. in tegra210_clk_emc_recalc_rate() 74 * This can lead to wrong results being reported for the EMC clock if in tegra210_clk_emc_recalc_rate() [all …]
|
/Linux-v5.15/arch/arm/boot/dts/ |
D | tegra30-asus-nexus7-tilapia-memory-timings.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 #include "tegra30-asus-nexus7-grouper-memory-timings.dtsi" 7 * Tilapia's memory timings are pretty much the same as the Grouper's 9 * these differentiating timings are overridden here for Tilapia. 12 memory-controller@7000f400 { 13 emc-timings-0 { 14 timing-667000000 { 15 clock-frequency = <667000000>; 17 nvidia,emc-auto-cal-interval = <0x001fffff>; 18 nvidia,emc-mode-1 = <0x80100002>; [all …]
|
D | tegra124-nyan-blaze-emc.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 4 emc-timings-1 { 5 nvidia,ram-code = <1>; 7 timing-12750000 { 8 clock-frequency = <12750000>; 9 nvidia,parent-clock-frequency = <408000000>; 11 clock-names = "emc-parent"; 13 timing-20400000 { 14 clock-frequency = <20400000>; 15 nvidia,parent-clock-frequency = <408000000>; [all …]
|
D | tegra124-apalis-emc.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 OR X11 3 * Copyright 2016-2019 Toradex AG 9 emc-timings-1 { 10 nvidia,ram-code = <1>; 12 timing-12750000 { 13 clock-frequency = <12750000>; 14 nvidia,parent-clock-frequency = <408000000>; 16 clock-names = "emc-parent"; 18 timing-20400000 { 19 clock-frequency = <20400000>; [all …]
|
D | tegra124-jetson-tk1-emc.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 4 emc-timings-3 { 5 nvidia,ram-code = <3>; 7 timing-12750000 { 8 clock-frequency = <12750000>; 9 nvidia,parent-clock-frequency = <408000000>; 11 clock-names = "emc-parent"; 13 timing-20400000 { 14 clock-frequency = <20400000>; 15 nvidia,parent-clock-frequency = <408000000>; [all …]
|
D | tegra30-asus-nexus7-grouper-memory-timings.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 4 memory-controller@7000f000 { 5 emc-timings-0 { 6 nvidia,ram-code = <0>; /* Elpida EDJ2108EDBG-DJL-F */ 8 timing-25500000 { 9 clock-frequency = <25500000>; 11 nvidia,emem-configuration = < 33 timing-51000000 { 34 clock-frequency = <51000000>; 36 nvidia,emem-configuration = < [all …]
|
D | tegra30-ouya.dts | 1 // SPDX-License-Identifier: GPL-2.0 2 /dts-v1/; 4 #include <dt-bindings/input/gpio-keys.h> 5 #include <dt-bindings/input/input.h> 6 #include <dt-bindings/thermal/thermal.h> 9 #include "tegra30-cpu-opp.dtsi" 10 #include "tegra30-cpu-opp-microvolt.dtsi" 26 stdout-path = "serial0:115200n8"; 33 reserved-memory { 34 #address-cells = <1>; [all …]
|
D | tegra124-nyan-big-emc.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 4 nvidia,long-ram-code; 8 emc-timings-1 { 9 nvidia,ram-code = <1>; 11 timing-12750000 { 12 clock-frequency = <12750000>; 13 nvidia,parent-clock-frequency = <408000000>; 15 clock-names = "emc-parent"; 17 timing-20400000 { 18 clock-frequency = <20400000>; [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/clock/ |
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> 30 const: nvidia,tegra124-car 33 maxItems: 1 35 '#clock-cells': 36 const: 1 [all …]
|