1d604ac48SYing-Chun Liu (PaulLiu) /* 2d604ac48SYing-Chun Liu (PaulLiu) * Copyright (c) 2019, Linaro Limited 3d604ac48SYing-Chun Liu (PaulLiu) * Copyright (c) 2019, Ying-Chun Liu (PaulLiu) <paul.liu@linaro.org> 4d604ac48SYing-Chun Liu (PaulLiu) * 5d604ac48SYing-Chun Liu (PaulLiu) * SPDX-License-Identifier: BSD-3-Clause 6d604ac48SYing-Chun Liu (PaulLiu) */ 7d604ac48SYing-Chun Liu (PaulLiu) 8d604ac48SYing-Chun Liu (PaulLiu) #ifndef RPI3_GPIO_H 9d604ac48SYing-Chun Liu (PaulLiu) #define RPI3_GPIO_H 10d604ac48SYing-Chun Liu (PaulLiu) 11d604ac48SYing-Chun Liu (PaulLiu) #include <stdint.h> 12d604ac48SYing-Chun Liu (PaulLiu) #include <drivers/gpio.h> 13d604ac48SYing-Chun Liu (PaulLiu) 14*0d92745eSAndre Przywara void rpi3_gpio_init(void); 15d604ac48SYing-Chun Liu (PaulLiu) int rpi3_gpio_get_select(int gpio); 16d604ac48SYing-Chun Liu (PaulLiu) void rpi3_gpio_set_select(int gpio, int fsel); 17d604ac48SYing-Chun Liu (PaulLiu) 18d604ac48SYing-Chun Liu (PaulLiu) #define RPI3_GPIO_GPFSEL(n) ((n) * U(0x04)) 19d604ac48SYing-Chun Liu (PaulLiu) #define RPI3_GPIO_GPSET(n) (((n) * U(0x04)) + U(0x1C)) 20d604ac48SYing-Chun Liu (PaulLiu) #define RPI3_GPIO_GPCLR(n) (((n) * U(0x04)) + U(0x28)) 21d604ac48SYing-Chun Liu (PaulLiu) #define RPI3_GPIO_GPLEV(n) (((n) * U(0x04)) + U(0x34)) 22d604ac48SYing-Chun Liu (PaulLiu) #define RPI3_GPIO_GPPUD U(0x94) 23d604ac48SYing-Chun Liu (PaulLiu) #define RPI3_GPIO_GPPUDCLK(n) (((n) * U(0x04)) + U(0x98)) 24d604ac48SYing-Chun Liu (PaulLiu) 25d604ac48SYing-Chun Liu (PaulLiu) #define RPI3_GPIO_FUNC_INPUT U(0) 26d604ac48SYing-Chun Liu (PaulLiu) #define RPI3_GPIO_FUNC_OUTPUT U(1) 27d604ac48SYing-Chun Liu (PaulLiu) #define RPI3_GPIO_FUNC_ALT0 U(4) 28d604ac48SYing-Chun Liu (PaulLiu) #define RPI3_GPIO_FUNC_ALT1 U(5) 29d604ac48SYing-Chun Liu (PaulLiu) #define RPI3_GPIO_FUNC_ALT2 U(6) 30d604ac48SYing-Chun Liu (PaulLiu) #define RPI3_GPIO_FUNC_ALT3 U(7) 31d604ac48SYing-Chun Liu (PaulLiu) #define RPI3_GPIO_FUNC_ALT4 U(3) 32d604ac48SYing-Chun Liu (PaulLiu) #define RPI3_GPIO_FUNC_ALT5 U(2) 33d604ac48SYing-Chun Liu (PaulLiu) 34d604ac48SYing-Chun Liu (PaulLiu) #endif /* RPI3_GPIO_H */ 35