mc9sdz60.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /*
  2. * Copyright (C) 2009 Marc Kleine-Budde <mkl@pengutronix.de>
  3. *
  4. * Copyright 2004-2009 Freescale Semiconductor, Inc. All Rights Reserved.
  5. *
  6. * See file CREDITS for list of people who contributed to this
  7. * project.
  8. *
  9. * This program is free software; you can redistribute it and/or
  10. * modify it under the terms of the GNU General Public License as
  11. * published by the Free Software Foundation; either version 2 of
  12. * the License, or (at your option) any later version.
  13. *
  14. * This program is distributed in the hope that it will be useful,
  15. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17. * GNU General Public License for more details.
  18. *
  19. * You should have received a copy of the GNU General Public License
  20. * along with this program; if not, write to the Free Software
  21. * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  22. * MA 02111-1307 USA
  23. *
  24. */
  25. #ifndef __ASM_ARCH_MC9SDZ60_H
  26. #define __ASM_ARCH_MC9SDZ60_H
  27. /**
  28. * Register addresses for the MC9SDZ60
  29. *
  30. * @note: these match those in the kernel drivers/mxc/mcu_pmic/mc9s08dz60.h
  31. * but not include/linux/mfd/mc9s08dz60/pmic.h
  32. *
  33. */
  34. enum mc9sdz60_reg {
  35. MC9SDZ60_REG_VERSION = 0x00,
  36. /* reserved 0x01 */
  37. MC9SDZ60_REG_SECS = 0x02,
  38. MC9SDZ60_REG_MINS = 0x03,
  39. MC9SDZ60_REG_HRS = 0x04,
  40. MC9SDZ60_REG_DAY = 0x05,
  41. MC9SDZ60_REG_DATE = 0x06,
  42. MC9SDZ60_REG_MONTH = 0x07,
  43. MC9SDZ60_REG_YEAR = 0x08,
  44. MC9SDZ60_REG_ALARM_SECS = 0x09,
  45. MC9SDZ60_REG_ALARM_MINS = 0x0a,
  46. MC9SDZ60_REG_ALARM_HRS = 0x0b,
  47. /* reserved 0x0c */
  48. /* reserved 0x0d */
  49. MC9SDZ60_REG_TS_CONTROL = 0x0e,
  50. MC9SDZ60_REG_X_LOW = 0x0f,
  51. MC9SDZ60_REG_Y_LOW = 0x10,
  52. MC9SDZ60_REG_XY_HIGH = 0x11,
  53. MC9SDZ60_REG_X_LEFT_LOW = 0x12,
  54. MC9SDZ60_REG_X_LEFT_HIGH = 0x13,
  55. MC9SDZ60_REG_X_RIGHT = 0x14,
  56. MC9SDZ60_REG_Y_TOP_LOW = 0x15,
  57. MC9SDZ60_REG_Y_TOP_HIGH = 0x16,
  58. MC9SDZ60_REG_Y_BOTTOM = 0x17,
  59. /* reserved 0x18 */
  60. /* reserved 0x19 */
  61. MC9SDZ60_REG_RESET_1 = 0x1a,
  62. MC9SDZ60_REG_RESET_2 = 0x1b,
  63. MC9SDZ60_REG_POWER_CTL = 0x1c,
  64. MC9SDZ60_REG_DELAY_CONFIG = 0x1d,
  65. /* reserved 0x1e */
  66. /* reserved 0x1f */
  67. MC9SDZ60_REG_GPIO_1 = 0x20,
  68. MC9SDZ60_REG_GPIO_2 = 0x21,
  69. MC9SDZ60_REG_KPD_1 = 0x22,
  70. MC9SDZ60_REG_KPD_2 = 0x23,
  71. MC9SDZ60_REG_KPD_CONTROL = 0x24,
  72. MC9SDZ60_REG_INT_ENABLE_1 = 0x25,
  73. MC9SDZ60_REG_INT_ENABLE_2 = 0x26,
  74. MC9SDZ60_REG_INT_FLAG_1 = 0x27,
  75. MC9SDZ60_REG_INT_FLAG_2 = 0x28,
  76. MC9SDZ60_REG_DES_FLAG = 0x29,
  77. };
  78. extern u8 mc9sdz60_reg_read(enum mc9sdz60_reg reg);
  79. extern void mc9sdz60_reg_write(enum mc9sdz60_reg reg, u8 val);
  80. #endif /* __ASM_ARCH_MC9SDZ60_H */