blob: ea6f521163c0f0e90fd3c4acc3a057f362e990a1 [file] [log] [blame]
/* SPDX-License-Identifier: BSD-2-Clause */
/*
* Copyright (c) 2016, Linaro Limited
*/
#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__ */