Home
last modified time | relevance | path

Searched +full:tegra186 +full:- +full:bpmp (Results 1 – 25 of 35) sorted by relevance

12

/OK3568_Linux_fs/kernel/arch/arm64/boot/dts/nvidia/
H A Dtegra186.dtsi1 // 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 Dtegra234.dtsi1 // 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 Dtegra194.dtsi1 // 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 Dtegra186.dtsi2 #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 Dtegra186-p2771-0000.dtsi1 #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 Dnvidia,tegra186-bpmp.txt1 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 Dnvidia,tegra186-bpmp.txt1 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 Dnvidia,tegra186-bpmp-i2c.txt1 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 Dnvidia,tegra186-bpmp-i2c.txt1 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 Dnvidia,tegra186-bpmp-thermal.txt1 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 Dnvidia,tegra186-mc.yaml1 # 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 DMakefile1 # 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 Dnvidia,tegra186-dspk.yaml1 # 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 Dtegra186-cpufreq.c1 // 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 Dtegra186-emc.c1 // 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 Dnvidia,tegra20-pcie.txt4 - 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 DKconfig2 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 DKconfig23 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 Dtegra186_bpmp_i2c.c4 * 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 DKconfig1 # 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 Dtegra-bpmp-thermal.c1 // 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 DKconfig28 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 DKconfig18 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 DKconfig62 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 Di2c-tegra-bpmp.c1 // 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 …]

12