pmu_rk3288.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * Copyright (c) 2015 Google, Inc
  4. *
  5. * Copyright 2014 Rockchip Inc.
  6. */
  7. #ifndef _ASM_ARCH_PMU_RK3288_H
  8. #define _ASM_ARCH_PMU_RK3288_H
  9. struct rk3288_pmu {
  10. u32 wakeup_cfg[2];
  11. u32 pwrdn_con;
  12. u32 pwrdn_st;
  13. u32 idle_req;
  14. u32 idle_st;
  15. u32 pwrmode_con;
  16. u32 pwr_state;
  17. u32 osc_cnt;
  18. u32 pll_cnt;
  19. u32 stabl_cnt;
  20. u32 ddr0io_pwron_cnt;
  21. u32 ddr1io_pwron_cnt;
  22. u32 core_pwrdn_cnt;
  23. u32 core_pwrup_cnt;
  24. u32 gpu_pwrdn_cnt;
  25. u32 gpu_pwrup_cnt;
  26. u32 wakeup_rst_clr_cnt;
  27. u32 sft_con;
  28. u32 ddr_sref_st;
  29. u32 int_con;
  30. u32 int_st;
  31. u32 boot_addr_sel;
  32. u32 grf_con;
  33. u32 gpio_sr;
  34. u32 gpio0pull[3];
  35. u32 gpio0drv[3];
  36. u32 gpio_op;
  37. u32 gpio0_sel18; /* 0x80 */
  38. u32 gpio0_iomux[4]; /* a, b, c, d */
  39. u32 sys_reg[4];
  40. };
  41. check_member(rk3288_pmu, sys_reg[3], 0x00a0);
  42. enum {
  43. PMU_GPIO0_A = 0,
  44. PMU_GPIO0_B,
  45. PMU_GPIO0_C,
  46. PMU_GPIO0_D,
  47. };
  48. /* PMU_GPIO0_B_IOMUX */
  49. enum {
  50. GPIO0_B7_SHIFT = 14,
  51. GPIO0_B7_MASK = 1,
  52. GPIO0_B7_GPIOB7 = 0,
  53. GPIO0_B7_I2C0PMU_SDA,
  54. GPIO0_B5_SHIFT = 10,
  55. GPIO0_B5_MASK = 1,
  56. GPIO0_B5_GPIOB5 = 0,
  57. GPIO0_B5_CLK_27M,
  58. GPIO0_B2_SHIFT = 4,
  59. GPIO0_B2_MASK = 1,
  60. GPIO0_B2_GPIOB2 = 0,
  61. GPIO0_B2_TSADC_INT,
  62. };
  63. /* PMU_GPIO0_C_IOMUX */
  64. enum {
  65. GPIO0_C1_SHIFT = 2,
  66. GPIO0_C1_MASK = 3,
  67. GPIO0_C1_GPIOC1 = 0,
  68. GPIO0_C1_TEST_CLKOUT,
  69. GPIO0_C1_CLKT1_27M,
  70. GPIO0_C0_SHIFT = 0,
  71. GPIO0_C0_MASK = 1,
  72. GPIO0_C0_GPIOC0 = 0,
  73. GPIO0_C0_I2C0PMU_SCL,
  74. };
  75. #endif