1.1 --- a/pkg/devices/lib/gpio/include/gpio-x1600.h Sat Apr 27 23:46:28 2024 +0200
1.2 +++ b/pkg/devices/lib/gpio/include/gpio-x1600.h Sun Apr 28 18:37:08 2024 +0200
1.3 @@ -81,13 +81,13 @@
1.4
1.5 Hw::Register_block<32> _regs, _shadow_regs;
1.6
1.7 - l4_addr_t _start, _end;
1.8 + l4_addr_t _start;
1.9 unsigned _nr_pins;
1.10 - l4_uint32_t _pull_ups, _pull_downs;
1.11 + struct gpio_port *_pull_config;
1.12
1.13 // Optional shadow port configuration.
1.14
1.15 - l4_addr_t _shadow_start, _shadow_end;
1.16 + l4_addr_t _shadow_start;
1.17 uint8_t _port_number;
1.18 bool _shadow;
1.19
1.20 @@ -118,11 +118,7 @@
1.21 void write_reg_pin(unsigned reg, unsigned pin);
1.22
1.23 public:
1.24 - Gpio_x1600_chip(l4_addr_t start, l4_addr_t end,
1.25 - unsigned nr_pins,
1.26 - l4_uint32_t pull_ups, l4_uint32_t pull_downs,
1.27 - l4_addr_t shadow_start = 0, l4_addr_t shadow_end = 0,
1.28 - uint8_t port_number = 0);
1.29 + Gpio_x1600_chip(l4_addr_t start, uint8_t port_number, bool shadow = false);
1.30
1.31 // Obtain the number of pins.
1.32
1.33 @@ -169,13 +165,9 @@
1.34
1.35 EXTERN_C_BEGIN
1.36
1.37 -void *x1600_gpio_init(l4_addr_t start, l4_addr_t end, unsigned pins,
1.38 - l4_uint32_t pull_ups, l4_uint32_t pull_downs);
1.39 +void *x1600_gpio_init(l4_addr_t start, uint8_t port_number);
1.40
1.41 -void *x1600_gpio_init_shadow(l4_addr_t start, l4_addr_t end, unsigned pins,
1.42 - l4_uint32_t pull_ups, l4_uint32_t pull_downs,
1.43 - l4_addr_t shadow_start, l4_addr_t shadow_end,
1.44 - uint8_t port_number);
1.45 +void *x1600_gpio_init_shadow(l4_addr_t start, uint8_t port_number);
1.46
1.47 void x1600_gpio_setup(void *gpio, unsigned pin, unsigned mode, int value);
1.48 void x1600_gpio_config_pull(void *gpio, unsigned pin, unsigned mode);