mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-10-31 20:18:18 +00:00 
			
		
		
		
	As part of bringing the master branch back in to next, we need to allow for all of these changes to exist here. Reported-by: Jonas Karlman <jonas@kwiboo.se> Signed-off-by: Tom Rini <trini@konsulko.com>
		
			
				
	
	
		
			42 lines
		
	
	
		
			943 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			943 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0+ */
 | |
| /*
 | |
|  * Copyright (c) 2011, Google Inc. All rights reserved.
 | |
|  */
 | |
| 
 | |
| #ifndef _TEGRA_GPIO_H_
 | |
| #define _TEGRA_GPIO_H_
 | |
| 
 | |
| #include <linux/types.h>
 | |
| #include <dt-bindings/gpio/tegra-gpio.h>
 | |
| 
 | |
| #define TEGRA_GPIOS_PER_PORT	8
 | |
| #define TEGRA_PORTS_PER_BANK	4
 | |
| #define MAX_NUM_GPIOS           (TEGRA_GPIO_PORTS * TEGRA_GPIO_BANKS * 8)
 | |
| #define GPIO_NAME_SIZE		20	/* gpio_request max label len */
 | |
| 
 | |
| #define GPIO_BANK(x)		((x) >> 5)
 | |
| #define GPIO_PORT(x)		(((x) >> 3) & 0x3)
 | |
| #define GPIO_FULLPORT(x)	((x) >> 3)
 | |
| #define GPIO_BIT(x)		((x) & 0x7)
 | |
| 
 | |
| enum tegra_gpio_init {
 | |
| 	TEGRA_GPIO_INIT_IN,
 | |
| 	TEGRA_GPIO_INIT_OUT0,
 | |
| 	TEGRA_GPIO_INIT_OUT1,
 | |
| };
 | |
| 
 | |
| struct tegra_gpio_config {
 | |
| 	u32 gpio:16;
 | |
| 	u32 init:2;
 | |
| };
 | |
| 
 | |
| /**
 | |
|  * Configure a list of GPIOs
 | |
|  *
 | |
|  * @param config	List of GPIO configurations
 | |
|  * @param len		Number of config items in list
 | |
|  */
 | |
| void gpio_config_table(const struct tegra_gpio_config *config, int len);
 | |
| 
 | |
| #endif	/* TEGRA_GPIO_H_ */
 |