/openbmc/linux/drivers/memory/tegra/ |
H A 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 …]
|
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 | 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 …]
|
H A 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 */ 896 /* currently selected table (nominal or derated) */ 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 [all …]
|
H A 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[PTFV_DQSOSC_MOVAVG_ ## dev ## _INDEX] = \ 79 next->ptfv_list[PTFV_DQSOSC_MOVAVG_ ## dev ## _INDEX] / \ 80 next->ptfv_list[PTFV_DVFS_SAMPLES_INDEX]; }) 86 ({ next->ptfv_list[PTFV_DQSOSC_MOVAVG_ ## dev ## _INDEX] += \ [all …]
|
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 | tegra20-emc.c | 1 // SPDX-License-Identifier: GPL-2.0 14 #include <linux/interconnect-provider.h> 216 * There are multiple sources in the EMC driver which could request 221 /* protect shared rate-change code path */ 237 struct tegra_emc *emc = data; in tegra_emc_isr() local 241 status = readl_relaxed(emc->regs + EMC_INTSTATUS) & intmask; in tegra_emc_isr() 247 dev_err_ratelimited(emc->dev, in tegra_emc_isr() 251 writel_relaxed(status, emc->regs + EMC_INTSTATUS); in tegra_emc_isr() 256 static struct emc_timing *tegra_emc_find_timing(struct tegra_emc *emc, in tegra_emc_find_timing() argument 262 for (i = 0; i < emc->num_timings; i++) { in tegra_emc_find_timing() [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/memory-controllers/ |
H A D | nvidia,tegra20-emc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/memory-controllers/nvidia,tegra20-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 External Memory Controller (EMC) interfaces with the off-chip SDRAM to 16 service the request stream sent from Memory Controller. The EMC also has 17 various performance-affecting settings beyond the obvious SDRAM configuration [all …]
|
H A 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# 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 28 clock-names: [all …]
|
/openbmc/linux/arch/arm/boot/dts/nvidia/ |
H A D | tegra20-acer-a500-picasso.dts | 1 // SPDX-License-Identifier: GPL-2.0 2 /dts-v1/; 4 #include <dt-bindings/input/atmel-maxtouch.h> 5 #include <dt-bindings/input/gpio-keys.h> 6 #include <dt-bindings/input/input.h> 7 #include <dt-bindings/thermal/thermal.h> 10 #include "tegra20-cpu-opp.dtsi" 11 #include "tegra20-cpu-opp-microvolt.dtsi" 32 * pre-existing /chosen node to be available to insert the 41 reserved-memory { [all …]
|
H A D | tegra20-colibri.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 22 nvidia,ddc-i2c-bus = <&hdmi_ddc>; 23 nvidia,hpd-gpio = 25 pll-supply = <®_1v8_avdd_hdmi_pll>; 26 vdd-supply = <®_3v3_avdd_hdmi>; 31 lan-reset-n-hog { 32 gpio-hog; 34 output-high; 35 line-name = "LAN_RESET#"; 38 /* Tri-stating GMI_WR_N on SODIMM pin 99 nPWE */ [all …]
|
H A D | tegra30-asus-tf201.dts | 1 // SPDX-License-Identifier: GPL-2.0 2 /dts-v1/; 4 #include "tegra30-asus-transformer-common.dtsi" 5 #include "tegra30-asus-lvds-display.dtsi" 19 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 27 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 35 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 43 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 51 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 57 /* Azurewave AW-NH615 BCM4329B1 */ [all …]
|
H A D | tegra20-asus-tf101.dts | 1 // SPDX-License-Identifier: GPL-2.0 2 /dts-v1/; 4 #include <dt-bindings/input/atmel-maxtouch.h> 5 #include <dt-bindings/input/gpio-keys.h> 6 #include <dt-bindings/input/input.h> 7 #include <dt-bindings/thermal/thermal.h> 10 #include "tegra20-cpu-opp.dtsi" 11 #include "tegra20-cpu-opp-microvolt.dtsi" 16 chassis-type = "convertible"; 33 * pre-existing /chosen node to be available to insert the [all …]
|
H A D | tegra30-asus-tf700t.dts | 1 // SPDX-License-Identifier: GPL-2.0 2 /dts-v1/; 4 #include "tegra30-asus-transformer-common.dtsi" 20 remote-endpoint = <&bridge_input>; 21 bus-width = <24>; 36 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 44 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 52 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 60 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 68 nvidia,enable-input = <TEGRA_PIN_DISABLE>; [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-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-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 | tegra30-asus-tf300t.dts | 1 // SPDX-License-Identifier: GPL-2.0 2 /dts-v1/; 4 #include "tegra30-asus-transformer-common.dtsi" 5 #include "tegra30-asus-lvds-display.dtsi" 12 tf300t-init-hog { 13 gpio-hog; 15 output-low; 27 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 35 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 43 nvidia,enable-input = <TEGRA_PIN_ENABLE>; [all …]
|
H A D | tegra30-asus-tf300tg.dts | 1 // SPDX-License-Identifier: GPL-2.0 2 /dts-v1/; 4 #include "tegra30-asus-transformer-common.dtsi" 5 #include "tegra30-asus-lvds-display.dtsi" 12 tf300tg-init-hog { 13 gpio-hog; 28 output-low; 39 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 47 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 55 nvidia,enable-input = <TEGRA_PIN_ENABLE>; [all …]
|
H A D | tegra20-paz00.dts | 1 // SPDX-License-Identifier: GPL-2.0 2 /dts-v1/; 4 #include <dt-bindings/input/input.h> 5 #include <dt-bindings/thermal/thermal.h> 8 #include "tegra20-cpu-opp.dtsi" 9 #include "tegra20-cpu-opp-microvolt.dtsi" 25 stdout-path = "serial0:115200n8"; 44 vdd-supply = <&hdmi_vdd_reg>; 45 pll-supply = <&hdmi_pll_reg>; 47 nvidia,ddc-i2c-bus = <&hdmi_ddc>; [all …]
|
/openbmc/u-boot/arch/arm/mach-tegra/tegra20/ |
H A D | emc.c | 1 // SPDX-License-Identifier: GPL-2.0+ 9 #include <asm/arch-tegra/ap.h> 10 #include <asm/arch-tegra/apb_misc.h> 12 #include <asm/arch/emc.h> 16 * The EMC registers have shadow registers. When the EMC clock is updated 20 * and relies on the clock lock on the emc clock to avoid races between 25 * This table defines the ordering of the registers provided to 94 ERR_NO_EMC_NODE = -10, 104 * Find EMC tables for the given ram code. 106 * The tegra EMC binding has two options, one using the ram code and one not. [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/reserved-memory/ |
H A 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> 14 EMC frequency table via a reserved memory region. 17 - $ref: reserved-memory.yaml 21 const: nvidia,tegra210-emc-table [all …]
|
/openbmc/linux/Documentation/ABI/testing/ |
H A D | sysfs-firmware-efi | 5 EFI system table. 11 Description: It shows the physical address of runtime service table entry in 12 the EFI system table. 18 Description: It shows the physical address of config table entry in the EFI 19 system table. 24 Contact: linux-efi@vger.kernel.org 26 Tables found via the EFI System Table. The order in 34 Contact: Narendra K <Narendra.K@dell.com>, linux-bugs@dell.com 36 Table version 2 on Dell EMC PowerEdge systems in binary format 37 Users: It is used by Dell EMC OpenManage Server Administrator tool to
|
/openbmc/u-boot/arch/arm/include/asm/arch-tegra20/ |
H A D | emc.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 14 /* EMC Registers */ 78 * Set up the EMC for the given rate. The timing parameters are retrieved 79 * from the device tree "nvidia,tegra20-emc" node and its 80 * "nvidia,tegra20-emc-table" sub-nodes. 84 * @return 0 if ok, else -ve error code (look in emc.c to decode it) 89 * Get a pointer to the EMC controller from the device tree. 92 * @return pointer to EMC controller
|
/openbmc/linux/drivers/clk/tegra/ |
H A 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. 79 struct tegra_emc *emc; 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() 126 if (tegra->timings[k].ram_code == ram_code) in emc_determine_rate() 130 for (t = k; t < tegra->num_timings; t++) { in emc_determine_rate() [all …]
|