2 * Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
4 * SPDX-License-Identifier: BSD-3-Clause
7 #include "hardware/gpio.h"
9 // todo weak or replace? probably weak
10 void gpio_set_function(uint gpio
, enum gpio_function fn
) {
14 void gpio_pull_up(uint gpio
) {
18 void gpio_pull_down(uint gpio
) {
22 void gpio_disable_pulls(uint gpio
) {
26 void gpio_set_pulls(uint gpio
, bool up
, bool down
) {
30 void gpio_set_irqover(uint gpio
, uint value
) {
34 void gpio_set_outover(uint gpio
, uint value
) {
38 void gpio_set_inover(uint gpio
, uint value
) {
42 void gpio_set_oeover(uint gpio
, uint value
) {
46 void gpio_set_input_hysteresis_enabled(uint gpio
, bool enabled
){
50 bool gpio_is_input_hysteresis_enabled(uint gpio
){
54 void gpio_set_slew_rate(uint gpio
, enum gpio_slew_rate slew
){
58 enum gpio_slew_rate
gpio_get_slew_rate(uint gpio
){
59 return GPIO_SLEW_RATE_FAST
;
62 void gpio_set_drive_strength(uint gpio
, enum gpio_drive_strength drive
){
66 enum gpio_drive_strength
gpio_get_drive_strength(uint gpio
){
67 return GPIO_DRIVE_STRENGTH_4MA
;
71 void gpio_set_irq_enabled(uint gpio
, uint32_t events
, bool enable
) {
75 void gpio_acknowledge_irq(uint gpio
, uint32_t events
) {
79 void gpio_init(uint gpio
) {
83 PICO_WEAK_FUNCTION_DEF(gpio_get
)
85 bool PICO_WEAK_FUNCTION_IMPL_NAME(gpio_get
)(uint gpio
) {
89 uint32_t gpio_get_all() {
93 void gpio_set_mask(uint32_t mask
) {
97 void gpio_clr_mask(uint32_t mask
) {
101 void gpio_xor_mask(uint32_t mask
) {
105 void gpio_put_masked(uint32_t mask
, uint32_t value
) {
109 void gpio_put_all(uint32_t value
) {
113 void gpio_put(uint gpio
, int value
) {
117 void gpio_set_dir_out_masked(uint32_t mask
) {
121 void gpio_set_dir_in_masked(uint32_t mask
) {
125 void gpio_set_dir_masked(uint32_t mask
, uint32_t value
) {
129 void gpio_set_dir_all_bits(uint32_t value
) {
133 void gpio_set_dir(uint gpio
, bool out
) {
137 void gpio_debug_pins_init() {
141 void gpio_set_input_enabled(uint gpio
, bool enable
) {
145 void gpio_init_mask(uint gpio_mask
) {