Add device tree support for x86, v2

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Sebastian Andrzej Siewior
Date: Friday, December 17, 2010 - 8:33 am

This patchset introduces device tree support on x86. The device tree is 
passed by the bootloader via setup_data. It is used as an additional 
source of information and does not replace the "traditional" x86 boot
page.
Right now we get the the following information from it:
- hpet location
- apic & ioapic location
- ioapic's interrupt routing
- legacy devices which are not initialized by bios
- devices which are behind a bus which does not support enumeration like 
  i2c

Histrory:
- v1 initial post
- v2: Benh took my device tree apart so once this got fixed I refactor a
      lot of code. Here are the changes:
      - device tree is unflattenend before kmalloc() is working,
        alloc_bootmem() is used for that.
      - irq_host got renamed to irq_domain. This custom implementation
        will leave once the powerpc implementation is in generic shape
      - of_irq_map_pci() is moved from ppc & microblaze into drivers/of
	and used also by x86 instead of a tiny subset of it. Bridges are
        not handled at all on x86 (I don't have any so for so I worry
        later)
      - the device tree is relocated from its initial location. That
        means that the boot loader does not need to know anything about
        kernel's memory layout.

The series is based on the tip tree and is also available at
  git://git.linutronix.de/users/bigeasy/soda.git ce_of_v2

Sebastian Andrzej Siewior (15):
      x86/e820: remove conditional early mapping in parse_e820_ext
      x86: Add device tree support
      x86/dtb: Add a device tree for CE4100
      x86/dtb: add irq domain abstraction
      x86/dtb: add early parsing of APIC and IO APIC
      x86/dtb: add support hpet
      of: move of_irq_map_pci() into generic code
      x86/dtb: add support for PCI devices backed by dtb nodes
      x86/dtb: Add generic bus probe
      x86/ioapic: Add OF bindings for IO-APIC
      x86/ce4100: use OF for ioapic
      of/address: use propper endianess in get_flags
      x86/rtc: don't register rtc if we have an OF node for it
      rtc/cmos: add OF bindings
      x86/pci: remove warning

 Documentation/powerpc/dts-bindings/rtc-cmos.txt |   28 ++
 Documentation/x86/boot_with_dtb.txt             |   26 ++
 arch/microblaze/include/asm/prom.h              |   15 -
 arch/microblaze/kernel/prom_parse.c             |   77 -----
 arch/microblaze/pci/pci-common.c                |    1 +
 arch/powerpc/include/asm/prom.h                 |   17 +-
 arch/powerpc/kernel/pci-common.c                |    1 +
 arch/powerpc/kernel/prom_parse.c                |   84 ------
 arch/x86/Kconfig                                |    7 +
 arch/x86/include/asm/bootparam.h                |    1 +
 arch/x86/include/asm/e820.h                     |    2 +-
 arch/x86/include/asm/io_apic.h                  |    7 +
 arch/x86/include/asm/irq_controller.h           |   12 +
 arch/x86/include/asm/prom.h                     |   87 ++++++
 arch/x86/kernel/Makefile                        |    1 +
 arch/x86/kernel/apic/io_apic.c                  |   99 +++++++
 arch/x86/kernel/e820.c                          |    8 +-
 arch/x86/kernel/irqinit.c                       |    9 +-
 arch/x86/kernel/prom.c                          |  349 +++++++++++++++++++++++
 arch/x86/kernel/rtc.c                           |   23 ++
 arch/x86/kernel/setup.c                         |   24 ++-
 arch/x86/pci/ce4100.c                           |    2 +-
 arch/x86/platform/ce4100/ce4100.c               |   24 ++-
 arch/x86/platform/ce4100/falconfalls.dts        |  212 ++++++++++++++
 drivers/of/Makefile                             |    1 +
 drivers/of/address.c                            |   54 ++--
 drivers/of/of_pci.c                             |   97 +++++++
 drivers/rtc/rtc-cmos.c                          |   40 +++
 include/linux/of_address.h                      |    6 +-
 include/linux/of_pci.h                          |   24 ++
 30 files changed, 1097 insertions(+), 241 deletions(-)
 create mode 100644 Documentation/powerpc/dts-bindings/rtc-cmos.txt
 create mode 100644 Documentation/x86/boot_with_dtb.txt
 create mode 100644 arch/x86/include/asm/irq_controller.h
 create mode 100644 arch/x86/include/asm/prom.h
 create mode 100644 arch/x86/kernel/prom.c
 create mode 100644 arch/x86/platform/ce4100/falconfalls.dts
 create mode 100644 drivers/of/of_pci.c
 create mode 100644 include/linux/of_pci.h

