mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 10:33:41 +02:00
dt-bindings: reset: Add Tegra114 CAR header
The way that resets are handled on these Tegra devices is that there is a set of peripheral clocks & resets which are paired up. This is because they are laid out in banks within the CAR (clock and reset) controller. In most cases we're referring to those resets, so you'll often see a clock ID used in conjection with the same reset ID for a given IP block. In addition to those peripheral resets, there are a number of extra resets that don't have a corresponding clock and which are exposed in registers outside of the peripheral banks, but still part of the CAR. To support those "special" registers, the TEGRA*_RESET() is used to denote resets outside of the regular peripheral resets. Essentially it defines the offset within the CAR at which special resets start. In the above case, Tegra114 has 5 banks with 32 peripheral resets each. The first special reset, TEGRA114_RESET(0), therefore gets ID 5 * 32 + 0 = 160. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Thierry Reding <treding@nvidia.com>
This commit is contained in:
parent
669c71f6c6
commit
7526e6db47
13
include/dt-bindings/reset/nvidia,tegra114-car.h
Normal file
13
include/dt-bindings/reset/nvidia,tegra114-car.h
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */
|
||||
/*
|
||||
* This header provides Tegra114-specific constants for binding
|
||||
* nvidia,tegra114-car.
|
||||
*/
|
||||
|
||||
#ifndef _DT_BINDINGS_RESET_NVIDIA_TEGRA114_CAR_H
|
||||
#define _DT_BINDINGS_RESET_NVIDIA_TEGRA114_CAR_H
|
||||
|
||||
#define TEGRA114_RESET(x) (5 * 32 + (x))
|
||||
#define TEGRA114_RST_DFLL_DVCO TEGRA114_RESET(0)
|
||||
|
||||
#endif /* _DT_BINDINGS_RESET_NVIDIA_TEGRA114_CAR_H */
|
||||
Loading…
Reference in New Issue
Block a user