| /OK3568_Linux_fs/kernel/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 | tegra234.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 #include <dt-bindings/clock/tegra234-clock.h> 4 #include <dt-bindings/interrupt-controller/arm-gic.h> 5 #include <dt-bindings/mailbox/tegra186-hsp.h> 6 #include <dt-bindings/reset/tegra234-reset.h> 10 interrupt-parent = <&gic>; 11 #address-cells = <2>; 12 #size-cells = <2>; 15 compatible = "simple-bus"; 16 #address-cells = <1>; [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.h> 7 #include <dt-bindings/power/tegra194-powergate.h> 8 #include <dt-bindings/reset/tegra194-reset.h> 9 #include <dt-bindings/thermal/tegra194-bpmp-thermal.h> 10 #include <dt-bindings/memory/tegra194-mc.h> [all …]
|
| /OK3568_Linux_fs/u-boot/arch/arm/dts/ |
| H A D | tegra186.dtsi | 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/power/tegra186-powergate.h> 7 #include <dt-bindings/reset/tegra186-reset.h> 10 compatible = "nvidia,tegra186"; 11 interrupt-parent = <&gic>; 12 #address-cells = <2>; 13 #size-cells = <2>; [all …]
|
| H A D | tegra186-p2771-0000.dtsi | 1 #include "tegra186.dtsi" 4 model = "NVIDIA P2771-0000"; 5 compatible = "nvidia,p2771-0000", "nvidia,tegra186"; 8 stdout-path = &uarta; 14 i2c0 = "/bpmp/i2c"; 30 phy-reset-gpios = <&gpio_main TEGRA_MAIN_GPIO(M, 4) GPIO_ACTIVE_LOW>; 51 wp-gpios = <&gpio_main TEGRA_MAIN_GPIO(P, 4) GPIO_ACTIVE_HIGH>; 52 bus-width = <4>; 57 bus-width = <8>; 58 non-removable; [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/firmware/ |
| H A D | nvidia,tegra186-bpmp.txt | 1 NVIDIA Tegra Boot and Power Management Processor (BPMP) 3 The BPMP is a specific processor in Tegra chip, which is designed for 6 defines the resources that would be used by the BPMP firmware driver, 8 and BPMP. 11 - compatible 14 - "nvidia,tegra186-bpmp" 15 - mboxes : The phandle of mailbox controller and the mailbox specifier. 16 - shmem : List of the phandle of the TX and RX shared memory area that 17 the IPC between CPU and BPMP is based on. 18 - #clock-cells : Should be 1. [all …]
|
| /OK3568_Linux_fs/u-boot/doc/device-tree-bindings/firmware/ |
| H A D | nvidia,tegra186-bpmp.txt | 1 NVIDIA Tegra Boot and Power Management Processor (BPMP) 3 The BPMP is a specific processor in Tegra chip, which is designed for 6 defines the resources that would be used by the BPMP firmware driver, 8 and BPMP. 11 - name : Should be bpmp 12 - compatible 15 - "nvidia,tegra186-bpmp" 16 - mboxes : The phandle of mailbox controller and the mailbox specifier. 17 - shmem : List of the phandle of the TX and RX shared memory area that 18 the IPC between CPU and BPMP is based on. [all …]
|
| /OK3568_Linux_fs/u-boot/doc/device-tree-bindings/i2c/ |
| H A D | nvidia,tegra186-bpmp-i2c.txt | 1 NVIDIA Tegra186 BPMP I2C controller 3 In Tegra186, the BPMP (Boot and Power Management Processor) owns certain HW 5 running on other CPUs must perform IPC to the BPMP in order to execute 9 The BPMP I2C node must be located directly inside the main BPMP node. See 10 ../firmware/nvidia,tegra186-bpmp.txt for details of the BPMP binding. 16 - compatible: 19 - "nvidia,tegra186-bpmp-i2c". 20 - #address-cells: Address cells for I2C device address. 21 Single-cell integer. 23 - #size-cells: [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/i2c/ |
| H A D | nvidia,tegra186-bpmp-i2c.txt | 1 NVIDIA Tegra186 BPMP I2C controller 3 In Tegra186, the BPMP (Boot and Power Management Processor) owns certain HW 5 running on other CPUs must perform IPC to the BPMP in order to execute 9 The BPMP I2C node must be located directly inside the main BPMP node. See 10 ../firmware/nvidia,tegra186-bpmp.txt for details of the BPMP binding. 16 - compatible: 19 - "nvidia,tegra186-bpmp-i2c". 20 - #address-cells: Address cells for I2C device address. 21 Single-cell integer. 23 - #size-cells: [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/thermal/ |
| H A D | nvidia,tegra186-bpmp-thermal.txt | 1 NVIDIA Tegra186 BPMP thermal sensor 3 In Tegra186, the BPMP (Boot and Power Management Processor) implements an 6 exposed by BPMP. 8 The BPMP thermal node must be located directly inside the main BPMP node. See 9 ../firmware/nvidia,tegra186-bpmp.txt for details of the BPMP binding. 11 This node represents a thermal sensor. See Documentation/devicetree/bindings/thermal/thermal-sensor… 15 - compatible: 18 - "nvidia,tegra186-bpmp-thermal" 19 - "nvidia,tegra194-bpmp-thermal" 20 - #thermal-sensor-cells: Cell for sensor index. [all …]
|
| /OK3568_Linux_fs/kernel/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 16 handles memory requests for 40-bit virtual addresses from internal clients 27 pattern: "^memory-controller@[0-9a-f]+$" [all …]
|
| /OK3568_Linux_fs/kernel/drivers/firmware/tegra/ |
| H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0-only 2 tegra-bpmp-y = bpmp.o 3 tegra-bpmp-$(CONFIG_ARCH_TEGRA_210_SOC) += bpmp-tegra210.o 4 tegra-bpmp-$(CONFIG_ARCH_TEGRA_186_SOC) += bpmp-tegra186.o 5 tegra-bpmp-$(CONFIG_ARCH_TEGRA_194_SOC) += bpmp-tegra186.o 6 tegra-bpmp-$(CONFIG_ARCH_TEGRA_234_SOC) += bpmp-tegra186.o 7 tegra-bpmp-$(CONFIG_DEBUG_FS) += bpmp-debugfs.o 8 obj-$(CONFIG_TEGRA_BPMP) += tegra-bpmp.o 9 obj-$(CONFIG_TEGRA_IVC) += ivc.o
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/sound/ |
| H A D | nvidia,tegra186-dspk.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/nvidia,tegra186-dspk.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Tegra186 DSPK Controller Device Tree Bindings 11 Density Modulation (PDM) transmitter that up-samples the input to 13 over sampled Pulse Code Modulation (PCM) input to the desired 1-bit 17 - Jon Hunter <jonathanh@nvidia.com> 18 - Sameer Pujar <spujar@nvidia.com> 22 pattern: "^dspk@[0-9a-f]*$" [all …]
|
| /OK3568_Linux_fs/kernel/drivers/cpufreq/ |
| H A D | tegra186-cpufreq.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 #include <linux/dma-mapping.h> 12 #include <soc/tegra/bpmp.h> 13 #include <soc/tegra/bpmp-abi.h> 26 #define NO_CPU -1 61 for (i = 0; i < data->num_clusters; i++) { in tegra186_cpufreq_init() 62 struct tegra186_cpufreq_cluster *cluster = &data->clusters[i]; in tegra186_cpufreq_init() 64 cluster->info; in tegra186_cpufreq_init() 67 for (core = 0; core < ARRAY_SIZE(info->cpus); core++) { in tegra186_cpufreq_init() 68 if (info->cpus[core] == policy->cpu) in tegra186_cpufreq_init() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/memory/tegra/ |
| H A D | tegra186-emc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 12 #include <soc/tegra/bpmp.h> 20 struct tegra_bpmp *bpmp; member 38 * to control the EMC frequency. The top-level directory can be found here: 44 * - available_rates: This file contains a list of valid, space-separated 47 * - min_rate: Writing a value to this file sets the given frequency as the 52 * - max_rate: Similarily to the min_rate file, writing a value to this file 64 for (i = 0; i < emc->num_dvfs; i++) in tegra186_emc_validate_rate() 65 if (rate == emc->dvfs[i].rate) in tegra186_emc_validate_rate() 74 struct tegra186_emc *emc = s->private; in tegra186_emc_debug_available_rates_show() [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/pci/ |
| H A D | nvidia,tegra20-pcie.txt | 4 - compatible: Must be: 5 - "nvidia,tegra20-pcie": for Tegra20 6 - "nvidia,tegra30-pcie": for Tegra30 7 - "nvidia,tegra124-pcie": for Tegra124 and Tegra132 8 - "nvidia,tegra210-pcie": for Tegra210 9 - "nvidia,tegra186-pcie": for Tegra186 10 - power-domains: To ungate power partition by BPMP powergate driver. Must 11 contain BPMP phandle and PCIe power partition ID. This is required only 12 for Tegra186. 13 - device_type: Must be "pci" [all …]
|
| /OK3568_Linux_fs/u-boot/drivers/clk/tegra/ |
| H A D | Kconfig | 2 bool "Enable Tegra CAR-based clock driver" 5 Enable support for manipulating Tegra's on-SoC clocks via direct 9 bool "Enable Tegra186 BPMP-based clock driver" 12 Enable support for manipulating Tegra's on-SoC clocks via IPC 13 requests to the BPMP (Boot and Power Management Processor).
|
| /OK3568_Linux_fs/u-boot/drivers/i2c/ |
| H A D | Kconfig | 23 Enable old-style I2C functions for compatibility with existing code. 41 ---help--- 43 often dealt with by using an I2C pass-through interface provided by 44 the EC. On some unfortunate models (e.g. Spring) the pass-through 71 configuration is given by the device tree. Kernel-style device tree 73 Binding info: doc/device-tree-bindings/i2c/i2c-gpio.txt 82 i2c-gpio driver unless your system can cope with this limitation. 83 Binding info: doc/device-tree-bindings/i2c/i2c-at91.txt 123 Only single master mode is supported and only byte-by-byte 185 _ Standard-mode (up to 100 kHz) [all …]
|
| H A D | tegra186_bpmp_i2c.c | 4 * SPDX-License-Identifier: GPL-2.0 11 #include <asm/arch-tegra/bpmp_abi.h> 47 req.xfer.bus_id = priv->bpmp_bus_id; in tegra186_bpmp_i2c_xfer() 55 return -ENOSPC; in tegra186_bpmp_i2c_xfer() 58 return -EINVAL; in tegra186_bpmp_i2c_xfer() 68 req.xfer.data_size = p - &req.xfer.data_buf[0]; in tegra186_bpmp_i2c_xfer() 70 ret = misc_call(dev->parent, MRQ_I2C, &req, sizeof(req), &resp, in tegra186_bpmp_i2c_xfer() 78 return -EINVAL; in tegra186_bpmp_i2c_xfer() 93 priv->bpmp_bus_id = fdtdec_get_uint(gd->fdt_blob, dev_of_offset(dev), in tegra186_bpmp_i2c_probe() 94 "nvidia,bpmp-bus-id", U32_MAX); in tegra186_bpmp_i2c_probe() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/thermal/tegra/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 9 Tegra systems-on-chip. The driver supports four thermal zones 15 tristate "Tegra BPMP thermal sensing" 19 Tegra systems-on-chip with the BPMP coprocessor (Tegra186).
|
| H A D | tegra-bpmp-thermal.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2015-2017, NVIDIA CORPORATION. All rights reserved. 16 #include <soc/tegra/bpmp.h> 17 #include <soc/tegra/bpmp-abi.h> 28 struct tegra_bpmp *bpmp; member 43 req.get_temp.zone = zone->idx; in tegra_bpmp_thermal_get_temp() 52 err = tegra_bpmp_transfer(zone->tegra->bpmp, &msg); in tegra_bpmp_thermal_get_temp() 69 req.set_trip.zone = zone->idx; in tegra_bpmp_thermal_set_trips() 79 return tegra_bpmp_transfer(zone->tegra->bpmp, &msg); in tegra_bpmp_thermal_set_trips() 89 thermal_zone_device_update(zone->tzd, THERMAL_TRIP_VIOLATED); in tz_device_update_work_fn() [all …]
|
| /OK3568_Linux_fs/u-boot/drivers/power/domain/ |
| H A D | Kconfig | 28 bool "Enable Tegra186 BPMP-based power domain driver" 31 Enable support for manipulating Tegra's on-SoC power domains via IPC 32 requests to the BPMP (Boot and Power Management Processor).
|
| /OK3568_Linux_fs/u-boot/arch/arm/mach-tegra/ |
| H A D | Kconfig | 18 IVC (Inter-VM Communication) protocol is a Tegra-specific IPC 20 U-Boot, it is typically used for communication between the main CPU 45 bool "Tegra common options for SoCs without BPMP" 51 bool "Tegra 32-bit common options" 61 bool "Tegra 64-bit common options" 98 config TEGRA186 config in Tegra SoC select 99 bool "Tegra186 family" 115 When loading U-Boot into RAM over USB protocols using tools such as 116 tegrarcm or L4T's exec-uboot.sh/tegraflash.py, Tegra's USB device 120 does not "de-enumerate" the USB device. This option shuts down the [all …]
|
| /OK3568_Linux_fs/u-boot/drivers/misc/ |
| H A D | Kconfig | 62 bool "Rockchip e-fuse support" 65 Enable (read-only) access for the e-fuse block found in Rockchip 67 or through child-nodes that are generated based on the e-fuse map 79 from otp, such as cpu-leakage. 85 This driver support Decompress IP built-in Rockchip SoC, support 92 This driver support Decompress IP built-in Rockchip SoC, support 111 Enable command-line access to the Chrome OS EC (Embedded 113 a number of sub-commands for performing EC tasks such as 149 keyboard (use the -l flag to enable the LCD), verified boot context, 158 ARM Chromebooks such as pit, pi and nyan-big. The SPI interface [all …]
|
| /OK3568_Linux_fs/kernel/drivers/i2c/busses/ |
| H A D | i2c-tegra-bpmp.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * drivers/i2c/busses/i2c-tegra-bpmp.c 19 #include <soc/tegra/bpmp-abi.h> 20 #include <soc/tegra/bpmp.h> 32 struct tegra_bpmp *bpmp; member 37 * Linux flags are translated to BPMP defined I2C flags that are used in BPMP 88 * [addr little-endian][flags little-endian][len little-endian][data if write] 89 * [addr little-endian][flags little-endian][len little-endian][data if write] 105 char *buf = request->xfer.data_buf; in tegra_bpmp_serialize_i2c_msg() 113 err = tegra_bpmp_xlate_flags(msg->flags, &flags); in tegra_bpmp_serialize_i2c_msg() [all …]
|