da850_lowlevel.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. /*
  2. * SoC-specific lowlevel code for DA850
  3. *
  4. * Copyright (C) 2011
  5. * Heiko Schocher, DENX Software Engineering, hs@denx.de.
  6. *
  7. * SPDX-License-Identifier: GPL-2.0+
  8. */
  9. #ifndef __DA850_LOWLEVEL_H
  10. #define __DA850_LOWLEVEL_H
  11. #include <asm/arch/pinmux_defs.h>
  12. /* pinmux_resource[] vector is defined in the board specific file */
  13. extern const struct pinmux_resource pinmuxes[];
  14. extern const int pinmuxes_size;
  15. extern const struct lpsc_resource lpsc[];
  16. extern const int lpsc_size;
  17. /* NOR Boot Configuration Word Field Descriptions */
  18. #define DA850_NORBOOT_COPY_XK(X) ((X - 1) << 8)
  19. #define DA850_NORBOOT_METHOD_DIRECT (1 << 4)
  20. #define DA850_NORBOOT_16BIT (1 << 0)
  21. #define dv_maskbits(addr, val) \
  22. writel((readl(addr) & val), addr)
  23. void da850_waitloop(unsigned long loopcnt);
  24. int da850_pll_init(struct davinci_pllc_regs *reg, unsigned long pllmult);
  25. void da850_lpc_transition(unsigned char pscnum, unsigned char module,
  26. unsigned char domain, unsigned char state);
  27. int da850_ddr_setup(void);
  28. void da850_psc_init(void);
  29. void da850_pinmux_ctl(unsigned long offset, unsigned long mask,
  30. unsigned long value);
  31. #endif /* #ifndef __DA850_LOWLEVEL_H */