diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-15 11:07:35 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-15 11:07:35 -0400 |
commit | 5f2434a66dfa4701b81b79a78eaf9c32da0f8839 (patch) | |
tree | 8c38f1fb0d0fbcd15e496df89be00ad8c4918a43 /Documentation | |
parent | 278429cff8809958d25415ba0ed32b59866ab1a8 (diff) | |
parent | 6dc6472581f693b5fc95aebedf67b4960fb85cf0 (diff) |
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (158 commits)
powerpc: Fix CHRP PCI config access for indirect_pci
powerpc/chrp: Fix detection of Python PCI host bridge on IBM CHRPs
powerpc: Fix 32-bit SMP boot on CHRP
powerpc: Fix link errors on 32-bit machines using legacy DMA
powerpc/pci: Improve detection of unassigned bridge resources
hvc_console: Fix free_irq in spinlocked section
powerpc: Get USE_STRICT_MM_TYPECHECKS working again
powerpc: Reflect the used arguments in machine_init() prototype
powerpc: Fix DMA offset for non-coherent DMA
powerpc: fix fsl_upm nand driver modular build
powerpc/83xx: add NAND support for the MPC8360E-RDK boards
powerpc: FPGA support for GE Fanuc SBC610
i2c: MPC8349E-mITX Power Management and GPIO expander driver
powerpc: reserve two DMA channels for audio in MPC8610 HPCD device tree
powerpc: document the "fsl,ssi-dma-channel" compatible property
powerpc: disable CHRP and PMAC support in various defconfigs
OF: add fsl,mcu-mpc8349emitx to the exception list
powerpc/83xx: add DS1374 RTC support for the MPC837xE-MDS boards
powerpc: remove support for bootmem-allocated memory for the DIU driver
powerpc: remove non-dependent load fsl_booke PTE_64BIT
...
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/powerpc/00-INDEX | 4 | ||||
-rw-r--r-- | Documentation/powerpc/dts-bindings/fsl/83xx-512x-pci.txt | 40 | ||||
-rw-r--r-- | Documentation/powerpc/dts-bindings/fsl/8xxx_gpio.txt | 40 | ||||
-rw-r--r-- | Documentation/powerpc/dts-bindings/fsl/dma.txt | 13 | ||||
-rw-r--r-- | Documentation/powerpc/dts-bindings/fsl/ssi.txt | 23 | ||||
-rw-r--r-- | Documentation/powerpc/ppc_htab.txt | 118 | ||||
-rw-r--r-- | Documentation/powerpc/smp.txt | 34 |
7 files changed, 114 insertions, 158 deletions
diff --git a/Documentation/powerpc/00-INDEX b/Documentation/powerpc/00-INDEX index 29d839ce7327..e3960b8c8689 100644 --- a/Documentation/powerpc/00-INDEX +++ b/Documentation/powerpc/00-INDEX | |||
@@ -18,10 +18,6 @@ mpc52xx.txt | |||
18 | - Linux 2.6.x on MPC52xx family | 18 | - Linux 2.6.x on MPC52xx family |
19 | mpc52xx-device-tree-bindings.txt | 19 | mpc52xx-device-tree-bindings.txt |
20 | - MPC5200 Device Tree Bindings | 20 | - MPC5200 Device Tree Bindings |
21 | ppc_htab.txt | ||
22 | - info about the Linux/PPC /proc/ppc_htab entry | ||
23 | smp.txt | ||
24 | - use and state info about Linux/PPC on MP machines | ||
25 | sound.txt | 21 | sound.txt |
26 | - info on sound support under Linux/PPC | 22 | - info on sound support under Linux/PPC |
27 | zImage_layout.txt | 23 | zImage_layout.txt |
diff --git a/Documentation/powerpc/dts-bindings/fsl/83xx-512x-pci.txt b/Documentation/powerpc/dts-bindings/fsl/83xx-512x-pci.txt new file mode 100644 index 000000000000..35a465362408 --- /dev/null +++ b/Documentation/powerpc/dts-bindings/fsl/83xx-512x-pci.txt | |||
@@ -0,0 +1,40 @@ | |||
1 | * Freescale 83xx and 512x PCI bridges | ||
2 | |||
3 | Freescale 83xx and 512x SOCs include the same pci bridge core. | ||
4 | |||
5 | 83xx/512x specific notes: | ||
6 | - reg: should contain two address length tuples | ||
7 | The first is for the internal pci bridge registers | ||
8 | The second is for the pci config space access registers | ||
9 | |||
10 | Example (MPC8313ERDB) | ||
11 | pci0: pci@e0008500 { | ||
12 | cell-index = <1>; | ||
13 | interrupt-map-mask = <0xf800 0x0 0x0 0x7>; | ||
14 | interrupt-map = < | ||
15 | /* IDSEL 0x0E -mini PCI */ | ||
16 | 0x7000 0x0 0x0 0x1 &ipic 18 0x8 | ||
17 | 0x7000 0x0 0x0 0x2 &ipic 18 0x8 | ||
18 | 0x7000 0x0 0x0 0x3 &ipic 18 0x8 | ||
19 | 0x7000 0x0 0x0 0x4 &ipic 18 0x8 | ||
20 | |||
21 | /* IDSEL 0x0F - PCI slot */ | ||
22 | 0x7800 0x0 0x0 0x1 &ipic 17 0x8 | ||
23 | 0x7800 0x0 0x0 0x2 &ipic 18 0x8 | ||
24 | 0x7800 0x0 0x0 0x3 &ipic 17 0x8 | ||
25 | 0x7800 0x0 0x0 0x4 &ipic 18 0x8>; | ||
26 | interrupt-parent = <&ipic>; | ||
27 | interrupts = <66 0x8>; | ||
28 | bus-range = <0x0 0x0>; | ||
29 | ranges = <0x02000000 0x0 0x90000000 0x90000000 0x0 0x10000000 | ||
30 | 0x42000000 0x0 0x80000000 0x80000000 0x0 0x10000000 | ||
31 | 0x01000000 0x0 0x00000000 0xe2000000 0x0 0x00100000>; | ||
32 | clock-frequency = <66666666>; | ||
33 | #interrupt-cells = <1>; | ||
34 | #size-cells = <2>; | ||
35 | #address-cells = <3>; | ||
36 | reg = <0xe0008500 0x100 /* internal registers */ | ||
37 | 0xe0008300 0x8>; /* config space access registers */ | ||
38 | compatible = "fsl,mpc8349-pci"; | ||
39 | device_type = "pci"; | ||
40 | }; | ||
diff --git a/Documentation/powerpc/dts-bindings/fsl/8xxx_gpio.txt b/Documentation/powerpc/dts-bindings/fsl/8xxx_gpio.txt new file mode 100644 index 000000000000..d015dcec4011 --- /dev/null +++ b/Documentation/powerpc/dts-bindings/fsl/8xxx_gpio.txt | |||
@@ -0,0 +1,40 @@ | |||
1 | GPIO controllers on MPC8xxx SoCs | ||
2 | |||
3 | This is for the non-QE/CPM/GUTs GPIO controllers as found on | ||
4 | 8349, 8572, 8610 and compatible. | ||
5 | |||
6 | Every GPIO controller node must have #gpio-cells property defined, | ||
7 | this information will be used to translate gpio-specifiers. | ||
8 | |||
9 | Required properties: | ||
10 | - compatible : "fsl,<CHIP>-gpio" followed by "fsl,mpc8349-gpio" for | ||
11 | 83xx, "fsl,mpc8572-gpio" for 85xx and "fsl,mpc8610-gpio" for 86xx. | ||
12 | - #gpio-cells : Should be two. The first cell is the pin number and the | ||
13 | second cell is used to specify optional parameters (currently unused). | ||
14 | - interrupts : Interrupt mapping for GPIO IRQ (currently unused). | ||
15 | - interrupt-parent : Phandle for the interrupt controller that | ||
16 | services interrupts for this device. | ||
17 | - gpio-controller : Marks the port as GPIO controller. | ||
18 | |||
19 | Example of gpio-controller nodes for a MPC8347 SoC: | ||
20 | |||
21 | gpio1: gpio-controller@c00 { | ||
22 | #gpio-cells = <2>; | ||
23 | compatible = "fsl,mpc8347-gpio", "fsl,mpc8349-gpio"; | ||
24 | reg = <0xc00 0x100>; | ||
25 | interrupts = <74 0x8>; | ||
26 | interrupt-parent = <&ipic>; | ||
27 | gpio-controller; | ||
28 | }; | ||
29 | |||
30 | gpio2: gpio-controller@d00 { | ||
31 | #gpio-cells = <2>; | ||
32 | compatible = "fsl,mpc8347-gpio", "fsl,mpc8349-gpio"; | ||
33 | reg = <0xd00 0x100>; | ||
34 | interrupts = <75 0x8>; | ||
35 | interrupt-parent = <&ipic>; | ||
36 | gpio-controller; | ||
37 | }; | ||
38 | |||
39 | See booting-without-of.txt for details of how to specify GPIO | ||
40 | information for devices. | ||
diff --git a/Documentation/powerpc/dts-bindings/fsl/dma.txt b/Documentation/powerpc/dts-bindings/fsl/dma.txt index 86826df00e64..cc453110fc46 100644 --- a/Documentation/powerpc/dts-bindings/fsl/dma.txt +++ b/Documentation/powerpc/dts-bindings/fsl/dma.txt | |||
@@ -20,7 +20,7 @@ Required properties: | |||
20 | - compatible : compatible list, contains 2 entries, first is | 20 | - compatible : compatible list, contains 2 entries, first is |
21 | "fsl,CHIP-dma-channel", where CHIP is the processor | 21 | "fsl,CHIP-dma-channel", where CHIP is the processor |
22 | (mpc8349, mpc8350, etc.) and the second is | 22 | (mpc8349, mpc8350, etc.) and the second is |
23 | "fsl,elo-dma-channel" | 23 | "fsl,elo-dma-channel". However, see note below. |
24 | - reg : <registers mapping for channel> | 24 | - reg : <registers mapping for channel> |
25 | - cell-index : dma channel index starts at 0. | 25 | - cell-index : dma channel index starts at 0. |
26 | 26 | ||
@@ -82,7 +82,7 @@ Required properties: | |||
82 | - compatible : compatible list, contains 2 entries, first is | 82 | - compatible : compatible list, contains 2 entries, first is |
83 | "fsl,CHIP-dma-channel", where CHIP is the processor | 83 | "fsl,CHIP-dma-channel", where CHIP is the processor |
84 | (mpc8540, mpc8560, etc.) and the second is | 84 | (mpc8540, mpc8560, etc.) and the second is |
85 | "fsl,eloplus-dma-channel" | 85 | "fsl,eloplus-dma-channel". However, see note below. |
86 | - cell-index : dma channel index starts at 0. | 86 | - cell-index : dma channel index starts at 0. |
87 | - reg : <registers mapping for channel> | 87 | - reg : <registers mapping for channel> |
88 | - interrupts : <interrupt mapping for DMA channel IRQ> | 88 | - interrupts : <interrupt mapping for DMA channel IRQ> |
@@ -125,3 +125,12 @@ Example: | |||
125 | interrupts = <17 2>; | 125 | interrupts = <17 2>; |
126 | }; | 126 | }; |
127 | }; | 127 | }; |
128 | |||
129 | Note on DMA channel compatible properties: The compatible property must say | ||
130 | "fsl,elo-dma-channel" or "fsl,eloplus-dma-channel" to be used by the Elo DMA | ||
131 | driver (fsldma). Any DMA channel used by fsldma cannot be used by another | ||
132 | DMA driver, such as the SSI sound drivers for the MPC8610. Therefore, any DMA | ||
133 | channel that should be used for another driver should not use | ||
134 | "fsl,elo-dma-channel" or "fsl,eloplus-dma-channel". For the SSI drivers, for | ||
135 | example, the compatible property should be "fsl,ssi-dma-channel". See ssi.txt | ||
136 | for more information. | ||
diff --git a/Documentation/powerpc/dts-bindings/fsl/ssi.txt b/Documentation/powerpc/dts-bindings/fsl/ssi.txt index d100555d488a..a2d963998a65 100644 --- a/Documentation/powerpc/dts-bindings/fsl/ssi.txt +++ b/Documentation/powerpc/dts-bindings/fsl/ssi.txt | |||
@@ -24,6 +24,12 @@ Required properties: | |||
24 | "rj-master" - r.j., SSI is clock master | 24 | "rj-master" - r.j., SSI is clock master |
25 | "ac97-slave" - AC97 mode, SSI is clock slave | 25 | "ac97-slave" - AC97 mode, SSI is clock slave |
26 | "ac97-master" - AC97 mode, SSI is clock master | 26 | "ac97-master" - AC97 mode, SSI is clock master |
27 | - fsl,playback-dma: phandle to a node for the DMA channel to use for | ||
28 | playback of audio. This is typically dictated by SOC | ||
29 | design. See the notes below. | ||
30 | - fsl,capture-dma: phandle to a node for the DMA channel to use for | ||
31 | capture (recording) of audio. This is typically dictated | ||
32 | by SOC design. See the notes below. | ||
27 | 33 | ||
28 | Optional properties: | 34 | Optional properties: |
29 | - codec-handle : phandle to a 'codec' node that defines an audio | 35 | - codec-handle : phandle to a 'codec' node that defines an audio |
@@ -36,3 +42,20 @@ Child 'codec' node required properties: | |||
36 | Child 'codec' node optional properties: | 42 | Child 'codec' node optional properties: |
37 | - clock-frequency : The frequency of the input clock, which typically | 43 | - clock-frequency : The frequency of the input clock, which typically |
38 | comes from an on-board dedicated oscillator. | 44 | comes from an on-board dedicated oscillator. |
45 | |||
46 | Notes on fsl,playback-dma and fsl,capture-dma: | ||
47 | |||
48 | On SOCs that have an SSI, specific DMA channels are hard-wired for playback | ||
49 | and capture. On the MPC8610, for example, SSI1 must use DMA channel 0 for | ||
50 | playback and DMA channel 1 for capture. SSI2 must use DMA channel 2 for | ||
51 | playback and DMA channel 3 for capture. The developer can choose which | ||
52 | DMA controller to use, but the channels themselves are hard-wired. The | ||
53 | purpose of these two properties is to represent this hardware design. | ||
54 | |||
55 | The device tree nodes for the DMA channels that are referenced by | ||
56 | "fsl,playback-dma" and "fsl,capture-dma" must be marked as compatible with | ||
57 | "fsl,ssi-dma-channel". The SOC-specific compatible string (e.g. | ||
58 | "fsl,mpc8610-dma-channel") can remain. If these nodes are left as | ||
59 | "fsl,elo-dma-channel" or "fsl,eloplus-dma-channel", then the generic Elo DMA | ||
60 | drivers (fsldma) will attempt to use them, and it will conflict with the | ||
61 | sound drivers. | ||
diff --git a/Documentation/powerpc/ppc_htab.txt b/Documentation/powerpc/ppc_htab.txt deleted file mode 100644 index 8b8c7df29fa9..000000000000 --- a/Documentation/powerpc/ppc_htab.txt +++ /dev/null | |||
@@ -1,118 +0,0 @@ | |||
1 | Information about /proc/ppc_htab | ||
2 | ===================================================================== | ||
3 | |||
4 | This document and the related code was written by me (Cort Dougan), please | ||
5 | email me (cort@fsmlabs.com) if you have questions, comments or corrections. | ||
6 | |||
7 | Last Change: 2.16.98 | ||
8 | |||
9 | This entry in the proc directory is readable by all users but only | ||
10 | writable by root. | ||
11 | |||
12 | The ppc_htab interface is a user level way of accessing the | ||
13 | performance monitoring registers as well as providing information | ||
14 | about the PTE hash table. | ||
15 | |||
16 | 1. Reading | ||
17 | |||
18 | Reading this file will give you information about the memory management | ||
19 | hash table that serves as an extended tlb for page translation on the | ||
20 | powerpc. It will also give you information about performance measurement | ||
21 | specific to the cpu that you are using. | ||
22 | |||
23 | Explanation of the 604 Performance Monitoring Fields: | ||
24 | MMCR0 - the current value of the MMCR0 register | ||
25 | PMC1 | ||
26 | PMC2 - the value of the performance counters and a | ||
27 | description of what events they are counting | ||
28 | which are based on MMCR0 bit settings. | ||
29 | Explanation of the PTE Hash Table fields: | ||
30 | |||
31 | Size - hash table size in Kb. | ||
32 | Buckets - number of buckets in the table. | ||
33 | Address - the virtual kernel address of the hash table base. | ||
34 | Entries - the number of ptes that can be stored in the hash table. | ||
35 | User/Kernel - how many pte's are in use by the kernel or user at that time. | ||
36 | Overflows - How many of the entries are in their secondary hash location. | ||
37 | Percent full - ratio of free pte entries to in use entries. | ||
38 | Reloads - Count of how many hash table misses have occurred | ||
39 | that were fixed with a reload from the linux tables. | ||
40 | Should always be 0 on 603 based machines. | ||
41 | Non-error Misses - Count of how many hash table misses have occurred | ||
42 | that were completed with the creation of a pte in the linux | ||
43 | tables with a call to do_page_fault(). | ||
44 | Error Misses - Number of misses due to errors such as bad address | ||
45 | and permission violations. This includes kernel access of | ||
46 | bad user addresses that are fixed up by the trap handler. | ||
47 | |||
48 | Note that calculation of the data displayed from /proc/ppc_htab takes | ||
49 | a long time and spends a great deal of time in the kernel. It would | ||
50 | be quite hard on performance to read this file constantly. In time | ||
51 | there may be a counter in the kernel that allows successive reads from | ||
52 | this file only after a given amount of time has passed to reduce the | ||
53 | possibility of a user slowing the system by reading this file. | ||
54 | |||
55 | 2. Writing | ||
56 | |||
57 | Writing to the ppc_htab allows you to change the characteristics of | ||
58 | the powerpc PTE hash table and setup performance monitoring. | ||
59 | |||
60 | Resizing the PTE hash table is not enabled right now due to many | ||
61 | complications with moving the hash table, rehashing the entries | ||
62 | and many many SMP issues that would have to be dealt with. | ||
63 | |||
64 | Write options to ppc_htab: | ||
65 | |||
66 | - To set the size of the hash table to 64Kb: | ||
67 | |||
68 | echo 'size 64' > /proc/ppc_htab | ||
69 | |||
70 | The size must be a multiple of 64 and must be greater than or equal to | ||
71 | 64. | ||
72 | |||
73 | - To turn off performance monitoring: | ||
74 | |||
75 | echo 'off' > /proc/ppc_htab | ||
76 | |||
77 | - To reset the counters without changing what they're counting: | ||
78 | |||
79 | echo 'reset' > /proc/ppc_htab | ||
80 | |||
81 | Note that counting will continue after the reset if it is enabled. | ||
82 | |||
83 | - To count only events in user mode or only in kernel mode: | ||
84 | |||
85 | echo 'user' > /proc/ppc_htab | ||
86 | ...or... | ||
87 | echo 'kernel' > /proc/ppc_htab | ||
88 | |||
89 | Note that these two options are exclusive of one another and the | ||
90 | lack of either of these options counts user and kernel. | ||
91 | Using 'reset' and 'off' reset these flags. | ||
92 | |||
93 | - The 604 has 2 performance counters which can each count events from | ||
94 | a specific set of events. These sets are disjoint so it is not | ||
95 | possible to count _any_ combination of 2 events. One event can | ||
96 | be counted by PMC1 and one by PMC2. | ||
97 | |||
98 | To start counting a particular event use: | ||
99 | |||
100 | echo 'event' > /proc/ppc_htab | ||
101 | |||
102 | and choose from these events: | ||
103 | |||
104 | PMC1 | ||
105 | ---- | ||
106 | 'ic miss' - instruction cache misses | ||
107 | 'dtlb' - data tlb misses (not hash table misses) | ||
108 | |||
109 | PMC2 | ||
110 | ---- | ||
111 | 'dc miss' - data cache misses | ||
112 | 'itlb' - instruction tlb misses (not hash table misses) | ||
113 | 'load miss time' - cycles to complete a load miss | ||
114 | |||
115 | 3. Bugs | ||
116 | |||
117 | The PMC1 and PMC2 counters can overflow and give no indication of that | ||
118 | in /proc/ppc_htab. | ||
diff --git a/Documentation/powerpc/smp.txt b/Documentation/powerpc/smp.txt deleted file mode 100644 index 5b581b849ff7..000000000000 --- a/Documentation/powerpc/smp.txt +++ /dev/null | |||
@@ -1,34 +0,0 @@ | |||
1 | Information about Linux/PPC SMP mode | ||
2 | ===================================================================== | ||
3 | |||
4 | This document and the related code was written by me | ||
5 | (Cort Dougan, cort@fsmlabs.com) please email me if you have questions, | ||
6 | comments or corrections. | ||
7 | |||
8 | Last Change: 3.31.99 | ||
9 | |||
10 | If you want to help by writing code or testing different hardware please | ||
11 | email me! | ||
12 | |||
13 | 1. State of Supported Hardware | ||
14 | |||
15 | PowerSurge Architecture - tested on UMAX s900, Apple 9600 | ||
16 | The second processor on this machine boots up just fine and | ||
17 | enters its idle loop. Hopefully a completely working SMP kernel | ||
18 | on this machine will be done shortly. | ||
19 | |||
20 | The code makes the assumption of only two processors. The changes | ||
21 | necessary to work with any number would not be overly difficult but | ||
22 | I don't have any machines with >2 processors so it's not high on my | ||
23 | list of priorities. If anyone else would like do to the work email | ||
24 | me and I can point out the places that need changed. If you have >2 | ||
25 | processors and don't want to add support yourself let me know and I | ||
26 | can take a look into it. | ||
27 | |||
28 | BeBox | ||
29 | BeBox support hasn't been added to the 2.1.X kernels from 2.0.X | ||
30 | but work is being done and SMP support for BeBox is in the works. | ||
31 | |||
32 | CHRP | ||
33 | CHRP SMP works and is fairly solid. It's been tested on the IBM F50 | ||
34 | with 4 processors for quite some time now. | ||