pinctrl-s5pxx18.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /* SPDX-License-Identifier: GPL-2.0+
  2. *
  3. * Pinctrl driver for Nexell SoCs
  4. * (C) Copyright 2016 Nexell
  5. * Bongyu, KOO <freestyle@nexell.co.kr>
  6. */
  7. #ifndef __PINCTRL_S5PXX18_H_
  8. #define __PINCTRL_S5PXX18_H_
  9. #include <linux/types.h>
  10. #include <asm/io.h>
  11. #define GPIOX_ALTFN0 0x20
  12. #define GPIOX_ALTFN1 0x24
  13. #define GPIOX_DRV1 0x48
  14. #define GPIOX_DRV0 0x50
  15. #define GPIOX_PULLSEL 0x58
  16. #define GPIOX_PULLENB 0x60
  17. #define GPIOX_SLEW_DISABLE_DEFAULT 0x44
  18. #define GPIOX_DRV1_DISABLE_DEFAULT 0x4C
  19. #define GPIOX_DRV0_DISABLE_DEFAULT 0x54
  20. #define GPIOX_PULLSEL_DISABLE_DEFAULT 0x5C
  21. #define GPIOX_PULLENB_DISABLE_DEFAULT 0x64
  22. #define ALIVE_PWRGATE 0x0
  23. #define ALIVE_PADPULLUPRST 0x80
  24. #define ALIVE_PADPULLUPSET 0x84
  25. #define ALIVE_PADPULLUPREAD 0x88
  26. enum {
  27. nx_gpio_padfunc_0 = 0ul,
  28. nx_gpio_padfunc_1 = 1ul,
  29. nx_gpio_padfunc_2 = 2ul,
  30. nx_gpio_padfunc_3 = 3ul
  31. };
  32. enum {
  33. nx_gpio_drvstrength_0 = 0ul,
  34. nx_gpio_drvstrength_1 = 1ul,
  35. nx_gpio_drvstrength_2 = 2ul,
  36. nx_gpio_drvstrength_3 = 3ul
  37. };
  38. enum {
  39. nx_gpio_pull_down = 0ul,
  40. nx_gpio_pull_up = 1ul,
  41. nx_gpio_pull_off = 2ul
  42. };
  43. int s5pxx18_pinctrl_init(struct udevice *dev);
  44. #endif /* __PINCTRL_S5PXX18_H_ */