1 /* 2 * (C) Copyright 2013 Keymile AG 3 * Valentin Longchamp <valentin.longchamp@keymile.com> 4 * 5 * SPDX-License-Identifier: GPL-2.0+ 6 */ 7 8 /* QRIO GPIO ports */ 9 #define GPIO_A 0x40 10 #define GPIO_B 0x60 11 12 int qrio_get_gpio(u8 port_off, u8 gpio_nr); 13 void qrio_set_opendrain_gpio(u8 port_off, u8 gpio_nr, u8 val); 14 void qrio_set_gpio(u8 port_off, u8 gpio_nr, bool value); 15 void qrio_gpio_direction_output(u8 port_off, u8 gpio_nr, bool value); 16 void qrio_gpio_direction_input(u8 port_off, u8 gpio_nr); 17 18 #define PRSTCFG_POWUP_UNIT_CORE_RST 0x0 19 #define PRSTCFG_POWUP_UNIT_RST 0x1 20 #define PRSTCFG_POWUP_RST 0x3 21 22 void qrio_prst(u8 bit, bool en, bool wden); 23 void qrio_wdmask(u8 bit, bool wden); 24 void qrio_prstcfg(u8 bit, u8 mode); 25 void qrio_set_leds(void); 26 void qrio_enable_app_buffer(void); 27 void qrio_cpuwd_flag(bool flag); 28 int qrio_reset_reason(void); 29 30 #define UPREQ_UNIT_RST 0x0 31 #define UPREQ_CORE_RST 0x1 32 33 void qrio_uprstreq(u8 mode); 34 35 void pci_of_setup(void *blob, bd_t *bd); 36