1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Copyright (c) 2010-2012, NVIDIA CORPORATION. All rights reserved. 4 */ 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 24 * @return 0 if ok, -1 on error (e.g. incorrect id or config) 25 */ 26 int funcmux_select(enum periph_id id, int config); 27 28 #endif /* _TEGRA_FUNCMUX_H_ */ 29