154862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren/*
254862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren * Copyright (c) 2011, NVIDIA CORPORATION.  All rights reserved.
354862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren *
454862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren * This software is licensed under the terms of the GNU General Public
554862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren * License version 2, as published by the Free Software Foundation, and
654862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren * may be copied, distributed, and modified under those terms.
754862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren *
854862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren * This program is distributed in the hope that it will be useful,
954862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren * but WITHOUT ANY WARRANTY; without even the implied warranty of
1054862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1154862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren * GNU General Public License for more details.
1254862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren *
1354862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren */
1454862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren
1554862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren#ifndef __MACH_TEGRA_BOARD_PINMUX_H
1654862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren#define __MACH_TEGRA_BOARD_PINMUX_H
1754862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren
1854862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren#define GPIO_DEV "tegra-gpio"
1954862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren#define PINMUX_DEV "tegra-pinmux"
2054862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren
2154862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warrenstruct tegra_pingroup_config;
2254862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warrenstruct tegra_gpio_table;
2354862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren
2454862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warrenstruct tegra_board_pinmux_conf {
2554862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren	struct tegra_pingroup_config *pgs;
2654862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren	int pg_count;
2754862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren
2854862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren	struct tegra_drive_pingroup_config *drives;
2954862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren	int drive_count;
3054862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren
3154862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren	struct tegra_gpio_table *gpios;
3254862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren	int gpio_count;
3354862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren};
3454862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren
3554862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warrenvoid tegra_board_pinmux_init(struct tegra_board_pinmux_conf *conf_a,
3654862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren			     struct tegra_board_pinmux_conf *conf_b);
3754862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren
3854862bf00968427cf8f7ffcb6dacf03161eae862Stephen Warren#endif
39