diff options
-rw-r--r-- | Documentation/arm/Samsung-S3C24XX/Suspend.txt | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/Documentation/arm/Samsung-S3C24XX/Suspend.txt b/Documentation/arm/Samsung-S3C24XX/Suspend.txt index e12bc3284a27..0dab6e32c130 100644 --- a/Documentation/arm/Samsung-S3C24XX/Suspend.txt +++ b/Documentation/arm/Samsung-S3C24XX/Suspend.txt | |||
@@ -5,10 +5,10 @@ | |||
5 | Introduction | 5 | Introduction |
6 | ------------ | 6 | ------------ |
7 | 7 | ||
8 | The S3C2410 supports a low-power suspend mode, where the SDRAM is kept | 8 | The S3C24XX supports a low-power suspend mode, where the SDRAM is kept |
9 | in Self-Refresh mode, and all but the essential peripheral blocks are | 9 | in Self-Refresh mode, and all but the essential peripheral blocks are |
10 | powered down. For more information on how this works, please look | 10 | powered down. For more information on how this works, please look |
11 | at the S3C2410 datasheets from Samsung. | 11 | at the relevant CPU datasheet from Samsung. |
12 | 12 | ||
13 | 13 | ||
14 | Requirements | 14 | Requirements |
@@ -56,6 +56,27 @@ Machine Support | |||
56 | Note, the original method of adding an late_initcall() is wrong, | 56 | Note, the original method of adding an late_initcall() is wrong, |
57 | and will end up initialising all compiled machines' pm init! | 57 | and will end up initialising all compiled machines' pm init! |
58 | 58 | ||
59 | The following is an example of code used for testing wakeup from | ||
60 | an falling edge on IRQ_EINT0: | ||
61 | |||
62 | |||
63 | static irqreturn_t button_irq(int irq, void *pw) | ||
64 | { | ||
65 | return IRQ_HANDLED; | ||
66 | } | ||
67 | |||
68 | statuc void __init machine_init(void) | ||
69 | { | ||
70 | ... | ||
71 | |||
72 | request_irq(IRQ_EINT0, button_irq, IRQF_TRIGGER_FALLING, | ||
73 | "button-irq-eint0", NULL); | ||
74 | |||
75 | enable_irq_wake(IRQ_EINT0); | ||
76 | |||
77 | s3c2410_pm_init(); | ||
78 | } | ||
79 | |||
59 | 80 | ||
60 | Debugging | 81 | Debugging |
61 | --------- | 82 | --------- |
@@ -70,6 +91,12 @@ Debugging | |||
70 | care should be taken that any external clock sources that the UARTs | 91 | care should be taken that any external clock sources that the UARTs |
71 | rely on are still enabled at that point. | 92 | rely on are still enabled at that point. |
72 | 93 | ||
94 | 3) If any debugging is placed in the resume path, then it must have the | ||
95 | relevant clocks and peripherals setup before use (ie, bootloader). | ||
96 | |||
97 | For example, if you transmit a character from the UART, the baud | ||
98 | rate and uart controls must be setup beforehand. | ||
99 | |||
73 | 100 | ||
74 | Configuration | 101 | Configuration |
75 | ------------- | 102 | ------------- |
@@ -89,6 +116,10 @@ Configuration | |||
89 | Allows the entire memory to be checksummed before and after the | 116 | Allows the entire memory to be checksummed before and after the |
90 | suspend to see if there has been any corruption of the contents. | 117 | suspend to see if there has been any corruption of the contents. |
91 | 118 | ||
119 | Note, the time to calculate the CRC is dependant on the CPU speed | ||
120 | and the size of memory. For an 64Mbyte RAM area on an 200MHz | ||
121 | S3C2410, this can take approximately 4 seconds to complete. | ||
122 | |||
92 | This support requires the CRC32 function to be enabled. | 123 | This support requires the CRC32 function to be enabled. |
93 | 124 | ||
94 | 125 | ||