diff options
Diffstat (limited to 'include/linux/ssb/ssb_driver_chipcommon.h')
-rw-r--r-- | include/linux/ssb/ssb_driver_chipcommon.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/include/linux/ssb/ssb_driver_chipcommon.h b/include/linux/ssb/ssb_driver_chipcommon.h index 1a6b0045b06..9e492be5244 100644 --- a/include/linux/ssb/ssb_driver_chipcommon.h +++ b/include/linux/ssb/ssb_driver_chipcommon.h | |||
@@ -504,7 +504,9 @@ | |||
504 | #define SSB_CHIPCO_FLASHCTL_ST_SE 0x02D8 /* Sector Erase */ | 504 | #define SSB_CHIPCO_FLASHCTL_ST_SE 0x02D8 /* Sector Erase */ |
505 | #define SSB_CHIPCO_FLASHCTL_ST_BE 0x00C7 /* Bulk Erase */ | 505 | #define SSB_CHIPCO_FLASHCTL_ST_BE 0x00C7 /* Bulk Erase */ |
506 | #define SSB_CHIPCO_FLASHCTL_ST_DP 0x00B9 /* Deep Power-down */ | 506 | #define SSB_CHIPCO_FLASHCTL_ST_DP 0x00B9 /* Deep Power-down */ |
507 | #define SSB_CHIPCO_FLASHCTL_ST_RSIG 0x03AB /* Read Electronic Signature */ | 507 | #define SSB_CHIPCO_FLASHCTL_ST_RES 0x03AB /* Read Electronic Signature */ |
508 | #define SSB_CHIPCO_FLASHCTL_ST_CSA 0x1000 /* Keep chip select asserted */ | ||
509 | #define SSB_CHIPCO_FLASHCTL_ST_SSE 0x0220 /* Sub-sector Erase */ | ||
508 | 510 | ||
509 | /* Status register bits for ST flashes */ | 511 | /* Status register bits for ST flashes */ |
510 | #define SSB_CHIPCO_FLASHSTA_ST_WIP 0x01 /* Write In Progress */ | 512 | #define SSB_CHIPCO_FLASHSTA_ST_WIP 0x01 /* Write In Progress */ |
@@ -588,7 +590,10 @@ struct ssb_chipcommon { | |||
588 | u32 status; | 590 | u32 status; |
589 | /* Fast Powerup Delay constant */ | 591 | /* Fast Powerup Delay constant */ |
590 | u16 fast_pwrup_delay; | 592 | u16 fast_pwrup_delay; |
593 | spinlock_t gpio_lock; | ||
591 | struct ssb_chipcommon_pmu pmu; | 594 | struct ssb_chipcommon_pmu pmu; |
595 | u32 ticks_per_ms; | ||
596 | u32 max_timer_ms; | ||
592 | }; | 597 | }; |
593 | 598 | ||
594 | static inline bool ssb_chipco_available(struct ssb_chipcommon *cc) | 599 | static inline bool ssb_chipco_available(struct ssb_chipcommon *cc) |
@@ -628,8 +633,7 @@ enum ssb_clkmode { | |||
628 | extern void ssb_chipco_set_clockmode(struct ssb_chipcommon *cc, | 633 | extern void ssb_chipco_set_clockmode(struct ssb_chipcommon *cc, |
629 | enum ssb_clkmode mode); | 634 | enum ssb_clkmode mode); |
630 | 635 | ||
631 | extern void ssb_chipco_watchdog_timer_set(struct ssb_chipcommon *cc, | 636 | extern u32 ssb_chipco_watchdog_timer_set(struct ssb_chipcommon *cc, u32 ticks); |
632 | u32 ticks); | ||
633 | 637 | ||
634 | void ssb_chipco_irq_mask(struct ssb_chipcommon *cc, u32 mask, u32 value); | 638 | void ssb_chipco_irq_mask(struct ssb_chipcommon *cc, u32 mask, u32 value); |
635 | 639 | ||
@@ -642,6 +646,8 @@ u32 ssb_chipco_gpio_outen(struct ssb_chipcommon *cc, u32 mask, u32 value); | |||
642 | u32 ssb_chipco_gpio_control(struct ssb_chipcommon *cc, u32 mask, u32 value); | 646 | u32 ssb_chipco_gpio_control(struct ssb_chipcommon *cc, u32 mask, u32 value); |
643 | u32 ssb_chipco_gpio_intmask(struct ssb_chipcommon *cc, u32 mask, u32 value); | 647 | u32 ssb_chipco_gpio_intmask(struct ssb_chipcommon *cc, u32 mask, u32 value); |
644 | u32 ssb_chipco_gpio_polarity(struct ssb_chipcommon *cc, u32 mask, u32 value); | 648 | u32 ssb_chipco_gpio_polarity(struct ssb_chipcommon *cc, u32 mask, u32 value); |
649 | u32 ssb_chipco_gpio_pullup(struct ssb_chipcommon *cc, u32 mask, u32 value); | ||
650 | u32 ssb_chipco_gpio_pulldown(struct ssb_chipcommon *cc, u32 mask, u32 value); | ||
645 | 651 | ||
646 | #ifdef CONFIG_SSB_SERIAL | 652 | #ifdef CONFIG_SSB_SERIAL |
647 | extern int ssb_chipco_serial_init(struct ssb_chipcommon *cc, | 653 | extern int ssb_chipco_serial_init(struct ssb_chipcommon *cc, |