xref: /rk3399_rockchip-uboot/arch/arm/include/asm/arch-tegra/funcmux.h (revision 5b8031ccb4ed6e84457d883198d77efc307085dc)
1dc89ad14STom Warren /*
2dc89ad14STom Warren  * Copyright (c) 2010-2012, NVIDIA CORPORATION.  All rights reserved.
3dc89ad14STom Warren  *
4*5b8031ccSTom Rini  * SPDX-License-Identifier:	GPL-2.0
5dc89ad14STom Warren  */
6dc89ad14STom Warren 
7dc89ad14STom Warren /* Tegra high-level function multiplexing */
8dc89ad14STom Warren 
9dc89ad14STom Warren #ifndef _TEGRA_FUNCMUX_H_
10dc89ad14STom Warren #define _TEGRA_FUNCMUX_H_
11dc89ad14STom Warren 
12dc89ad14STom Warren /**
13dc89ad14STom Warren  * Select a config for a particular peripheral.
14dc89ad14STom Warren  *
15dc89ad14STom Warren  * Each peripheral can operate through a number of configurations,
16dc89ad14STom Warren  * which are sets of pins that it uses to bring out its signals.
17dc89ad14STom Warren  * The basic config is 0, and higher numbers indicate different
18dc89ad14STom Warren  * pinmux settings to bring the peripheral out on other pins,
19dc89ad14STom Warren  *
20dc89ad14STom Warren  * This function also disables tristate for the function's pins,
21dc89ad14STom Warren  * so that they operate in normal mode.
22dc89ad14STom Warren  *
23dc89ad14STom Warren  * @param id		Peripheral id
24dc89ad14STom Warren  * @param config	Configuration to use (FUNCMUX_...), 0 for default
25dc89ad14STom Warren  * @return 0 if ok, -1 on error (e.g. incorrect id or config)
26dc89ad14STom Warren  */
27dc89ad14STom Warren int funcmux_select(enum periph_id id, int config);
28dc89ad14STom Warren 
29dc89ad14STom Warren #endif	/* _TEGRA_FUNCMUX_H_ */
30