pru: Use enumerations for pin mappings
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
parent
91cf497656
commit
ae24baf99a
|
@ -13,18 +13,7 @@ class error(Exception):
|
|||
# Hardware pin names
|
||||
######################################################################
|
||||
|
||||
def named_pins(fmt, port_count, bit_count=32):
|
||||
return { fmt % (port, portbit) : port * bit_count + portbit
|
||||
for port in range(port_count)
|
||||
for portbit in range(bit_count) }
|
||||
|
||||
def beaglebone_pins():
|
||||
gpios = named_pins("gpio%d_%d", 4)
|
||||
gpios.update({"AIN%d" % i: i+4*32 for i in range(8)})
|
||||
return gpios
|
||||
|
||||
MCU_PINS = {
|
||||
"pru": beaglebone_pins(),
|
||||
"linux": {"analog%d" % i: i for i in range(8)}, # XXX
|
||||
}
|
||||
|
||||
|
@ -141,8 +130,7 @@ beagleboneblack_mappings = {
|
|||
def update_map_beaglebone(pins, mcu):
|
||||
if mcu != 'pru':
|
||||
raise error("Beaglebone aliases not supported on mcu '%s'" % (mcu,))
|
||||
for pin, gpio in beagleboneblack_mappings.items():
|
||||
pins[pin] = pins[gpio]
|
||||
pins.update(beagleboneblack_mappings)
|
||||
|
||||
|
||||
######################################################################
|
||||
|
|
|
@ -51,6 +51,8 @@ adc_full_reset(void)
|
|||
have_done_reset = 1;
|
||||
}
|
||||
|
||||
DECL_ENUMERATION_RANGE("pin", "AIN0", 4 * 32, 8);
|
||||
|
||||
struct gpio_adc
|
||||
gpio_adc_setup(uint8_t pin)
|
||||
{
|
||||
|
|
|
@ -29,6 +29,11 @@ struct gpio_regs {
|
|||
volatile uint32_t setdataout;
|
||||
};
|
||||
|
||||
DECL_ENUMERATION_RANGE("pin", "gpio0_0", GPIO(0, 0), 32);
|
||||
DECL_ENUMERATION_RANGE("pin", "gpio1_0", GPIO(1, 0), 32);
|
||||
DECL_ENUMERATION_RANGE("pin", "gpio2_0", GPIO(2, 0), 32);
|
||||
DECL_ENUMERATION_RANGE("pin", "gpio3_0", GPIO(3, 0), 32);
|
||||
|
||||
static struct gpio_regs *digital_regs[] = {
|
||||
(void*)0x44e07000, (void*)0x4804c000, (void*)0x481ac000, (void*)0x481ae000
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue