blob: ebef6ea1e89c27e665efb42f260d422db821c347 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0 */
Tom Warren13ac5442012-12-11 13:34:12 +00002/*
3 * Copyright (c) 2010-2012, NVIDIA CORPORATION. All rights reserved.
Tom Warren13ac5442012-12-11 13:34:12 +00004 */
5
6/* Tegra high-level function multiplexing */
7
8#ifndef _TEGRA_FUNCMUX_H_
9#define _TEGRA_FUNCMUX_H_
10
11/**
12 * Select a config for a particular peripheral.
13 *
14 * Each peripheral can operate through a number of configurations,
15 * which are sets of pins that it uses to bring out its signals.
16 * The basic config is 0, and higher numbers indicate different
17 * pinmux settings to bring the peripheral out on other pins,
18 *
19 * This function also disables tristate for the function's pins,
20 * so that they operate in normal mode.
21 *
22 * @param id Peripheral id
23 * @param config Configuration to use (FUNCMUX_...), 0 for default
Heinrich Schuchardt47b4c022022-01-19 18:05:50 +010024 * Return: 0 if ok, -1 on error (e.g. incorrect id or config)
Tom Warren13ac5442012-12-11 13:34:12 +000025 */
26int funcmux_select(enum periph_id id, int config);
27
28#endif /* _TEGRA_FUNCMUX_H_ */