diff options
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/powerpc/booting-without-of.txt | 72 | ||||
-rw-r--r-- | Documentation/powerpc/eeh-pci-error-recovery.txt | 15 | ||||
-rw-r--r-- | Documentation/powerpc/hvcs.txt | 4 |
3 files changed, 82 insertions, 9 deletions
diff --git a/Documentation/powerpc/booting-without-of.txt b/Documentation/powerpc/booting-without-of.txt index d02c64953dcd..ee551c6ea235 100644 --- a/Documentation/powerpc/booting-without-of.txt +++ b/Documentation/powerpc/booting-without-of.txt | |||
@@ -1365,6 +1365,78 @@ platforms are moved over to use the flattened-device-tree model. | |||
1365 | }; | 1365 | }; |
1366 | 1366 | ||
1367 | 1367 | ||
1368 | g) Freescale SOC SEC Security Engines | ||
1369 | |||
1370 | Required properties: | ||
1371 | |||
1372 | - device_type : Should be "crypto" | ||
1373 | - model : Model of the device. Should be "SEC1" or "SEC2" | ||
1374 | - compatible : Should be "talitos" | ||
1375 | - reg : Offset and length of the register set for the device | ||
1376 | - interrupts : <a b> where a is the interrupt number and b is a | ||
1377 | field that represents an encoding of the sense and level | ||
1378 | information for the interrupt. This should be encoded based on | ||
1379 | the information in section 2) depending on the type of interrupt | ||
1380 | controller you have. | ||
1381 | - interrupt-parent : the phandle for the interrupt controller that | ||
1382 | services interrupts for this device. | ||
1383 | - num-channels : An integer representing the number of channels | ||
1384 | available. | ||
1385 | - channel-fifo-len : An integer representing the number of | ||
1386 | descriptor pointers each channel fetch fifo can hold. | ||
1387 | - exec-units-mask : The bitmask representing what execution units | ||
1388 | (EUs) are available. It's a single 32 bit cell. EU information | ||
1389 | should be encoded following the SEC's Descriptor Header Dword | ||
1390 | EU_SEL0 field documentation, i.e. as follows: | ||
1391 | |||
1392 | bit 0 = reserved - should be 0 | ||
1393 | bit 1 = set if SEC has the ARC4 EU (AFEU) | ||
1394 | bit 2 = set if SEC has the DES/3DES EU (DEU) | ||
1395 | bit 3 = set if SEC has the message digest EU (MDEU) | ||
1396 | bit 4 = set if SEC has the random number generator EU (RNG) | ||
1397 | bit 5 = set if SEC has the public key EU (PKEU) | ||
1398 | bit 6 = set if SEC has the AES EU (AESU) | ||
1399 | bit 7 = set if SEC has the Kasumi EU (KEU) | ||
1400 | |||
1401 | bits 8 through 31 are reserved for future SEC EUs. | ||
1402 | |||
1403 | - descriptor-types-mask : The bitmask representing what descriptors | ||
1404 | are available. It's a single 32 bit cell. Descriptor type | ||
1405 | information should be encoded following the SEC's Descriptor | ||
1406 | Header Dword DESC_TYPE field documentation, i.e. as follows: | ||
1407 | |||
1408 | bit 0 = set if SEC supports the aesu_ctr_nonsnoop desc. type | ||
1409 | bit 1 = set if SEC supports the ipsec_esp descriptor type | ||
1410 | bit 2 = set if SEC supports the common_nonsnoop desc. type | ||
1411 | bit 3 = set if SEC supports the 802.11i AES ccmp desc. type | ||
1412 | bit 4 = set if SEC supports the hmac_snoop_no_afeu desc. type | ||
1413 | bit 5 = set if SEC supports the srtp descriptor type | ||
1414 | bit 6 = set if SEC supports the non_hmac_snoop_no_afeu desc.type | ||
1415 | bit 7 = set if SEC supports the pkeu_assemble descriptor type | ||
1416 | bit 8 = set if SEC supports the aesu_key_expand_output desc.type | ||
1417 | bit 9 = set if SEC supports the pkeu_ptmul descriptor type | ||
1418 | bit 10 = set if SEC supports the common_nonsnoop_afeu desc. type | ||
1419 | bit 11 = set if SEC supports the pkeu_ptadd_dbl descriptor type | ||
1420 | |||
1421 | ..and so on and so forth. | ||
1422 | |||
1423 | Example: | ||
1424 | |||
1425 | /* MPC8548E */ | ||
1426 | crypto@30000 { | ||
1427 | device_type = "crypto"; | ||
1428 | model = "SEC2"; | ||
1429 | compatible = "talitos"; | ||
1430 | reg = <30000 10000>; | ||
1431 | interrupts = <1d 3>; | ||
1432 | interrupt-parent = <40000>; | ||
1433 | num-channels = <4>; | ||
1434 | channel-fifo-len = <24>; | ||
1435 | exec-units-mask = <000000fe>; | ||
1436 | descriptor-types-mask = <073f1127>; | ||
1437 | }; | ||
1438 | |||
1439 | |||
1368 | More devices will be defined as this spec matures. | 1440 | More devices will be defined as this spec matures. |
1369 | 1441 | ||
1370 | 1442 | ||
diff --git a/Documentation/powerpc/eeh-pci-error-recovery.txt b/Documentation/powerpc/eeh-pci-error-recovery.txt index 67a11a36270c..3764dd4b12cb 100644 --- a/Documentation/powerpc/eeh-pci-error-recovery.txt +++ b/Documentation/powerpc/eeh-pci-error-recovery.txt | |||
@@ -121,7 +121,7 @@ accomplished. | |||
121 | 121 | ||
122 | EEH must be enabled in the PHB's very early during the boot process, | 122 | EEH must be enabled in the PHB's very early during the boot process, |
123 | and if a PCI slot is hot-plugged. The former is performed by | 123 | and if a PCI slot is hot-plugged. The former is performed by |
124 | eeh_init() in arch/ppc64/kernel/eeh.c, and the later by | 124 | eeh_init() in arch/powerpc/platforms/pseries/eeh.c, and the later by |
125 | drivers/pci/hotplug/pSeries_pci.c calling in to the eeh.c code. | 125 | drivers/pci/hotplug/pSeries_pci.c calling in to the eeh.c code. |
126 | EEH must be enabled before a PCI scan of the device can proceed. | 126 | EEH must be enabled before a PCI scan of the device can proceed. |
127 | Current Power5 hardware will not work unless EEH is enabled; | 127 | Current Power5 hardware will not work unless EEH is enabled; |
@@ -133,7 +133,7 @@ error. Given an arbitrary address, the routine | |||
133 | pci_get_device_by_addr() will find the pci device associated | 133 | pci_get_device_by_addr() will find the pci device associated |
134 | with that address (if any). | 134 | with that address (if any). |
135 | 135 | ||
136 | The default include/asm-ppc64/io.h macros readb(), inb(), insb(), | 136 | The default include/asm-powerpc/io.h macros readb(), inb(), insb(), |
137 | etc. include a check to see if the i/o read returned all-0xff's. | 137 | etc. include a check to see if the i/o read returned all-0xff's. |
138 | If so, these make a call to eeh_dn_check_failure(), which in turn | 138 | If so, these make a call to eeh_dn_check_failure(), which in turn |
139 | asks the firmware if the all-ff's value is the sign of a true EEH | 139 | asks the firmware if the all-ff's value is the sign of a true EEH |
@@ -143,11 +143,12 @@ seen in /proc/ppc64/eeh (subject to change). Normally, almost | |||
143 | all of these occur during boot, when the PCI bus is scanned, where | 143 | all of these occur during boot, when the PCI bus is scanned, where |
144 | a large number of 0xff reads are part of the bus scan procedure. | 144 | a large number of 0xff reads are part of the bus scan procedure. |
145 | 145 | ||
146 | If a frozen slot is detected, code in arch/ppc64/kernel/eeh.c will | 146 | If a frozen slot is detected, code in |
147 | print a stack trace to syslog (/var/log/messages). This stack trace | 147 | arch/powerpc/platforms/pseries/eeh.c will print a stack trace to |
148 | has proven to be very useful to device-driver authors for finding | 148 | syslog (/var/log/messages). This stack trace has proven to be very |
149 | out at what point the EEH error was detected, as the error itself | 149 | useful to device-driver authors for finding out at what point the EEH |
150 | usually occurs slightly beforehand. | 150 | error was detected, as the error itself usually occurs slightly |
151 | beforehand. | ||
151 | 152 | ||
152 | Next, it uses the Linux kernel notifier chain/work queue mechanism to | 153 | Next, it uses the Linux kernel notifier chain/work queue mechanism to |
153 | allow any interested parties to find out about the failure. Device | 154 | allow any interested parties to find out about the failure. Device |
diff --git a/Documentation/powerpc/hvcs.txt b/Documentation/powerpc/hvcs.txt index dca75cbda6f8..1e38166f4e54 100644 --- a/Documentation/powerpc/hvcs.txt +++ b/Documentation/powerpc/hvcs.txt | |||
@@ -558,9 +558,9 @@ partitions. | |||
558 | 558 | ||
559 | The proper channel for reporting bugs is either through the Linux OS | 559 | The proper channel for reporting bugs is either through the Linux OS |
560 | distribution company that provided your OS or by posting issues to the | 560 | distribution company that provided your OS or by posting issues to the |
561 | ppc64 development mailing list at: | 561 | PowerPC development mailing list at: |
562 | 562 | ||
563 | linuxppc64-dev@lists.linuxppc.org | 563 | linuxppc-dev@ozlabs.org |
564 | 564 | ||
565 | This request is to provide a documented and searchable public exchange | 565 | This request is to provide a documented and searchable public exchange |
566 | of the problems and solutions surrounding this driver for the benefit of | 566 | of the problems and solutions surrounding this driver for the benefit of |