aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/arm/Samsung-S3C24XX
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 18:20:36 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 18:20:36 -0400
commit1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch)
tree0bba044c4ce775e45a88a51686b5d9f90697ea9d /Documentation/arm/Samsung-S3C24XX
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
Diffstat (limited to 'Documentation/arm/Samsung-S3C24XX')
-rw-r--r--Documentation/arm/Samsung-S3C24XX/EB2410ITX.txt58
-rw-r--r--Documentation/arm/Samsung-S3C24XX/GPIO.txt122
-rw-r--r--Documentation/arm/Samsung-S3C24XX/H1940.txt40
-rw-r--r--Documentation/arm/Samsung-S3C24XX/Overview.txt156
-rw-r--r--Documentation/arm/Samsung-S3C24XX/SMDK2440.txt56
-rw-r--r--Documentation/arm/Samsung-S3C24XX/Suspend.txt106
6 files changed, 538 insertions, 0 deletions
diff --git a/Documentation/arm/Samsung-S3C24XX/EB2410ITX.txt b/Documentation/arm/Samsung-S3C24XX/EB2410ITX.txt
new file mode 100644
index 000000000000..000e3d7a78b2
--- /dev/null
+++ b/Documentation/arm/Samsung-S3C24XX/EB2410ITX.txt
@@ -0,0 +1,58 @@
1 Simtec Electronics EB2410ITX (BAST)
2 ===================================
3
4 http://www.simtec.co.uk/products/EB2410ITX/
5
6Introduction
7------------
8
9 The EB2410ITX is a S3C2410 based development board with a variety of
10 peripherals and expansion connectors. This board is also known by
11 the shortened name of Bast.
12
13
14Configuration
15-------------
16
17 To set the default configuration, use `make bast_defconfig` which
18 supports the commonly used features of this board.
19
20
21Support
22-------
23
24 Official support information can be found on the Simtec Electronics
25 website, at the product page http://www.simtec.co.uk/products/EB2410ITX/
26
27 Useful links:
28
29 - Resources Page http://www.simtec.co.uk/products/EB2410ITX/resources.html
30
31 - Board FAQ at http://www.simtec.co.uk/products/EB2410ITX/faq.html
32
33 - Bootloader info http://www.simtec.co.uk/products/SWABLE/resources.html
34 and FAQ http://www.simtec.co.uk/products/SWABLE/faq.html
35
36
37MTD
38---
39
40 The NAND and NOR support has been merged from the linux-mtd project.
41 Any prolbems, see http://www.linux-mtd.infradead.org/ for more
42 information or up-to-date versions of linux-mtd.
43
44
45IDE
46---
47
48 Both onboard IDE ports are supported, however there is no support for
49 changing speed of devices, PIO Mode 4 capable drives should be used.
50
51
52Maintainers
53-----------
54
55 This board is maintained by Simtec Electronics.
56
57
58(c) 2004 Ben Dooks, Simtec Electronics
diff --git a/Documentation/arm/Samsung-S3C24XX/GPIO.txt b/Documentation/arm/Samsung-S3C24XX/GPIO.txt
new file mode 100644
index 000000000000..0822764ec270
--- /dev/null
+++ b/Documentation/arm/Samsung-S3C24XX/GPIO.txt
@@ -0,0 +1,122 @@
1 S3C2410 GPIO Control
2 ====================
3
4Introduction
5------------
6
7 The s3c2410 kernel provides an interface to configure and
8 manipulate the state of the GPIO pins, and find out other
9 information about them.
10
11 There are a number of conditions attached to the configuration
12 of the s3c2410 GPIO system, please read the Samsung provided
13 data-sheet/users manual to find out the complete list.
14
15
16Headers
17-------
18
19 See include/asm-arm/arch-s3c2410/regs-gpio.h for the list
20 of GPIO pins, and the configuration values for them. This
21 is included by using #include <asm/arch/regs-gpio.h>
22
23 The GPIO management functions are defined in the hardware
24 header include/asm-arm/arch-s3c2410/hardware.h which can be
25 included by #include <asm/arch/hardware.h>
26
27 A useful ammount of documentation can be found in the hardware
28 header on how the GPIO functions (and others) work.
29
30 Whilst a number of these functions do make some checks on what
31 is passed to them, for speed of use, they may not always ensure
32 that the user supplied data to them is correct.
33
34
35PIN Numbers
36-----------
37
38 Each pin has an unique number associated with it in regs-gpio.h,
39 eg S3C2410_GPA0 or S3C2410_GPF1. These defines are used to tell
40 the GPIO functions which pin is to be used.
41
42
43Configuring a pin
44-----------------
45
46 The following function allows the configuration of a given pin to
47 be changed.
48
49 void s3c2410_gpio_cfgpin(unsigned int pin, unsigned int function);
50
51 Eg:
52
53 s3c2410_gpio_cfgpin(S3C2410_GPA0, S3C2410_GPA0_ADDR0);
54 s3c2410_gpio_cfgpin(S3C2410_GPE8, S3C2410_GPE8_SDDAT1);
55
56 which would turn GPA0 into the lowest Address line A0, and set
57 GPE8 to be connected to the SDIO/MMC controller's SDDAT1 line.
58
59
60Reading the current configuration
61---------------------------------
62
63 The current configuration of a pin can be read by using:
64
65 s3c2410_gpio_getcfg(unsigned int pin);
66
67 The return value will be from the same set of values which can be
68 passed to s3c2410_gpio_cfgpin().
69
70
71Configuring a pull-up resistor
72------------------------------
73
74 A large proportion of the GPIO pins on the S3C2410 can have weak
75 pull-up resistors enabled. This can be configured by the following
76 function:
77
78 void s3c2410_gpio_pullup(unsigned int pin, unsigned int to);
79
80 Where the to value is zero to set the pull-up off, and 1 to enable
81 the specified pull-up. Any other values are currently undefined.
82
83
84Getting the state of a PIN
85--------------------------
86
87 The state of a pin can be read by using the function:
88
89 unsigned int s3c2410_gpio_getpin(unsigned int pin);
90
91 This will return either zero or non-zero. Do not count on this
92 function returning 1 if the pin is set.
93
94
95Setting the state of a PIN
96--------------------------
97
98 The value an pin is outputing can be modified by using the following:
99
100 void s3c2410_gpio_setpin(unsigned int pin, unsigned int to);
101
102 Which sets the given pin to the value. Use 0 to write 0, and 1 to
103 set the output to 1.
104
105
106Getting the IRQ number associated with a PIN
107--------------------------------------------
108
109 The following function can map the given pin number to an IRQ
110 number to pass to the IRQ system.
111
112 int s3c2410_gpio_getirq(unsigned int pin);
113
114 Note, not all pins have an IRQ.
115
116
117Authour
118-------
119
120
121Ben Dooks, 03 October 2004
122(c) 2004 Ben Dooks, Simtec Electronics
diff --git a/Documentation/arm/Samsung-S3C24XX/H1940.txt b/Documentation/arm/Samsung-S3C24XX/H1940.txt
new file mode 100644
index 000000000000..d6b1de92b111
--- /dev/null
+++ b/Documentation/arm/Samsung-S3C24XX/H1940.txt
@@ -0,0 +1,40 @@
1 HP IPAQ H1940
2 =============
3
4http://www.handhelds.org/projects/h1940.html
5
6Introduction
7------------
8
9 The HP H1940 is a S3C2410 based handheld device, with
10 bluetooth connectivity.
11
12
13Support
14-------
15
16 A variety of information is available
17
18 handhelds.org project page:
19
20 http://www.handhelds.org/projects/h1940.html
21
22 handhelds.org wiki page:
23
24 http://handhelds.org/moin/moin.cgi/HpIpaqH1940
25
26 Herbert Pötzl pages:
27
28 http://vserver.13thfloor.at/H1940/
29
30
31Maintainers
32-----------
33
34 This project is being maintained and developed by a variety
35 of people, including Ben Dooks, Arnaud Patard, and Herbert Pötzl.
36
37 Thanks to the many others who have also provided support.
38
39
40(c) 2005 Ben Dooks \ No newline at end of file
diff --git a/Documentation/arm/Samsung-S3C24XX/Overview.txt b/Documentation/arm/Samsung-S3C24XX/Overview.txt
new file mode 100644
index 000000000000..3af4d29a8938
--- /dev/null
+++ b/Documentation/arm/Samsung-S3C24XX/Overview.txt
@@ -0,0 +1,156 @@
1 S3C24XX ARM Linux Overview
2 ==========================
3
4
5
6Introduction
7------------
8
9 The Samsung S3C24XX range of ARM9 System-on-Chip CPUs are supported
10 by the 's3c2410' architecture of ARM Linux. Currently the S3C2410 and
11 the S3C2440 are supported CPUs.
12
13
14Configuration
15-------------
16
17 A generic S3C2410 configuration is provided, and can be used as the
18 default by `make s3c2410_defconfig`. This configuration has support
19 for all the machines, and the commonly used features on them.
20
21 Certain machines may have their own default configurations as well,
22 please check the machine specific documentation.
23
24
25Machines
26--------
27
28 The currently supported machines are as follows:
29
30 Simtec Electronics EB2410ITX (BAST)
31
32 A general purpose development board, see EB2410ITX.txt for further
33 details
34
35 Samsung SMDK2410
36
37 Samsung's own development board, geared for PDA work.
38
39 Samsung/Meritech SMDK2440
40
41 The S3C2440 compatible version of the SMDK2440
42
43 Thorcom VR1000
44
45 Custom embedded board
46
47 HP IPAQ 1940
48
49 Handheld (IPAQ), available in several varieties
50
51 HP iPAQ rx3715
52
53 S3C2440 based IPAQ, with a number of variations depending on
54 features shipped.
55
56 Acer N30
57
58 A S3C2410 based PDA from Acer. There is a Wiki page at
59 http://handhelds.org/moin/moin.cgi/AcerN30Documentation .
60
61
62Adding New Machines
63-------------------
64
65 The archicture has been designed to support as many machines as can
66 be configured for it in one kernel build, and any future additions
67 should keep this in mind before altering items outside of their own
68 machine files.
69
70 Machine definitions should be kept in linux/arch/arm/mach-s3c2410,
71 and there are a number of examples that can be looked at.
72
73 Read the kernel patch submission policies as well as the
74 Documentation/arm directory before submitting patches. The
75 ARM kernel series is managed by Russell King, and has a patch system
76 located at http://www.arm.linux.org.uk/developer/patches/
77 as well as mailing lists that can be found from the same site.
78
79 As a courtesy, please notify <ben-linux@fluff.org> of any new
80 machines or other modifications.
81
82 Any large scale modifications, or new drivers should be discussed
83 on the ARM kernel mailing list (linux-arm-kernel) before being
84 attempted.
85
86
87NAND
88----
89
90 The current kernels now have support for the s3c2410 NAND
91 controller. If there are any problems the latest linux-mtd
92 CVS can be found from http://www.linux-mtd.infradead.org/
93
94
95Serial
96------
97
98 The s3c2410 serial driver provides support for the internal
99 serial ports. These devices appear as /dev/ttySAC0 through 3.
100
101 To create device nodes for these, use the following commands
102
103 mknod ttySAC0 c 204 64
104 mknod ttySAC1 c 204 65
105 mknod ttySAC2 c 204 66
106
107
108GPIO
109----
110
111 The core contains support for manipulating the GPIO, see the
112 documentation in GPIO.txt in the same directory as this file.
113
114
115Clock Management
116----------------
117
118 The core provides the interface defined in the header file
119 include/asm-arm/hardware/clock.h, to allow control over the
120 various clock units
121
122
123Port Contributors
124-----------------
125
126 Ben Dooks (BJD)
127 Vincent Sanders
128 Herbert Potzl
129 Arnaud Patard (RTP)
130 Roc Wu
131 Klaus Fetscher
132 Dimitry Andric
133 Shannon Holland
134 Guillaume Gourat (NexVision)
135 Christer Weinigel (wingel) (Acer N30)
136 Lucas Correia Villa Real (S3C2400 port)
137
138
139Document Changes
140----------------
141
142 05 Sep 2004 - BJD - Added Document Changes section
143 05 Sep 2004 - BJD - Added Klaus Fetscher to list of contributors
144 25 Oct 2004 - BJD - Added Dimitry Andric to list of contributors
145 25 Oct 2004 - BJD - Updated the MTD from the 2.6.9 merge
146 21 Jan 2005 - BJD - Added rx3715, added Shannon to contributors
147 10 Feb 2005 - BJD - Added Guillaume Gourat to contributors
148 02 Mar 2005 - BJD - Added SMDK2440 to list of machines
149 06 Mar 2005 - BJD - Added Christer Weinigel
150 08 Mar 2005 - BJD - Added LCVR to list of people, updated introduction
151 08 Mar 2005 - BJD - Added section on adding machines
152
153Document Author
154---------------
155
156Ben Dooks, (c) 2004-2005 Simtec Electronics
diff --git a/Documentation/arm/Samsung-S3C24XX/SMDK2440.txt b/Documentation/arm/Samsung-S3C24XX/SMDK2440.txt
new file mode 100644
index 000000000000..32e1eae6a25f
--- /dev/null
+++ b/Documentation/arm/Samsung-S3C24XX/SMDK2440.txt
@@ -0,0 +1,56 @@
1 Samsung/Meritech SMDK2440
2 =========================
3
4Introduction
5------------
6
7 The SMDK2440 is a two part evaluation board for the Samsung S3C2440
8 processor. It includes support for LCD, SmartMedia, Audio, SD and
9 10MBit Ethernet, and expansion headers for various signals, including
10 the camera and unused GPIO.
11
12
13Configuration
14-------------
15
16 To set the default configuration, use `make smdk2440_defconfig` which
17 will configure the common features of this board, or use
18 `make s3c2410_config` to include support for all s3c2410/s3c2440 machines
19
20
21Support
22-------
23
24 Ben Dooks' SMDK2440 site at http://www.fluff.org/ben/smdk2440/ which
25 includes linux based USB download tools.
26
27 Some of the h1940 patches that can be found from the H1940 project
28 site at http://www.handhelds.org/projects/h1940.html can also be
29 applied to this board.
30
31
32Peripherals
33-----------
34
35 There is no current support for any of the extra peripherals on the
36 base-board itself.
37
38
39MTD
40---
41
42 The NAND flash should be supported by the in kernel MTD NAND support,
43 NOR flash will be added later.
44
45
46Maintainers
47-----------
48
49 This board is being maintained by Ben Dooks, for more info, see
50 http://www.fluff.org/ben/smdk2440/
51
52 Many thanks to Dimitry Andric of TomTom for the loan of the SMDK2440,
53 and to Simtec Electronics for allowing me time to work on this.
54
55
56(c) 2004 Ben Dooks \ No newline at end of file
diff --git a/Documentation/arm/Samsung-S3C24XX/Suspend.txt b/Documentation/arm/Samsung-S3C24XX/Suspend.txt
new file mode 100644
index 000000000000..e12bc3284a27
--- /dev/null
+++ b/Documentation/arm/Samsung-S3C24XX/Suspend.txt
@@ -0,0 +1,106 @@
1 S3C24XX Suspend Support
2 =======================
3
4
5Introduction
6------------
7
8 The S3C2410 supports a low-power suspend mode, where the SDRAM is kept
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
11 at the S3C2410 datasheets from Samsung.
12
13
14Requirements
15------------
16
17 1) A bootloader that can support the necessary resume operation
18
19 2) Support for at least 1 source for resume
20
21 3) CONFIG_PM enabled in the kernel
22
23 4) Any peripherals that are going to be powered down at the same
24 time require suspend/resume support.
25
26
27Resuming
28--------
29
30 The S3C2410 user manual defines the process of sending the CPU to
31 sleep and how it resumes. The default behaviour of the Linux code
32 is to set the GSTATUS3 register to the physical address of the
33 code to resume Linux operation.
34
35 GSTATUS4 is currently left alone by the sleep code, and is free to
36 use for any other purposes (for example, the EB2410ITX uses this to
37 save memory configuration in).
38
39
40Machine Support
41---------------
42
43 The machine specific functions must call the s3c2410_pm_init() function
44 to say that its bootloader is capable of resuming. This can be as
45 simple as adding the following to the machine's definition:
46
47 INITMACHINE(s3c2410_pm_init)
48
49 A board can do its own setup before calling s3c2410_pm_init, if it
50 needs to setup anything else for power management support.
51
52 There is currently no support for over-riding the default method of
53 saving the resume address, if your board requires it, then contact
54 the maintainer and discuss what is required.
55
56 Note, the original method of adding an late_initcall() is wrong,
57 and will end up initialising all compiled machines' pm init!
58
59
60Debugging
61---------
62
63 There are several important things to remember when using PM suspend:
64
65 1) The uart drivers will disable the clocks to the UART blocks when
66 suspending, which means that use of printascii() or similar direct
67 access to the UARTs will cause the debug to stop.
68
69 2) Whilst the pm code itself will attempt to re-enable the UART clocks,
70 care should be taken that any external clock sources that the UARTs
71 rely on are still enabled at that point.
72
73
74Configuration
75-------------
76
77 The S3C2410 specific configuration in `System Type` defines various
78 aspects of how the S3C2410 suspend and resume support is configured
79
80 `S3C2410 PM Suspend debug`
81
82 This option prints messages to the serial console before and after
83 the actual suspend, giving detailed information on what is
84 happening
85
86
87 `S3C2410 PM Suspend Memory CRC`
88
89 Allows the entire memory to be checksummed before and after the
90 suspend to see if there has been any corruption of the contents.
91
92 This support requires the CRC32 function to be enabled.
93
94
95 `S3C2410 PM Suspend CRC Chunksize (KiB)`
96
97 Defines the size of memory each CRC chunk covers. A smaller value
98 will mean that the CRC data block will take more memory, but will
99 identify any faults with better precision
100
101
102Document Author
103---------------
104
105Ben Dooks, (c) 2004 Simtec Electronics
106