coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
gpio.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-or-later */
2
3
#ifndef __SOC_TI_AM335X_GPIO_H__
4
#define __SOC_TI_AM335X_GPIO_H__
5
6
#include <
stdint.h
>
7
8
enum
{
9
AM335X_GPIO_BITS_PER_BANK
= 32
10
};
11
12
struct
am335x_gpio_regs
{
13
uint32_t
revision
;
// 0x0
14
uint8_t
_rsv0
[0xc];
// 0x4-0xf
15
uint32_t
sysconfig
;
// 0x10
16
uint8_t
_rsv1
[0xc];
// 0x14-0x1f
17
uint32_t
eoi
;
// 0x20
18
uint32_t
irqstatus_raw_0
;
// 0x24
19
uint32_t
irqstatus_raw_1
;
// 0x28
20
uint32_t
irqstatus_0
;
// 0x2c
21
uint32_t
irqstatus_1
;
// 0x30
22
uint32_t
irqstatus_set_0
;
// 0x34
23
uint32_t
irqstatus_set_1
;
// 0x38
24
uint32_t
irqstatus_clr_0
;
// 0x3c
25
uint32_t
irqstatus_clk_1
;
// 0x40
26
uint32_t
irqwaken_0
;
// 0x44
27
uint32_t
irqwaken_1
;
// 0x48
28
uint8_t
_rsv2
[0xc8];
// 0x4c-0x113
29
uint32_t
sysstatus
;
// 0x114
30
uint8_t
_rsv3
[0x18];
// 0x118-0x12f
31
uint32_t
ctrl
;
// 0x130
32
uint32_t
oe
;
// 0x134
33
uint32_t
datain
;
// 0x138
34
uint32_t
dataout
;
// 0x13c
35
uint32_t
leveldetect0
;
// 0x140
36
uint32_t
leveldetect1
;
// 0x144
37
uint32_t
risingdetect
;
// 0x148
38
uint32_t
fallingdetect
;
// 0x14c
39
uint32_t
debouncenable
;
// 0x150
40
uint32_t
debouncingtime
;
// 0x154
41
uint8_t
_rsv4
[0x38];
// 0x158-0x18f
42
uint32_t
cleardataout
;
// 0x190
43
uint32_t
setdataout
;
// 0x194
44
}
__packed
;
45
46
static
struct
am335x_gpio_regs
*
const
am335x_gpio_banks
[] = {
47
(
void
*)0x44e07000, (
void
*)0x4804c000,
48
(
void
*)0x481ac000, (
void
*)0x481ae000
49
};
50
51
void
am335x_disable_gpio_irqs
(
void
);
52
53
int
gpio_direction_input
(
unsigned
int
gpio
);
54
int
gpio_direction_output
(
unsigned
int
gpio
,
int
value
);
55
int
gpio_get_value
(
unsigned
int
gpio
);
56
int
gpio_set_value
(
unsigned
int
gpio
,
int
value
);
57
58
#endif
/* __SOC_TI_AM335X_CLOCK_H__ */
value
pte_t value
Definition:
mmu.c:91
__packed
struct soc_gpio_map __packed
gpio_direction_output
int gpio_direction_output(unsigned int gpio, int value)
Make a GPIO an output, and set its value.
Definition:
gpio.c:151
gpio_direction_input
int gpio_direction_input(unsigned int gpio)
Make a GPIO an input.
Definition:
gpio.c:144
gpio_set_value
int gpio_set_value(unsigned int gpio, int value)
Set an output GPIO's value.
Definition:
gpio.c:176
gpio_get_value
int gpio_get_value(unsigned int gpio)
Get a GPIO's value.
Definition:
gpio.c:167
am335x_disable_gpio_irqs
void am335x_disable_gpio_irqs(void)
Definition:
gpio.c:21
AM335X_GPIO_BITS_PER_BANK
@ AM335X_GPIO_BITS_PER_BANK
Definition:
gpio.h:9
am335x_gpio_banks
static struct am335x_gpio_regs *const am335x_gpio_banks[]
Definition:
gpio.h:46
stdint.h
uint32_t
unsigned int uint32_t
Definition:
stdint.h:14
uint8_t
unsigned char uint8_t
Definition:
stdint.h:8
am335x_gpio_regs
Definition:
gpio.h:12
am335x_gpio_regs::_rsv3
uint8_t _rsv3[0x18]
Definition:
gpio.h:30
am335x_gpio_regs::irqwaken_0
uint32_t irqwaken_0
Definition:
gpio.h:26
am335x_gpio_regs::irqstatus_clr_0
uint32_t irqstatus_clr_0
Definition:
gpio.h:24
am335x_gpio_regs::_rsv1
uint8_t _rsv1[0xc]
Definition:
gpio.h:16
am335x_gpio_regs::irqstatus_set_1
uint32_t irqstatus_set_1
Definition:
gpio.h:23
am335x_gpio_regs::sysstatus
uint32_t sysstatus
Definition:
gpio.h:29
am335x_gpio_regs::setdataout
uint32_t setdataout
Definition:
gpio.h:43
am335x_gpio_regs::irqwaken_1
uint32_t irqwaken_1
Definition:
gpio.h:27
am335x_gpio_regs::_rsv0
uint8_t _rsv0[0xc]
Definition:
gpio.h:14
am335x_gpio_regs::datain
uint32_t datain
Definition:
gpio.h:33
am335x_gpio_regs::irqstatus_clk_1
uint32_t irqstatus_clk_1
Definition:
gpio.h:25
am335x_gpio_regs::irqstatus_raw_1
uint32_t irqstatus_raw_1
Definition:
gpio.h:19
am335x_gpio_regs::_rsv4
uint8_t _rsv4[0x38]
Definition:
gpio.h:41
am335x_gpio_regs::irqstatus_1
uint32_t irqstatus_1
Definition:
gpio.h:21
am335x_gpio_regs::debouncenable
uint32_t debouncenable
Definition:
gpio.h:39
am335x_gpio_regs::irqstatus_set_0
uint32_t irqstatus_set_0
Definition:
gpio.h:22
am335x_gpio_regs::fallingdetect
uint32_t fallingdetect
Definition:
gpio.h:38
am335x_gpio_regs::risingdetect
uint32_t risingdetect
Definition:
gpio.h:37
am335x_gpio_regs::cleardataout
uint32_t cleardataout
Definition:
gpio.h:42
am335x_gpio_regs::leveldetect1
uint32_t leveldetect1
Definition:
gpio.h:36
am335x_gpio_regs::dataout
uint32_t dataout
Definition:
gpio.h:34
am335x_gpio_regs::leveldetect0
uint32_t leveldetect0
Definition:
gpio.h:35
am335x_gpio_regs::irqstatus_0
uint32_t irqstatus_0
Definition:
gpio.h:20
am335x_gpio_regs::irqstatus_raw_0
uint32_t irqstatus_raw_0
Definition:
gpio.h:18
am335x_gpio_regs::ctrl
uint32_t ctrl
Definition:
gpio.h:31
am335x_gpio_regs::revision
uint32_t revision
Definition:
gpio.h:13
am335x_gpio_regs::eoi
uint32_t eoi
Definition:
gpio.h:17
am335x_gpio_regs::debouncingtime
uint32_t debouncingtime
Definition:
gpio.h:40
am335x_gpio_regs::sysconfig
uint32_t sysconfig
Definition:
gpio.h:15
am335x_gpio_regs::oe
uint32_t oe
Definition:
gpio.h:32
am335x_gpio_regs::_rsv2
uint8_t _rsv2[0xc8]
Definition:
gpio.h:28
gpio
Definition:
pinmux.c:36
src
soc
ti
am335x
gpio.h
Generated by
1.9.1