@@ -190,6 +190,15 @@ static inline int __init _new_debobs_pad(struct debobs_pad *pad, char *name,
/* Public functions */
+void debobs_restore(void)
+{
+ struct debobs_pad *p = &debobs_pads[0];
+ int i;
+
+ for (i = 0; i < NUM_OF_DEBOBS_PADS; i++, p++)
+ debobs_set(&p->core_obs, p->core_obs.value);
+}
+
void debug_gpio_set(unsigned gpio, int value)
{
if (!debobs_initialized)
@@ -42,6 +42,7 @@
#include <mach/dma.h>
#include <mach/gpmc.h>
#include <mach/dma.h>
+#include <mach/debobs.h>
#include <asm/tlbflush.h>
#include "cm.h"
@@ -124,6 +125,9 @@ static void omap3_core_restore_context(void)
/* Restore the interrupt controller context */
omap3_intc_restore_context();
omap_dma_global_context_restore();
+ /* restore debobs context */
+ debobs_restore();
+
}
static void omap3_save_secure_ram_context(u32 target_mpu_state)
@@ -3,5 +3,6 @@
void debug_gpio_set(unsigned gpio, int value);
int debug_gpio_get(unsigned gpio);
+void debobs_restore(void);
#endif