blob: da155f307b170f3987a8ca7e40b20ccc83fd9623 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
/* SPDX-License-Identifier: BSD-2-Clause */
/*
* Copyright (c) 2016, Linaro Limited
* All rights reserved.
*/
#ifndef __PL061_GPIO_H__
#define __PL061_GPIO_H__
#include <gpio.h>
#include <types_ext.h>
#define PL061_REG_SIZE 0x1000
enum pl061_mode_control {
PL061_MC_SW,
PL061_MC_HW
};
struct pl061_data {
struct gpio_chip chip;
};
void pl061_register(vaddr_t base_addr, unsigned int gpio_dev);
void pl061_init(struct pl061_data *pd);
enum pl061_mode_control pl061_get_mode_control(unsigned int gpio_pin);
void pl061_set_mode_control(unsigned int gpio_pin,
enum pl061_mode_control hw_sw);
#endif /* __PL061_GPIO_H__ */
|