1 /* 2 * Arm SCP/MCP Software 3 * Copyright (c) 2018-2021, Arm Limited and Contributors. All rights reserved. 4 * 5 * SPDX-License-Identifier: BSD-3-Clause 6 */ 7 8 #ifndef INTERNAL_GPIO_H 9 #define INTERNAL_GPIO_H 10 11 #include "synquacer_mmap.h" 12 13 #include <stdint.h> 14 15 #define PRMUX_MAX_IDX CONFIG_SOC_PRMUX_MAX_IDX 16 #define GPIO_MAX_IDX 3 17 18 void fw_gpio_init(void); 19 void prmux_set_pingrp(void *prmux_base_addr, uint32_t idx, uint32_t pingrp); 20 void gpio_set_data(void *gpio_base_addr, uint32_t idx, uint8_t value); 21 uint8_t gpio_get_data(void *gpio_base_addr, uint32_t idx); 22 void gpio_set_direction(void *gpio_base_addr, uint32_t idx, uint8_t value); 23 uint8_t gpio_get_direction(void *gpio_base_addr, uint32_t idx); 24 void gpio_set_function(void *gpio_base_addr, uint32_t idx, uint8_t value); 25 uint8_t gpio_get_function(void *gpio_base_addr, uint32_t idx); 26 27 #endif /* INTERNAL_GPIO_H */ 28