/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 | tegra186-emc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 14 #include "mc.h" 42 * to control the EMC frequency. The top-level directory can be found here: 48 * - available_rates: This file contains a list of valid, space-separated 51 * - min_rate: Writing a value to this file sets the given frequency as the 56 * - max_rate: Similarily to the min_rate file, writing a value to this file 68 for (i = 0; i < emc->num_dvfs; i++) in tegra186_emc_validate_rate() 69 if (rate == emc->dvfs[i].rate) in tegra186_emc_validate_rate() 78 struct tegra186_emc *emc = s->private; in tegra186_emc_debug_available_rates_show() 82 for (i = 0; i < emc->num_dvfs; i++) { in tegra186_emc_debug_available_rates_show() [all …]
|
H A D | tegra186.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2017-2021 NVIDIA CORPORATION. All rights reserved. 14 #include <soc/tegra/mc.h> 17 #include <dt-bindings/memory/tegra186-mc.h> 20 #include "mc.h" 26 static int tegra186_mc_probe(struct tegra_mc *mc) in tegra186_mc_probe() argument 28 struct platform_device *pdev = to_platform_device(mc->dev); in tegra186_mc_probe() 33 mc->bcast_ch_regs = devm_platform_ioremap_resource_byname(pdev, "broadcast"); in tegra186_mc_probe() 34 if (IS_ERR(mc->bcast_ch_regs)) { in tegra186_mc_probe() 35 if (PTR_ERR(mc->bcast_ch_regs) == -EINVAL) { in tegra186_mc_probe() [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> 22 #include "mc.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/Documentation/devicetree/bindings/firmware/ |
H A D | nvidia,tegra186-bpmp.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/firmware/nvidia,tegra186-bpmp.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Jon Hunter <jonathanh@nvidia.com> 25 - .../mailbox/mailbox.txt 26 - .../mailbox/nvidia,tegra186-hsp.yaml 32 - .../clock/clock-bindings.txt 33 - <dt-bindings/clock/tegra186-clock.h> [all …]
|
/linux/Documentation/devicetree/bindings/memory-controllers/ |
H A D | nvidia,tegra186-mc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/memory-controllers/nvidia,tegra186-mc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: NVIDIA Tegra186 (and later) SoC Memory Controller 10 - Jon Hunter <jonathanh@nvidia.com> 11 - Thierry Reding <thierry.reding@gmail.com> 14 The NVIDIA Tegra186 SoC features a 128 bit memory controller that is split 15 into four 32 bit channels to support LPDDR4 with x16 subpartitions. The MC 16 handles memory requests for 40-bit virtual addresses from internal clients [all …]
|
/linux/Documentation/devicetree/bindings/display/tegra/ |
H A D | nvidia,tegra186-display.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/tegra/nvidia,tegra186-display.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: NVIDIA Tegra186 (and later) Display Hub 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Jon Hunter <jonathanh@nvidia.com> 15 pattern: "^display-hub@[0-9a-f]+$" 19 - nvidia,tegra186-display 20 - nvidia,tegra194-display [all …]
|
H A D | nvidia,tegra20-host1x.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 3 --- 4 $id: http://devicetree.org/schemas/display/tegra/nvidia,tegra20-host1x.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Jon Hunter <jonathanh@nvidia.com> 13 description: The host1x top-level node defines a number of children, each 19 - enum: 20 - nvidia,tegra20-host1x 21 - nvidia,tegra30-host1x [all …]
|
/linux/arch/arm64/boot/dts/nvidia/ |
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
/linux/Documentation/devicetree/bindings/gpu/host1x/ |
H A 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# 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 26 - nvidia,tegra194-nvdec [all …]
|
H A 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# 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 26 - nvidia,tegra194-nvjpg [all …]
|
H A 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# 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 26 - nvidia,tegra194-nvenc [all …]
|
/linux/Documentation/devicetree/bindings/usb/ |
H A D | nvidia,tegra186-xusb.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/usb/nvidia,tegra186-xusb.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: NVIDIA Tegra186 xHCI controller 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Jon Hunter <jonathanh@nvidia.com> 18 const: nvidia,tegra186-xusb 22 - description: base and length of the xHCI host registers 23 - description: base and length of the XUSB FPCI registers [all …]
|
/linux/Documentation/devicetree/bindings/arm/tegra/ |
H A D | nvidia,tegra186-pmc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/arm/tegra/nvidia,tegra186-pmc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Jon Hunter <jonathanh@nvidia.com> 16 - nvidia,tegra186-pmc 17 - nvidia,tegra194-pmc 18 - nvidia,tegra234-pmc 24 reg-names: [all …]
|
/linux/include/soc/tegra/ |
H A D | mc.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 12 #include <linux/interconnect-provider.h> 14 #include <linux/reset-controller.h> 16 #include <linux/tegra-icc.h> 35 * Tegra SMMU, whereas on Tegra186 and later this is the ID used to override the ARM SMMU 60 /* stream ID overrides (Tegra186 and later) */ 103 struct tegra_mc *mc); 108 struct tegra_mc *mc) in tegra_smmu_probe() argument 128 int (*hotreset_assert)(struct tegra_mc *mc, 130 int (*hotreset_deassert)(struct tegra_mc *mc, [all …]
|
/linux/Documentation/devicetree/bindings/dma/ |
H A D | nvidia,tegra186-gpc-dma.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/dma/nvidia,tegra186-gpc-dma.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 15 - Jon Hunter <jonathanh@nvidia.com> 16 - Rajesh Gumasta <rgumasta@nvidia.com> 19 - $ref: dma-controller.yaml# 24 - const: nvidia,tegra186-gpcdma 25 - items: 26 - enum: [all …]
|
/linux/drivers/gpu/drm/tegra/ |
H A D | nvdec.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2015-2022, NVIDIA Corporation. 8 #include <linux/dma-mapping.h> 18 #include <soc/tegra/mc.h> 50 /* RISC-V specific data */ 63 writel(value, nvdec->regs + offset); in nvdec_writel() 71 if (nvdec->config->supports_sid && tegra_dev_iommu_get_stream_id(nvdec->dev, &stream_id)) { in nvdec_boot_falcon() 81 err = falcon_boot(&nvdec->falcon); in nvdec_boot_falcon() 85 err = falcon_wait_idle(&nvdec->falcon); in nvdec_boot_falcon() 87 dev_err(nvdec->dev, "falcon boot timed out\n"); in nvdec_boot_falcon() [all …]
|
/linux/Documentation/devicetree/bindings/serial/ |
H A D | 8250.yaml | 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - devicetree@vger.kernel.org 13 - $ref: serial.yaml# 14 - $ref: /schemas/memory-controllers/mc-peripheral-props.yaml# 15 - if: 17 - required: 18 - aspeed,lpc-io-reg 19 - required: 20 - aspeed,lpc-interrupts [all …]
|
/linux/drivers/dma/ |
H A D | tegra186-gpc-dma.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (c) 2014-2022, NVIDIA CORPORATION. All rights reserved. 10 #include <linux/dma-mapping.h> 21 #include <dt-bindings/memory/tegra186-mc.h> 22 #include "virt-dma.h" 87 /* MC sequence register */ 118 (GENMASK((fls(bs) - 2), 0) << TEGRA_GPCDMA_MMIOSEQ_BURST_SHIFT) 158 * on-flight burst and update DMA status register. 203 * sub-transfer as per requester details and hw support. This sub transfer 263 writel_relaxed(val, tdc->tdma->base_addr + tdc->chan_base_offset + reg); in tdc_write() [all …]
|
/linux/drivers/gpu/host1x/ |
H A D | dev.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (c) 2010-2013, NVIDIA Corporation. 10 #include <linux/dma-mapping.h> 27 #include <asm/dma-iommu.h> 47 writel(v, host1x->common_regs + r); in host1x_common_writel() 52 writel(v, host1x->hv_regs + r); in host1x_hypervisor_writel() 57 return readl(host1x->hv_regs + r); in host1x_hypervisor_readl() 62 void __iomem *sync_regs = host1x->regs + host1x->info->sync_offset; in host1x_sync_writel() 69 void __iomem *sync_regs = host1x->regs + host1x->info->sync_offset; in host1x_sync_readl() 76 writel(v, ch->regs + r); in host1x_ch_writel() [all …]
|
/linux/drivers/mmc/host/ |
H A D | sdhci-tegra.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 #include <linux/dma-mapping.h> 20 #include <linux/mmc/slot-gpio.h> 32 #include "sdhci-cqhci.h" 33 #include "sdhci-pltfm.h" 192 const struct sdhci_tegra_soc_data *soc_data = tegra_host->soc_data; in tegra_sdhci_readw() 194 if (unlikely((soc_data->nvquirks & NVQUIRK_FORCE_SDHCI_SPEC_200) && in tegra_sdhci_readw() 200 return readw(host->ioaddr + reg); in tegra_sdhci_readw() 213 pltfm_host->xfer_mode_shadow = val; in tegra_sdhci_writew() 216 writel((val << 16) | pltfm_host->xfer_mode_shadow, in tegra_sdhci_writew() [all …]
|
/linux/drivers/clk/tegra/ |
H A 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" 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 275 #define sdin_get_n_eff(cfg) ((cfg)->n * PLL_SDM_COEFF + ((cfg)->sdm_data ? \ [all …]
|