u-boot.lists.denx.de archive mirror
 help / color / mirror / Atom feed
From: Albert ARIBAUD <albert.u.boot@aribaud.net>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 00/40] ARM: tegra: Add PCIe support
Date: Sun, 26 Oct 2014 20:07:10 +0100	[thread overview]
Message-ID: <20141026200710.6adf50e5@lilith> (raw)
In-Reply-To: <1409067268-956-1-git-send-email-thierry.reding@gmail.com>

Le Tue, 26 Aug 2014 17:33:48 +0200,
Thierry Reding <thierry.reding@gmail.com> a ?crit :

> From: Thierry Reding <treding@nvidia.com>
> 
> This series adds PCIe support for Tegra20, Tegra30 and Tegra124. The
> size is mostly due to the large number of infrastructure that's added
> (libfdt, Tegra specific drivers required by the PCIe driver). In this
> version I've included all patches that were previously split into
> three separate series. Spreading them over multiple series is
> probably not worth it since there might be some dependencies between
> them and only the end result gives a completely working setup.
> 
> Patch 1 adds a %pa modifier to printf() to print physical addresses.
> This is required to allow code to output such addresses irrespective
> of whether a 64 bit or 32 bit architecture is built for.
> 
> Patches 2-7 add various FDT helpers to make it easier to parse
> complex device trees.
> 
> Patch 8 is a minor cleanup to the PCI command that prevents a spew of
> error messages if a bus does not exist. Patch 9 modifies the PCI
> enumeration code to honor theh restrictions encoded within a host
> controller driver's pci_ski_dev() implementation. This is required to
> prevent exceptions from the NVIDIA Tegra PCIe controller.
> 
> Patch 10 imports the pr_fmt() macro used within the Linux kernel to
> reduce the number of characters consumed by literal strings by
> allowing a source file to specify a prefix or suffix that should be
> applied to all format strings in the file. It is currently used by
> the debug() and error() macros.
> 
> Patches 11-14 are some cleanup and refactoring of I2C core code, the
> addition of a higher level API that makes it easier for I2C client
> drivers to talk to devices. The Tegra I2C driver now implements
> i2c_get_bus_num_fdt() to obtain bus numbers corresponding to a DT
> node.
> 
> Patch 15 implements a driver for the AS3722 PMIC used on the Venice2
> and Jetson TK1 boards.
> 
> Patches 16-21 are preparatory work for the Tegra PCIe controller.
> They add missing clock driver functionality as well as drivers for
> the Tegra powergate and XUSB pad controller blocks.
> 
> Patch 22 adds the PCIe controller driver for Tegra20, Tegra30 and
> Tegra124.
> 
> Device tree nodes and configurations options to enable PCIe on the
> TrimSlice (Tegra20), Beaver, Cardhu (Tegra30) and Jetson TK1
> (Tegra124) boards are added in patches 23-31.
> 
> Patches 32-35 implement non-cached memory support that will be used
> in the last batch of patches to implement more reliable packet
> transfers in the r8169 driver. Patch 36 enables non-cached memory
> support on Tegra.
> 
> Finally, patches 37-40 implement non-cached memory support and
> various fixes in the r8169 driver and add support for the revision of
> the NIC found on the Jetson TK1.
> 
> The above boards all have an ethernet NIC connected to PCIe, which is
> what I tested with.
> 
> Thierry Reding (40):
>   vsprintf: Add modifier for phys_addr_t
>   fdt: Add a function to count strings
>   fdt: Add a function to get the index of a string
>   fdt: Add functions to retrieve strings
>   fdt: Add resource parsing functions
>   fdt: Add a function to return PCI BDF triplet
>   fdt: Add a subnodes iterator macro
>   pci: Abort early if bus does not exist
>   pci: Honour pci_skip_dev()
>   Add pr_fmt() macro
>   i2c: Initialize the correct bus
>   i2c: Refactor adapter initialization
>   i2c: Add high-level API
>   i2c: tegra: Implement i2c_get_bus_num_fdt()
>   power: Add AMS AS3722 PMIC support
>   ARM: tegra: Implement tegra_plle_enable()
>   ARM: tegra: Provide PCIEXCLK reset ID
>   ARM: tegra: Implement powergate support
>   ARM: tegra: Implement XUSB pad controller
>   ARM: tegra: Add XUSB pad controller on Tegra124
>   ARM: tegra: Enable XUSB pad controller on Jetson TK1
>   pci: tegra: Add Tegra PCIe driver
>   ARM: tegra: Add Tegra20 PCIe device tree node
>   ARM: tegra: Enable PCIe on TrimSlice
>   ARM: tegra: Add GIC for Tegra30
>   ARM: tegra: Add Tegra30 PCIe device tree node
>   ARM: tegra: Enable PCIe on Cardhu
>   ARM: tegra: Enable PCIe on Beaver
>   ARM: tegra: Add GIC for Tegra124
>   ARM: tegra: Add Tegra124 PCIe device tree node
>   ARM: tegra: Enable PCIe on Jetson TK1
>   ARM: cache_v7: Various minor cleanups
>   ARM: cache-cp15: Use more accurate types
>   malloc: Output region when debugging
>   ARM: Implement non-cached memory support
>   ARM: tegra: Enable non-cached memory
>   net: rtl8169: Honor CONFIG_SYS_RX_ETH_BUFFER
>   net: rtl8169: Properly align buffers
>   net: rtl8169: Use non-cached memory if available
>   net: rtl8169: Add support for RTL-8168/8111g
> 
>  README                                           |   19 +
>  arch/arm/cpu/armv7/cache_v7.c                    |   14 +-
>  arch/arm/cpu/tegra-common/Makefile               |    2 +
>  arch/arm/cpu/tegra-common/powergate.c            |  102 ++
>  arch/arm/cpu/tegra-common/xusb-padctl.c          |   39 +
>  arch/arm/cpu/tegra124-common/Makefile            |    1 +
>  arch/arm/cpu/tegra124-common/clock.c             |  109 +++
>  arch/arm/cpu/tegra124-common/xusb-padctl.c       |  716
> ++++++++++++++ arch/arm/cpu/tegra20-common/clock.c              |
> 141 ++- arch/arm/cpu/tegra30-common/clock.c              |  155 +++
>  arch/arm/dts/tegra124-jetson-tk1.dts             |  373 +++++++
>  arch/arm/dts/tegra124.dtsi                       |   90 ++
>  arch/arm/dts/tegra20-trimslice.dts               |   69 ++
>  arch/arm/dts/tegra20.dtsi                        |   60 ++
>  arch/arm/dts/tegra30-beaver.dts                  |  245 +++++
>  arch/arm/dts/tegra30-cardhu.dts                  |  362 +++++++
>  arch/arm/dts/tegra30.dtsi                        |   84 ++
>  arch/arm/include/asm/arch-tegra/powergate.h      |   38 +
>  arch/arm/include/asm/arch-tegra/xusb-padctl.h    |   24 +
>  arch/arm/include/asm/arch-tegra114/powergate.h   |    6 +
>  arch/arm/include/asm/arch-tegra124/clock.h       |    2 +
>  arch/arm/include/asm/arch-tegra124/powergate.h   |    6 +
>  arch/arm/include/asm/arch-tegra20/clock-tables.h |    2 +-
>  arch/arm/include/asm/arch-tegra20/clock.h        |    2 +
>  arch/arm/include/asm/arch-tegra20/powergate.h    |    6 +
>  arch/arm/include/asm/arch-tegra30/clock.h        |    2 +
>  arch/arm/include/asm/arch-tegra30/powergate.h    |    6 +
>  arch/arm/include/asm/system.h                    |    7 +-
>  arch/arm/lib/cache-cp15.c                        |    6 +-
>  arch/arm/lib/cache.c                             |   42 +
>  board/compulab/trimslice/trimslice.c             |    8 +
>  board/nvidia/cardhu/cardhu.c                     |   56 ++
>  board/nvidia/common/board.c                      |    3 +
>  board/nvidia/jetson-tk1/jetson-tk1.c             |   52 +
>  common/board_r.c                                 |   11 +
>  common/cmd_pci.c                                 |    7 +
>  common/dlmalloc.c                                |    3 +
>  drivers/i2c/i2c_core.c                           |   80 +-
>  drivers/i2c/tegra_i2c.c                          |   13 +
>  drivers/net/rtl8169.c                            |  127 ++-
>  drivers/pci/Makefile                             |    1 +
>  drivers/pci/pci.c                                |    3 +
>  drivers/pci/pci_tegra.c                          | 1143
> ++++++++++++++++++++++
> drivers/power/Makefile                           |    1 +
> drivers/power/as3722.c                           |  300 ++++++
> include/common.h                                 |   14 +-
> include/configs/beaver.h                         |   10 +
> include/configs/cardhu.h                         |   10 +
> include/configs/jetson-tk1.h                     |   13 +
> include/configs/tegra-common.h                   |    1 +
> include/configs/trimslice.h                      |   10 +
> include/dt-bindings/clock/tegra124-car.h         |  341 +++++++
> include/dt-bindings/clock/tegra20-car.h          |  158 +++
> include/dt-bindings/clock/tegra30-car.h          |  265 +++++
> include/dt-bindings/pinctrl/pinctrl-tegra-xusb.h |    7 +
> include/fdtdec.h                                 |   69 ++
> include/i2c.h                                    |   96 ++
> include/libfdt.h                                 |   72 ++
> include/pci.h                                    |    1 +
> include/power/as3722.h                           |   27 +
> lib/fdtdec.c                                     |   76 ++
> lib/libfdt/fdt_ro.c                              |   76 ++
> lib/vsprintf.c                                   |   16 +- 63 files
> changed, 5736 insertions(+), 64 deletions(-) create mode 100644
> arch/arm/cpu/tegra-common/powergate.c create mode 100644
> arch/arm/cpu/tegra-common/xusb-padctl.c create mode 100644
> arch/arm/cpu/tegra124-common/xusb-padctl.c create mode 100644
> arch/arm/include/asm/arch-tegra/powergate.h create mode 100644
> arch/arm/include/asm/arch-tegra/xusb-padctl.h create mode 100644
> arch/arm/include/asm/arch-tegra114/powergate.h create mode 100644
> arch/arm/include/asm/arch-tegra124/powergate.h create mode 100644
> arch/arm/include/asm/arch-tegra20/powergate.h create mode 100644
> arch/arm/include/asm/arch-tegra30/powergate.h create mode 100644
> drivers/pci/pci_tegra.c create mode 100644 drivers/power/as3722.c
>  create mode 100644 include/dt-bindings/clock/tegra124-car.h
>  create mode 100644 include/dt-bindings/clock/tegra20-car.h
>  create mode 100644 include/dt-bindings/clock/tegra30-car.h
>  create mode 100644 include/dt-bindings/pinctrl/pinctrl-tegra-xusb.h
>  create mode 100644 include/power/as3722.h

