macvlan: remove one synchronize_rcu() call
[firefly-linux-kernel-4.4.55.git] / include / linux / wl12xx.h
index bebb8efea0a66fd67bd19600bc08d1ad8d235d8a..4b697395326eb4e660a099faf352a91c0c8df915 100644 (file)
 #ifndef _LINUX_WL12XX_H
 #define _LINUX_WL12XX_H
 
-/* The board reference clock values */
+/* Reference clock values */
 enum {
-       WL12XX_REFCLOCK_19 = 0, /* 19.2 MHz */
-       WL12XX_REFCLOCK_26 = 1, /* 26 MHz */
-       WL12XX_REFCLOCK_38 = 2, /* 38.4 MHz */
-       WL12XX_REFCLOCK_54 = 3, /* 54 MHz */
+       WL12XX_REFCLOCK_19      = 0, /* 19.2 MHz */
+       WL12XX_REFCLOCK_26      = 1, /* 26 MHz */
+       WL12XX_REFCLOCK_38      = 2, /* 38.4 MHz */
+       WL12XX_REFCLOCK_52      = 3, /* 52 MHz */
+       WL12XX_REFCLOCK_38_XTAL = 4, /* 38.4 MHz, XTAL */
+       WL12XX_REFCLOCK_26_XTAL = 5, /* 26 MHz, XTAL */
+};
+
+/* TCXO clock values */
+enum {
+       WL12XX_TCXOCLOCK_19_2   = 0, /* 19.2MHz */
+       WL12XX_TCXOCLOCK_26     = 1, /* 26 MHz */
+       WL12XX_TCXOCLOCK_38_4   = 2, /* 38.4MHz */
+       WL12XX_TCXOCLOCK_52     = 3, /* 52 MHz */
+       WL12XX_TCXOCLOCK_16_368 = 4, /* 16.368 MHz */
+       WL12XX_TCXOCLOCK_32_736 = 5, /* 32.736 MHz */
+       WL12XX_TCXOCLOCK_16_8   = 6, /* 16.8 MHz */
+       WL12XX_TCXOCLOCK_33_6   = 7, /* 33.6 MHz */
 };
 
 struct wl12xx_platform_data {
@@ -38,8 +52,13 @@ struct wl12xx_platform_data {
        int irq;
        bool use_eeprom;
        int board_ref_clock;
+       int board_tcxo_clock;
+       unsigned long platform_quirks;
 };
 
+/* Platform does not support level trigger interrupts */
+#define WL12XX_PLATFORM_QUIRK_EDGE_IRQ BIT(0)
+
 #ifdef CONFIG_WL12XX_PLATFORM_DATA
 
 int wl12xx_set_platform_data(const struct wl12xx_platform_data *data);