Sebastian

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Add device tree support for x86, v2, Sebastian Andrzej Si ..., (Fri Dec 17, 8:33 am)
[PATCH 01/15] x86/e820: remove conditional early mapping i ..., Sebastian Andrzej Si ..., (Fri Dec 17, 8:33 am)
[PATCH 02/15] x86: Add device tree support, Sebastian Andrzej Si ..., (Fri Dec 17, 8:33 am)
[PATCH 03/15] x86/dtb: Add a device tree for CE4100, Sebastian Andrzej Si ..., (Fri Dec 17, 8:33 am)
[PATCH 04/15] x86/dtb: add irq domain abstraction, Sebastian Andrzej Si ..., (Fri Dec 17, 8:33 am)
[PATCH 05/15] x86/dtb: add early parsing of APIC and IO APIC, Sebastian Andrzej Si ..., (Fri Dec 17, 8:33 am)
[PATCH 06/15] x86/dtb: add support hpet, Sebastian Andrzej Si ..., (Fri Dec 17, 8:33 am)
[PATCH 07/15] of: move of_irq_map_pci() into generic code, Sebastian Andrzej Si ..., (Fri Dec 17, 8:33 am)
[PATCH 08/15] x86/dtb: add support for PCI devices backed ..., Sebastian Andrzej Si ..., (Fri Dec 17, 8:33 am)
[PATCH 09/15] x86/dtb: Add generic bus probe, Sebastian Andrzej Si ..., (Fri Dec 17, 8:33 am)
[PATCH 10/15] x86/ioapic: Add OF bindings for IO-APIC, Sebastian Andrzej Si ..., (Fri Dec 17, 8:33 am)
[PATCH 11/15] x86/ce4100: use OF for ioapic, Sebastian Andrzej Si ..., (Fri Dec 17, 8:33 am)
[PATCH 12/15] of/address: use propper endianess in get_flags, Sebastian Andrzej Si ..., (Fri Dec 17, 8:33 am)
[PATCH 13/15] x86/rtc: don't register rtc if we have an OF ..., Sebastian Andrzej Si ..., (Fri Dec 17, 8:33 am)
[PATCH 14/15] rtc/cmos: add OF bindings, Sebastian Andrzej Si ..., (Fri Dec 17, 8:33 am)
[PATCH 15/15] x86/pci: remove warning, Sebastian Andrzej Si ..., (Fri Dec 17, 8:33 am)
Re: [PATCH 07/15] of: move of_irq_map_pci() into generic code, Benjamin Herrenschmidt, (Fri Dec 17, 2:16 pm)
Re: [PATCH 02/15] x86: Add device tree support, Grant Likely, (Thu Dec 30, 1:43 am)
Re: [PATCH 03/15] x86/dtb: Add a device tree for CE4100, Grant Likely, (Thu Dec 30, 1:51 am)
Re: [PATCH 02/15] x86: Add device tree support, Grant Likely, (Thu Dec 30, 2:01 pm)
Re: [PATCH 02/15] x86: Add device tree support, H. Peter Anvin, (Sat Jan 1, 5:40 pm)
Re: [PATCH 03/15] x86/dtb: Add a device tree for CE4100, Sebastian Andrzej Si ..., (Mon Jan 3, 4:28 am)
Re: [PATCH 02/15] x86: Add device tree support, Sebastian Andrzej Si ..., (Mon Jan 3, 5:20 am)
Re: [PATCH 03/15] x86/dtb: Add a device tree for CE4100, Grant Likely, (Mon Jan 3, 10:45 am)
Re: [sodaville] [PATCH 02/15] x86: Add device tree support, H. Peter Anvin, (Mon Jan 3, 11:05 am)
[PATCH v2 01/15] x86/e820: remove conditional early mappin ..., Sebastian Andrzej Si ..., (Tue Jan 4, 6:08 am)
[PATCH v2 05/15] x86/dtb: add early parsing of APIC and IO ..., Sebastian Andrzej Si ..., (Tue Jan 4, 6:23 am)
[PATCH v2 13/15] x86/rtc: don't register rtc if we the DT blob, Sebastian Andrzej Si ..., (Tue Jan 4, 6:28 am)
[PATCH v2 07/15] of: move of_irq_map_pci() into generic code, Sebastian Andrzej Si ..., (Tue Jan 4, 7:27 am)