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