xref: /linux/include/linux/soc/cirrus/ep93xx.h (revision 0526b56cbc3c489642bd6a5fe4b718dea7ef0ee8)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _SOC_EP93XX_H
3 #define _SOC_EP93XX_H
4 
5 struct platform_device;
6 
7 #define EP93XX_CHIP_REV_D0	3
8 #define EP93XX_CHIP_REV_D1	4
9 #define EP93XX_CHIP_REV_E0	5
10 #define EP93XX_CHIP_REV_E1	6
11 #define EP93XX_CHIP_REV_E2	7
12 
13 #ifdef CONFIG_ARCH_EP93XX
14 int ep93xx_pwm_acquire_gpio(struct platform_device *pdev);
15 void ep93xx_pwm_release_gpio(struct platform_device *pdev);
16 int ep93xx_ide_acquire_gpio(struct platform_device *pdev);
17 void ep93xx_ide_release_gpio(struct platform_device *pdev);
18 int ep93xx_keypad_acquire_gpio(struct platform_device *pdev);
19 void ep93xx_keypad_release_gpio(struct platform_device *pdev);
20 int ep93xx_i2s_acquire(void);
21 void ep93xx_i2s_release(void);
22 unsigned int ep93xx_chip_revision(void);
23 
24 #else
25 static inline int ep93xx_pwm_acquire_gpio(struct platform_device *pdev) { return 0; }
26 static inline void ep93xx_pwm_release_gpio(struct platform_device *pdev) {}
27 static inline int ep93xx_ide_acquire_gpio(struct platform_device *pdev) { return 0; }
28 static inline void ep93xx_ide_release_gpio(struct platform_device *pdev) {}
29 static inline int ep93xx_keypad_acquire_gpio(struct platform_device *pdev) { return 0; }
30 static inline void ep93xx_keypad_release_gpio(struct platform_device *pdev) {}
31 static inline int ep93xx_i2s_acquire(void) { return 0; }
32 static inline void ep93xx_i2s_release(void) {}
33 static inline unsigned int ep93xx_chip_revision(void) { return 0; }
34 
35 #endif
36 
37 #endif
38