davinci_misc.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*
  2. * Copyright (C) 2008 Lyrtech <www.lyrtech.com>
  3. *
  4. * SPDX-License-Identifier: GPL-2.0+
  5. */
  6. #ifndef __MISC_H
  7. #define __MISC_H
  8. /* pin muxer definitions */
  9. #define PIN_MUX_NUM_FIELDS 8 /* Per register */
  10. #define PIN_MUX_FIELD_SIZE 4 /* n in bits */
  11. #define PIN_MUX_FIELD_MASK ((1 << PIN_MUX_FIELD_SIZE) - 1)
  12. /* pin definition */
  13. struct pinmux_config {
  14. dv_reg *mux; /* Address of mux register */
  15. unsigned char value; /* Value to set in field */
  16. unsigned char field; /* field number */
  17. };
  18. /* pin table definition */
  19. struct pinmux_resource {
  20. const struct pinmux_config *pins;
  21. const int n_pins;
  22. };
  23. #define PINMUX_ITEM(item) { \
  24. .pins = item, \
  25. .n_pins = ARRAY_SIZE(item) \
  26. }
  27. struct lpsc_resource {
  28. const int lpsc_no;
  29. };
  30. int dvevm_read_mac_address(uint8_t *buf);
  31. void davinci_sync_env_enetaddr(uint8_t *rom_enetaddr);
  32. int davinci_configure_pin_mux(const struct pinmux_config *pins, int n_pins);
  33. int davinci_configure_pin_mux_items(const struct pinmux_resource *item,
  34. int n_items);
  35. #if defined(CONFIG_DRIVER_TI_EMAC) && defined(CONFIG_SOC_DA8XX)
  36. void davinci_emac_mii_mode_sel(int mode_sel);
  37. #endif
  38. #if defined(CONFIG_SOC_DA8XX)
  39. void irq_init(void);
  40. int da8xx_configure_lpsc_items(const struct lpsc_resource *item,
  41. const int n_items);
  42. #endif
  43. #endif /* __MISC_H */