| .. | .. |
|---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-only */ |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * clk-dfll.h - prototypes and macros for the Tegra DFLL clocksource driver |
|---|
| 3 | | - * Copyright (C) 2013 NVIDIA Corporation. All rights reserved. |
|---|
| 4 | + * Copyright (C) 2013-2019 NVIDIA Corporation. All rights reserved. |
|---|
| 4 | 5 | * |
|---|
| 5 | 6 | * Aleksandr Frid <afrid@nvidia.com> |
|---|
| 6 | 7 | * Paul Walmsley <pwalmsley@nvidia.com> |
|---|
| 7 | | - * |
|---|
| 8 | | - * This program is free software; you can redistribute it and/or modify |
|---|
| 9 | | - * it under the terms of the GNU General Public License version 2 as |
|---|
| 10 | | - * published by the Free Software Foundation. |
|---|
| 11 | | - * |
|---|
| 12 | | - * This program is distributed in the hope that it will be useful, but WITHOUT |
|---|
| 13 | | - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|---|
| 14 | | - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
|---|
| 15 | | - * more details. |
|---|
| 16 | 8 | */ |
|---|
| 17 | 9 | |
|---|
| 18 | 10 | #ifndef __DRIVERS_CLK_TEGRA_CLK_DFLL_H |
|---|
| .. | .. |
|---|
| 22 | 14 | #include <linux/reset.h> |
|---|
| 23 | 15 | #include <linux/types.h> |
|---|
| 24 | 16 | |
|---|
| 17 | +#include "cvb.h" |
|---|
| 18 | + |
|---|
| 25 | 19 | /** |
|---|
| 26 | 20 | * struct tegra_dfll_soc_data - SoC-specific hooks/integration for the DFLL driver |
|---|
| 27 | 21 | * @dev: struct device * that holds the OPP table for the DFLL |
|---|
| 28 | 22 | * @max_freq: maximum frequency supported on this SoC |
|---|
| 29 | 23 | * @cvb: CPU frequency table for this SoC |
|---|
| 24 | + * @alignment: parameters of the regulator step and offset |
|---|
| 30 | 25 | * @init_clock_trimmers: callback to initialize clock trimmers |
|---|
| 31 | 26 | * @set_clock_trimmers_high: callback to tune clock trimmers for high voltage |
|---|
| 32 | 27 | * @set_clock_trimmers_low: callback to tune clock trimmers for low voltage |
|---|
| .. | .. |
|---|
| 35 | 30 | struct device *dev; |
|---|
| 36 | 31 | unsigned long max_freq; |
|---|
| 37 | 32 | const struct cvb_table *cvb; |
|---|
| 33 | + struct rail_alignment alignment; |
|---|
| 38 | 34 | |
|---|
| 39 | 35 | void (*init_clock_trimmers)(void); |
|---|
| 40 | 36 | void (*set_clock_trimmers_high)(void); |
|---|
| .. | .. |
|---|
| 46 | 42 | struct tegra_dfll_soc_data *tegra_dfll_unregister(struct platform_device *pdev); |
|---|
| 47 | 43 | int tegra_dfll_runtime_suspend(struct device *dev); |
|---|
| 48 | 44 | int tegra_dfll_runtime_resume(struct device *dev); |
|---|
| 45 | +int tegra_dfll_suspend(struct device *dev); |
|---|
| 46 | +int tegra_dfll_resume(struct device *dev); |
|---|
| 49 | 47 | |
|---|
| 50 | 48 | #endif /* __DRIVERS_CLK_TEGRA_CLK_DFLL_H */ |
|---|