1. 06 2月, 2020 1 次提交
  2. 08 1月, 2020 1 次提交
  3. 15 12月, 2019 2 次提交
    • S
      dm: pci: Move pci_get_devfn() into a common file · 6dd4b014
      Simon Glass 提交于
      Early in boot it is necessary to decode the PCI device/function values for
      particular peripherals in the device tree or of-platdata. This is needed
      in TPL where CONFIG_PCI is not defined.
      
      To handle this, move pci_get_devfn() into a file that is built even when
      CONFIG_PCI is not defined.
      
      Also add a function for use by of-platdata, to convert a reg property to
      a pci_dev_t.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      Reviewed-by: NBin Meng <bmeng.cn@gmail.com>
      6dd4b014
    • S
      dm: pci: Allow delaying auto-config until after relocation · 2206ac24
      Simon Glass 提交于
      At present PCI auto-configuration happens in U-Boot both before and after
      relocation. This is a waste of time and may mess up static addresses used
      in board_init_f(). Adjust the code to supporting doing auto-configuration
      once, after relocation, under control of a device-tree property.
      
      This is needed for Apollo Lake for debugging the silicon-init code. Once
      the UART is moved to a different MMIO address the debug UART does not work
      and any debug output in Apollo Lake's arch_fsp_init_r() causes a hang.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      Reviewed-by: NBin Meng <bmeng.cn@gmail.com>
      2206ac24
  4. 05 12月, 2019 1 次提交
  5. 08 10月, 2019 4 次提交
  6. 13 7月, 2019 1 次提交
    • M
      pci: ensure enumeration of all devices in pci_init · 60ee6094
      Marek Behún 提交于
      Use the uclass_first_device_check and uclass_next_device_check functions
      instead of uclass_first_device and uclass_next_device in pci_init. This
      ensures that all PCI devices are tried to be probed. Currently if a
      device fails to probe, the enumeration stops and the devices which come
      after the failed device are not probed.
      Signed-off-by: NMarek Behún <marek.behun@nic.cz>
      Cc: Stefan Roese <sr@denx.de>
      Cc: Anton Schubert <anton.schubert@gmx.de>
      Cc: Dirk Eibach <dirk.eibach@gdsys.cc>
      Cc: Mario Six <mario.six@gdsys.cc>
      Cc: Chris Packham <chris.packham@alliedtelesis.co.nz>
      Cc: Phil Sutter <phil@nwl.cc>
      Cc: VlaoMao <vlaomao@gmail.com>
      Cc: Tom Rini <trini@konsulko.com>
      Reviewed-by: NStefan Roese <sr@denx.de>
      Reviewed-by: NBin Meng <bmeng.cn@gmail.com>
      60ee6094
  7. 11 7月, 2019 2 次提交
  8. 24 4月, 2019 1 次提交
  9. 05 2月, 2019 1 次提交
  10. 21 11月, 2018 1 次提交
  11. 15 11月, 2018 1 次提交
  12. 21 10月, 2018 1 次提交
  13. 11 9月, 2018 1 次提交
  14. 08 8月, 2018 4 次提交
  15. 13 6月, 2018 2 次提交
  16. 27 5月, 2018 1 次提交
    • T
      PCI: dm: Ignore 64-bit memory regions if CONFIG_SYS_PCI_64BIT not set · 52ba9073
      Tuomas Tynkkynen 提交于
      Currently, qemu_arm_defconfig and qemu_arm64_defconfig only work with
      the 'highmem=off' parameter passed to QEMU's virt machine. The reason is
      that when 'highmem' is not disabled, QEMU appends 64-bit a memory
      resource to the PCI controller's regions property in DT in addition to
      the 32-bit PCI memory window in low memory. And the current DT parsing
      code picks the last (thus the 64-bit one) memory resource, whose address
      eventually gets silently truncated to 32 bits because
      CONFIG_SYS_PCI_64BIT is not set, which obviously causes PCI to break.
      
      Avoid this problem by ignoring memory regions whose addresses are above
      the 32-bit boundary when CONFIG_SYS_PCI_64BIT is not set.
      Signed-off-by: NTuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
      Reviewed-by: NSimon Glass <sjg@chromium.org>
      52ba9073
  17. 07 5月, 2018 1 次提交
    • T
      SPDX: Convert all of our single license tags to Linux Kernel style · 83d290c5
      Tom Rini 提交于
      When U-Boot started using SPDX tags we were among the early adopters and
      there weren't a lot of other examples to borrow from.  So we picked the
      area of the file that usually had a full license text and replaced it
      with an appropriate SPDX-License-Identifier: entry.  Since then, the
      Linux Kernel has adopted SPDX tags and they place it as the very first
      line in a file (except where shebangs are used, then it's second line)
      and with slightly different comment styles than us.
      
      In part due to community overlap, in part due to better tag visibility
      and in part for other minor reasons, switch over to that style.
      
      This commit changes all instances where we have a single declared
      license in the tag as both the before and after are identical in tag
      contents.  There's also a few places where I found we did not have a tag
      and have introduced one.
      Signed-off-by: NTom Rini <trini@konsulko.com>
      83d290c5
  18. 30 3月, 2018 2 次提交
  19. 23 2月, 2018 1 次提交
  20. 06 10月, 2017 1 次提交
  21. 12 7月, 2017 2 次提交
  22. 01 6月, 2017 1 次提交
  23. 12 5月, 2017 1 次提交
  24. 27 3月, 2017 1 次提交
  25. 08 2月, 2017 1 次提交
    • S
      dm: core: Replace of_offset with accessor · e160f7d4
      Simon Glass 提交于
      At present devices use a simple integer offset to record the device tree
      node associated with the device. In preparation for supporting a live
      device tree, which uses a node pointer instead, refactor existing code to
      access this field through an inline function.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      e160f7d4
  26. 21 9月, 2016 1 次提交
    • P
      pci: Flip condition for detecting non-PCI parent devices · 65f62b1c
      Paul Burton 提交于
      In pci_uclass_pre_probe an attempt is made to detect whether the parent
      of a device is a PCI device and that the device is thus a bridge. This
      was being done by checking whether the parent of the device is of the
      UCLASS_ROOT class. This causes problems if the PCI controller is a child
      of some other non-PCI node, for example a simple-bus node.
      
      For example, if the device tree contains something like the following
      then pci_uclass_pre_probe would incorrectly believe that the PCI
      controller is a bridge, with a PCI parent:
      
        / {
          some_child {
            compatible = "simple-bus";
            #address-cells = <1>;
            #size-cells = <1>;
            ranges = <>;
      
            pci_controller: pci@10000000 {
              compatible = "my-pci-controller";
              device_type = "pci";
              reg = <0x10000000 0x2000000>;
            };
          };
        };
      
      Avoid this incorrect detection of bridges by instead checking whether
      the parent devices class is UCLASS_PCI and treating a device as a bridge
      when this is true, making use of device_is_on_pci_bus to perform this
      test.
      Signed-off-by: NPaul Burton <paul.burton@imgtec.com>
      Reviewed-by: NSimon Glass <sjg@chromium.org>
      65f62b1c
  27. 28 7月, 2016 2 次提交
  28. 26 4月, 2016 1 次提交