Am I right in thinking there will be a V3 series, at least of the part
not already awaiting upstream ? If so, maybe it should all be delegated
to a single custodian -- right now it is split over five custodians
(although part of it -- so that all of it is applied in one go without
"foreign" patches getting in between.

Amicalement,
-- 
Albert.

  parent reply	other threads:[~2014-10-26 19:07 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-26 15:33 [U-Boot] [PATCH v2 00/40] ARM: tegra: Add PCIe support Thierry Reding
2014-08-26 15:33 ` [U-Boot] [PATCH v2 01/40] vsprintf: Add modifier for phys_addr_t Thierry Reding
2014-08-26 17:04   ` Stephen Warren
2014-08-27  7:01     ` Thierry Reding
2014-08-27 17:41       ` Stephen Warren
2014-08-28 10:38         ` Thierry Reding
2014-09-17  0:44           ` [U-Boot] [U-Boot, v2, " Tom Rini
2014-08-26 23:14   ` [U-Boot] [PATCH v2 " Simon Glass
2014-08-27  7:37     ` Thierry Reding
2014-08-27 15:24       ` Simon Glass
2014-08-26 15:33 ` [U-Boot] [PATCH v2 02/40] fdt: Add a function to count strings Thierry Reding
2014-08-27 18:51   ` Simon Glass
2014-09-08 15:01     ` Simon Glass
2014-08-26 15:33 ` [U-Boot] [PATCH v2 03/40] fdt: Add a function to get the index of a string Thierry Reding
2014-08-27 18:51   ` Simon Glass
2014-09-08 15:02     ` Simon Glass
2014-08-26 15:33 ` [U-Boot] [PATCH v2 04/40] fdt: Add functions to retrieve strings Thierry Reding
2014-08-27 18:53   ` Simon Glass
2014-09-08 15:02     ` Simon Glass
2015-03-25 23:23       ` Simon Glass
2015-07-14 19:48         ` Simon Glass
2015-07-15 11:17           ` Thierry Reding
2015-07-15 11:35             ` Albert ARIBAUD
2015-07-15 11:52               ` Thierry Reding
2014-08-26 15:33 ` [U-Boot] [PATCH v2 05/40] fdt: Add resource parsing functions Thierry Reding
2014-08-27 18:53   ` Simon Glass
2014-09-08 15:02   ` Simon Glass
2014-08-26 15:33 ` [U-Boot] [PATCH v2 06/40] fdt: Add a function to return PCI BDF triplet Thierry Reding
2014-09-08 15:03   ` Simon Glass
2014-08-26 15:33 ` [U-Boot] [PATCH v2 07/40] fdt: Add a subnodes iterator macro Thierry Reding
2014-09-08 15:03   ` Simon Glass
2014-08-26 15:33 ` [U-Boot] [PATCH v2 08/40] pci: Abort early if bus does not exist Thierry Reding
2014-08-26 15:33 ` [U-Boot] [PATCH v2 09/40] pci: Honour pci_skip_dev() Thierry Reding
2014-08-26 15:33 ` [U-Boot] [PATCH v2 10/40] Add pr_fmt() macro Thierry Reding
2014-08-26 15:33 ` [U-Boot] [PATCH v2 11/40] i2c: Initialize the correct bus Thierry Reding
2014-08-27  4:52   ` Heiko Schocher
2014-08-27  5:12     ` Thierry Reding
2014-08-27  5:26       ` Heiko Schocher
2014-08-26 15:34 ` [U-Boot] [PATCH v2 12/40] i2c: Refactor adapter initialization Thierry Reding
2014-08-26 15:34 ` [U-Boot] [PATCH v2 13/40] i2c: Add high-level API Thierry Reding
2014-08-27  5:21   ` Heiko Schocher
2014-08-27  6:21     ` Thierry Reding
2014-08-27  7:07       ` Heiko Schocher
2014-08-27  8:51         ` Thierry Reding
2014-08-27  9:56           ` Heiko Schocher
2014-08-27 11:41             ` Thierry Reding
2014-08-27 19:10               ` Simon Glass
2014-08-28  9:53                 ` Heiko Schocher
2014-08-26 15:34 ` [U-Boot] [PATCH v2 14/40] i2c: tegra: Implement i2c_get_bus_num_fdt() Thierry Reding
2014-09-02 19:24   ` Simon Glass
2014-08-26 15:34 ` [U-Boot] [PATCH v2 15/40] power: Add AMS AS3722 PMIC support Thierry Reding
2014-08-27  5:26   ` Heiko Schocher
2014-08-27  6:28     ` Thierry Reding
2014-08-27  7:18       ` Heiko Schocher
2014-08-26 15:34 ` [U-Boot] [PATCH v2 16/40] ARM: tegra: Implement tegra_plle_enable() Thierry Reding
2014-08-26 15:34 ` [U-Boot] [PATCH v2 17/40] ARM: tegra: Provide PCIEXCLK reset ID Thierry Reding
2014-08-26 15:34 ` [U-Boot] [PATCH v2 18/40] ARM: tegra: Implement powergate support Thierry Reding
2014-08-26 15:34 ` [U-Boot] [PATCH v2 19/40] ARM: tegra: Implement XUSB pad controller Thierry Reding
2014-08-26 15:34 ` [U-Boot] [PATCH v2 20/40] ARM: tegra: Add XUSB pad controller on Tegra124 Thierry Reding
2014-08-26 15:34 ` [U-Boot] [PATCH v2 21/40] ARM: tegra: Enable XUSB pad controller on Jetson TK1 Thierry Reding
2014-08-26 15:34 ` [U-Boot] [PATCH v2 22/40] pci: tegra: Add Tegra PCIe driver Thierry Reding
2014-08-26 15:34 ` [U-Boot] [PATCH v2 23/40] ARM: tegra: Add Tegra20 PCIe device tree node Thierry Reding
2014-08-26 15:34 ` [U-Boot] [PATCH v2 24/40] ARM: tegra: Enable PCIe on TrimSlice Thierry Reding
2014-08-26 15:34 ` [U-Boot] [PATCH v2 25/40] ARM: tegra: Add GIC for Tegra30 Thierry Reding
2014-08-26 15:34 ` [U-Boot] [PATCH v2 26/40] ARM: tegra: Add Tegra30 PCIe device tree node Thierry Reding
2014-08-26 15:34 ` [U-Boot] [PATCH v2 27/40] ARM: tegra: Enable PCIe on Cardhu Thierry Reding
2014-08-26 15:34 ` [U-Boot] [PATCH v2 28/40] ARM: tegra: Enable PCIe on Beaver Thierry Reding
2014-08-26 15:34 ` [U-Boot] [PATCH v2 29/40] ARM: tegra: Add GIC for Tegra124 Thierry Reding
2014-08-26 15:34 ` [U-Boot] [PATCH v2 30/40] ARM: tegra: Add Tegra124 PCIe device tree node Thierry Reding
2014-08-26 15:34 ` [U-Boot] [PATCH v2 31/40] ARM: tegra: Enable PCIe on Jetson TK1 Thierry Reding
2014-08-26 15:34 ` [U-Boot] [PATCH v2 32/40] ARM: cache_v7: Various minor cleanups Thierry Reding
2014-08-27 18:56   ` Simon Glass
2014-11-08  8:30   ` Albert ARIBAUD
2014-08-26 15:34 ` [U-Boot] [PATCH v2 33/40] ARM: cache-cp15: Use more accurate types Thierry Reding
2014-08-27 18:57   ` Simon Glass
2014-11-08  8:31   ` Albert ARIBAUD
2014-08-26 15:34 ` [U-Boot] [PATCH v2 34/40] malloc: Output region when debugging Thierry Reding
2014-08-27 18:58   ` Simon Glass
2014-11-08  8:31   ` Albert ARIBAUD
2014-08-26 15:34 ` [U-Boot] [PATCH v2 35/40] ARM: Implement non-cached memory support Thierry Reding
2014-08-27 19:07   ` Simon Glass
2014-10-24 19:11   ` Stephen Warren
2014-11-12 15:49     ` Simon Glass
2014-08-26 15:34 ` [U-Boot] [PATCH v2 36/40] ARM: tegra: Enable non-cached memory Thierry Reding
2014-08-26 15:34 ` [U-Boot] [PATCH v2 37/40] net: rtl8169: Honor CONFIG_SYS_RX_ETH_BUFFER Thierry Reding
2014-08-26 15:34 ` [U-Boot] [PATCH v2 38/40] net: rtl8169: Properly align buffers Thierry Reding
2014-11-12 23:37   ` Nobuhiro Iwamatsu
2014-08-26 15:34 ` [U-Boot] [PATCH v2 39/40] net: rtl8169: Use non-cached memory if available Thierry Reding
2014-08-26 15:34 ` [U-Boot] [PATCH v2 40/40] net: rtl8169: Add support for RTL-8168/8111g Thierry Reding
2014-09-11 16:00 ` [U-Boot] [PATCH v2 00/40] ARM: tegra: Add PCIe support Albert ARIBAUD
2014-09-11 16:17   ` Stephen Warren
2014-09-11 19:20     ` Simon Glass
2014-09-18  8:43       ` Albert ARIBAUD
2014-09-18 18:01         ` Simon Glass
2014-10-23  3:07   ` Simon Glass
2014-10-23  8:11     ` Thierry Reding
2014-10-23 18:33       ` Simon Glass
2014-09-28 22:48 ` Simon Glass
2014-09-29  8:11   ` Thierry Reding
2014-09-29 13:54     ` Simon Glass
2014-10-06 12:24     ` Heiko Schocher
2014-10-26 19:07 ` Albert ARIBAUD [this message]
2014-10-26 19:29   ` Albert ARIBAUD
2014-10-27 23:55   ` Simon Glass

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141026200710.6adf50e5@lilith \
    --to=albert.u.boot@aribaud.net \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).