diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-04 11:16:37 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-04 11:16:37 -0400 |
commit | 13bbd8d90647132fc295d73b122567eb8987d298 (patch) | |
tree | 466ae1f00a5965308ce2e7695d4bfe88d87b9610 /Documentation/powerpc | |
parent | 18e6756a6b463e09fd3873592ec6b0579c78103d (diff) | |
parent | 9020fc960b8f5fbca0de6e4d11881ddc827aa61d (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
* git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (25 commits)
[POWERPC] Add support for the mpc832x mds board
[POWERPC] Add initial support for the e300c2 core
[POWERPC] Add MPC8360EMDS default dts file
[POWERPC] Add MPC8360EMDS board support
[POWERPC] Add QUICC Engine (QE) infrastructure
[POWERPC] Add QE device tree node definition
[POWERPC] Don't try to just continue if xmon has no input device
[POWERPC] Fix a printk in pseries_mpic_init_IRQ
[POWERPC] Get default baud rate in udbg_scc
[POWERPC] Fix zImage.coff on oldworld PowerMac
[POWERPC] Fix xmon=off and cleanup xmon initialisation
[POWERPC] Cleanup include/asm-powerpc/xmon.h
[POWERPC] Update swim3 printk after blkdev.h change
[POWERPC] Cell interrupt rework
POWERPC: mpc82xx merge: board-specific/platform stuff(resend)
POWERPC: 8272ads merge to powerpc: common stuff
POWERPC: Added devicetree for mpc8272ads board
[POWERPC] iSeries has no legacy I/O
[POWERPC] implement BEGIN/END_FW_FTR_SECTION
[POWERPC] iSeries does not need pcibios_fixup_resources
...
Diffstat (limited to 'Documentation/powerpc')
-rw-r--r-- | Documentation/powerpc/booting-without-of.txt | 252 |
1 files changed, 252 insertions, 0 deletions
diff --git a/Documentation/powerpc/booting-without-of.txt b/Documentation/powerpc/booting-without-of.txt index 1ccc8a515b44..27b457c09729 100644 --- a/Documentation/powerpc/booting-without-of.txt +++ b/Documentation/powerpc/booting-without-of.txt | |||
@@ -1440,6 +1440,258 @@ platforms are moved over to use the flattened-device-tree model. | |||
1440 | descriptor-types-mask = <012b0ebf>; | 1440 | descriptor-types-mask = <012b0ebf>; |
1441 | }; | 1441 | }; |
1442 | 1442 | ||
1443 | h) Board Control and Status (BCSR) | ||
1444 | |||
1445 | Required properties: | ||
1446 | |||
1447 | - device_type : Should be "board-control" | ||
1448 | - reg : Offset and length of the register set for the device | ||
1449 | |||
1450 | Example: | ||
1451 | |||
1452 | bcsr@f8000000 { | ||
1453 | device_type = "board-control"; | ||
1454 | reg = <f8000000 8000>; | ||
1455 | }; | ||
1456 | |||
1457 | i) Freescale QUICC Engine module (QE) | ||
1458 | This represents qe module that is installed on PowerQUICC II Pro. | ||
1459 | Hopefully it will merge backward compatibility with CPM/CPM2. | ||
1460 | Basically, it is a bus of devices, that could act more or less | ||
1461 | as a complete entity (UCC, USB etc ). All of them should be siblings on | ||
1462 | the "root" qe node, using the common properties from there. | ||
1463 | The description below applies to the the qe of MPC8360 and | ||
1464 | more nodes and properties would be extended in the future. | ||
1465 | |||
1466 | i) Root QE device | ||
1467 | |||
1468 | Required properties: | ||
1469 | - device_type : should be "qe"; | ||
1470 | - model : precise model of the QE, Can be "QE", "CPM", or "CPM2" | ||
1471 | - reg : offset and length of the device registers. | ||
1472 | - bus-frequency : the clock frequency for QUICC Engine. | ||
1473 | |||
1474 | Recommended properties | ||
1475 | - brg-frequency : the internal clock source frequency for baud-rate | ||
1476 | generators in Hz. | ||
1477 | |||
1478 | Example: | ||
1479 | qe@e0100000 { | ||
1480 | #address-cells = <1>; | ||
1481 | #size-cells = <1>; | ||
1482 | #interrupt-cells = <2>; | ||
1483 | device_type = "qe"; | ||
1484 | model = "QE"; | ||
1485 | ranges = <0 e0100000 00100000>; | ||
1486 | reg = <e0100000 480>; | ||
1487 | brg-frequency = <0>; | ||
1488 | bus-frequency = <179A7B00>; | ||
1489 | } | ||
1490 | |||
1491 | |||
1492 | ii) SPI (Serial Peripheral Interface) | ||
1493 | |||
1494 | Required properties: | ||
1495 | - device_type : should be "spi". | ||
1496 | - compatible : should be "fsl_spi". | ||
1497 | - mode : the spi operation mode, it can be "cpu" or "qe". | ||
1498 | - reg : Offset and length of the register set for the device | ||
1499 | - interrupts : <a b> where a is the interrupt number and b is a | ||
1500 | field that represents an encoding of the sense and level | ||
1501 | information for the interrupt. This should be encoded based on | ||
1502 | the information in section 2) depending on the type of interrupt | ||
1503 | controller you have. | ||
1504 | - interrupt-parent : the phandle for the interrupt controller that | ||
1505 | services interrupts for this device. | ||
1506 | |||
1507 | Example: | ||
1508 | spi@4c0 { | ||
1509 | device_type = "spi"; | ||
1510 | compatible = "fsl_spi"; | ||
1511 | reg = <4c0 40>; | ||
1512 | interrupts = <82 0>; | ||
1513 | interrupt-parent = <700>; | ||
1514 | mode = "cpu"; | ||
1515 | }; | ||
1516 | |||
1517 | |||
1518 | iii) USB (Universal Serial Bus Controller) | ||
1519 | |||
1520 | Required properties: | ||
1521 | - device_type : should be "usb". | ||
1522 | - compatible : could be "qe_udc" or "fhci-hcd". | ||
1523 | - mode : the could be "host" or "slave". | ||
1524 | - reg : Offset and length of the register set for the device | ||
1525 | - interrupts : <a b> where a is the interrupt number and b is a | ||
1526 | field that represents an encoding of the sense and level | ||
1527 | information for the interrupt. This should be encoded based on | ||
1528 | the information in section 2) depending on the type of interrupt | ||
1529 | controller you have. | ||
1530 | - interrupt-parent : the phandle for the interrupt controller that | ||
1531 | services interrupts for this device. | ||
1532 | |||
1533 | Example(slave): | ||
1534 | usb@6c0 { | ||
1535 | device_type = "usb"; | ||
1536 | compatible = "qe_udc"; | ||
1537 | reg = <6c0 40>; | ||
1538 | interrupts = <8b 0>; | ||
1539 | interrupt-parent = <700>; | ||
1540 | mode = "slave"; | ||
1541 | }; | ||
1542 | |||
1543 | |||
1544 | iv) UCC (Unified Communications Controllers) | ||
1545 | |||
1546 | Required properties: | ||
1547 | - device_type : should be "network", "hldc", "uart", "transparent" | ||
1548 | "bisync" or "atm". | ||
1549 | - compatible : could be "ucc_geth" or "fsl_atm" and so on. | ||
1550 | - model : should be "UCC". | ||
1551 | - device-id : the ucc number(1-8), corresponding to UCCx in UM. | ||
1552 | - reg : Offset and length of the register set for the device | ||
1553 | - interrupts : <a b> where a is the interrupt number and b is a | ||
1554 | field that represents an encoding of the sense and level | ||
1555 | information for the interrupt. This should be encoded based on | ||
1556 | the information in section 2) depending on the type of interrupt | ||
1557 | controller you have. | ||
1558 | - interrupt-parent : the phandle for the interrupt controller that | ||
1559 | services interrupts for this device. | ||
1560 | - pio-handle : The phandle for the Parallel I/O port configuration. | ||
1561 | - rx-clock : represents the UCC receive clock source. | ||
1562 | 0x00 : clock source is disabled; | ||
1563 | 0x1~0x10 : clock source is BRG1~BRG16 respectively; | ||
1564 | 0x11~0x28: clock source is QE_CLK1~QE_CLK24 respectively. | ||
1565 | - tx-clock: represents the UCC transmit clock source; | ||
1566 | 0x00 : clock source is disabled; | ||
1567 | 0x1~0x10 : clock source is BRG1~BRG16 respectively; | ||
1568 | 0x11~0x28: clock source is QE_CLK1~QE_CLK24 respectively. | ||
1569 | |||
1570 | Required properties for network device_type: | ||
1571 | - mac-address : list of bytes representing the ethernet address. | ||
1572 | - phy-handle : The phandle for the PHY connected to this controller. | ||
1573 | |||
1574 | Example: | ||
1575 | ucc@2000 { | ||
1576 | device_type = "network"; | ||
1577 | compatible = "ucc_geth"; | ||
1578 | model = "UCC"; | ||
1579 | device-id = <1>; | ||
1580 | reg = <2000 200>; | ||
1581 | interrupts = <a0 0>; | ||
1582 | interrupt-parent = <700>; | ||
1583 | mac-address = [ 00 04 9f 00 23 23 ]; | ||
1584 | rx-clock = "none"; | ||
1585 | tx-clock = "clk9"; | ||
1586 | phy-handle = <212000>; | ||
1587 | pio-handle = <140001>; | ||
1588 | }; | ||
1589 | |||
1590 | |||
1591 | v) Parallel I/O Ports | ||
1592 | |||
1593 | This node configures Parallel I/O ports for CPUs with QE support. | ||
1594 | The node should reside in the "soc" node of the tree. For each | ||
1595 | device that using parallel I/O ports, a child node should be created. | ||
1596 | See the definition of the Pin configuration nodes below for more | ||
1597 | information. | ||
1598 | |||
1599 | Required properties: | ||
1600 | - device_type : should be "par_io". | ||
1601 | - reg : offset to the register set and its length. | ||
1602 | - num-ports : number of Parallel I/O ports | ||
1603 | |||
1604 | Example: | ||
1605 | par_io@1400 { | ||
1606 | reg = <1400 100>; | ||
1607 | #address-cells = <1>; | ||
1608 | #size-cells = <0>; | ||
1609 | device_type = "par_io"; | ||
1610 | num-ports = <7>; | ||
1611 | ucc_pin@01 { | ||
1612 | ...... | ||
1613 | }; | ||
1614 | |||
1615 | |||
1616 | vi) Pin configuration nodes | ||
1617 | |||
1618 | Required properties: | ||
1619 | - linux,phandle : phandle of this node; likely referenced by a QE | ||
1620 | device. | ||
1621 | - pio-map : array of pin configurations. Each pin is defined by 6 | ||
1622 | integers. The six numbers are respectively: port, pin, dir, | ||
1623 | open_drain, assignment, has_irq. | ||
1624 | - port : port number of the pin; 0-6 represent port A-G in UM. | ||
1625 | - pin : pin number in the port. | ||
1626 | - dir : direction of the pin, should encode as follows: | ||
1627 | |||
1628 | 0 = The pin is disabled | ||
1629 | 1 = The pin is an output | ||
1630 | 2 = The pin is an input | ||
1631 | 3 = The pin is I/O | ||
1632 | |||
1633 | - open_drain : indicates the pin is normal or wired-OR: | ||
1634 | |||
1635 | 0 = The pin is actively driven as an output | ||
1636 | 1 = The pin is an open-drain driver. As an output, the pin is | ||
1637 | driven active-low, otherwise it is three-stated. | ||
1638 | |||
1639 | - assignment : function number of the pin according to the Pin Assignment | ||
1640 | tables in User Manual. Each pin can have up to 4 possible functions in | ||
1641 | QE and two options for CPM. | ||
1642 | - has_irq : indicates if the pin is used as source of exteral | ||
1643 | interrupts. | ||
1644 | |||
1645 | Example: | ||
1646 | ucc_pin@01 { | ||
1647 | linux,phandle = <140001>; | ||
1648 | pio-map = < | ||
1649 | /* port pin dir open_drain assignment has_irq */ | ||
1650 | 0 3 1 0 1 0 /* TxD0 */ | ||
1651 | 0 4 1 0 1 0 /* TxD1 */ | ||
1652 | 0 5 1 0 1 0 /* TxD2 */ | ||
1653 | 0 6 1 0 1 0 /* TxD3 */ | ||
1654 | 1 6 1 0 3 0 /* TxD4 */ | ||
1655 | 1 7 1 0 1 0 /* TxD5 */ | ||
1656 | 1 9 1 0 2 0 /* TxD6 */ | ||
1657 | 1 a 1 0 2 0 /* TxD7 */ | ||
1658 | 0 9 2 0 1 0 /* RxD0 */ | ||
1659 | 0 a 2 0 1 0 /* RxD1 */ | ||
1660 | 0 b 2 0 1 0 /* RxD2 */ | ||
1661 | 0 c 2 0 1 0 /* RxD3 */ | ||
1662 | 0 d 2 0 1 0 /* RxD4 */ | ||
1663 | 1 1 2 0 2 0 /* RxD5 */ | ||
1664 | 1 0 2 0 2 0 /* RxD6 */ | ||
1665 | 1 4 2 0 2 0 /* RxD7 */ | ||
1666 | 0 7 1 0 1 0 /* TX_EN */ | ||
1667 | 0 8 1 0 1 0 /* TX_ER */ | ||
1668 | 0 f 2 0 1 0 /* RX_DV */ | ||
1669 | 0 10 2 0 1 0 /* RX_ER */ | ||
1670 | 0 0 2 0 1 0 /* RX_CLK */ | ||
1671 | 2 9 1 0 3 0 /* GTX_CLK - CLK10 */ | ||
1672 | 2 8 2 0 1 0>; /* GTX125 - CLK9 */ | ||
1673 | }; | ||
1674 | |||
1675 | vii) Multi-User RAM (MURAM) | ||
1676 | |||
1677 | Required properties: | ||
1678 | - device_type : should be "muram". | ||
1679 | - mode : the could be "host" or "slave". | ||
1680 | - ranges : Should be defined as specified in 1) to describe the | ||
1681 | translation of MURAM addresses. | ||
1682 | - data-only : sub-node which defines the address area under MURAM | ||
1683 | bus that can be allocated as data/parameter | ||
1684 | |||
1685 | Example: | ||
1686 | |||
1687 | muram@10000 { | ||
1688 | device_type = "muram"; | ||
1689 | ranges = <0 00010000 0000c000>; | ||
1690 | |||
1691 | data-only@0{ | ||
1692 | reg = <0 c000>; | ||
1693 | }; | ||
1694 | }; | ||
1443 | 1695 | ||
1444 | More devices will be defined as this spec matures. | 1696 | More devices will be defined as this spec matures. |
1445 | 1697 | ||