Skip to content
  1. Jun 18, 2020
    • notro's avatar
      BCM2708: Add core Device Tree support · 292ab07a
      notro authored
      
      
      Add the bare minimum needed to boot BCM2708 from a Device Tree.
      
      Signed-off-by: default avatarNoralf Tronnes <notro@tronnes.org>
      
      BCM2708: DT: change 'axi' nodename to 'soc'
      
      Change DT node named 'axi' to 'soc' so it matches ARCH_BCM2835.
      The VC4 bootloader fills in certain properties in the 'axi' subtree,
      but since this is part of an upstreaming effort, the name is changed.
      
      Signed-off-by: default avatarNoralf Tronnes <notro@tronnes.org>
      
      BCM2708_DT: Correct length of the peripheral space
      
      Use dts-dirs feature for overlays.
      
      The kernel makefiles have a dts-dirs target that is for vendor subdirectories.
      
      Using this fixes the install_dtbs target, which previously did not install the overlays.
      
      BCM270X_DT: configure I2S DMA channels
      
      Signed-off-by: default avatarMatthias Reichl <hias@horus.com>
      
      BCM270X_DT: switch to bcm2835-i2s
      
      I2S soundcard drivers with proper devicetree support (i.e. not linking
      to the cpu_dai/platform via name but to cpu/platform via of_node)
      will work out of the box without any modifications.
      
      When the kernel is compiled without devicetree support the platform
      code will instantiate the bcm2708-i2s driver and I2S soundcard drivers
      will link to it via name, as before.
      
      Signed-off-by: default avatarMatthias Reichl <hias@horus.com>
      
      SDIO-overlay: add poll_once-boolean parameter
      
      Add paramter to toggle sdio-device-polling
      done every second or once at boot-time.
      
      Signed-off-by: default avatarPatrick Boettcher <patrick.boettcher@posteo.de>
      
      BCM270X_DT: Make mmc overlay compatible with current firmware
      
      The original DT overlay logic followed a merge-then-patch procedure,
      i.e. parameters are applied to the loaded overlay before the overlay
      is merged into the base DTB. This sequence has been changed to
      patch-then-merge, in order to support parameterised node names, and
      to protect against bad overlays. As a result, overrides (parameters)
      must only target labels in the overlay, but the overlay can obviously target nodes in the base DTB.
      
      mmc-overlay.dts (that switches back to the original mmc sdcard
      driver) is the only overlay violating that rule, and this patch
      fixes it.
      
      bcm270x_dt: Use the sdhost MMC controller by default
      
      The "mmc" overlay reverts to using the other controller.
      
      squash: Add cprman to dt
      
      BCM270X_DT: Use clk_core for I2C interfaces
      
      BCM270X_DT: Use bcm283x.dtsi, bcm2835.dtsi and bcm2836.dtsi
      
      The mainline Device Tree files are quite close to downstream now.
      Let's use bcm283x.dtsi, bcm2835.dtsi and bcm2836.dtsi as base files
      for our dts files.
      
      Mainline dts files are based on these files:
      
                bcm2835-rpi.dtsi
        bcm2835.dtsi    bcm2836.dtsi
                bcm283x.dtsi
      
      Current downstream are based on these:
      
        bcm2708.dtsi    bcm2709.dtsi    bcm2710.dtsi
                   bcm2708_common.dtsi
      
      This patch introduces this dependency:
      
        bcm2708.dtsi    bcm2709.dtsi
                bcm2708-rpi.dtsi
                bcm270x.dtsi
        bcm2835.dtsi    bcm2836.dtsi
                bcm283x.dtsi
      
      And:
                bcm2710.dtsi
                bcm2708-rpi.dtsi
                bcm270x.dtsi
                bcm283x.dtsi
      
      bcm270x.dtsi contains the downstream bcm283x.dtsi diff.
      bcm2708-rpi.dtsi is the downstream version of bcm2835-rpi.dtsi.
      
      Other changes:
      - The led node has moved from /soc/leds to /leds. This is not a problem
        since the label is used to reference it.
      - The clk_osc reg property changes from 6 to 3.
      - The gpu nodes has their interrupt property set in the base file.
      - the clocks label does not point to the /clocks node anymore, but
        points to the cprman node. This is not a problem since the overlays
        that use the clock node refer to it directly: target-path = "/clocks";
      - some nodes now have 2 labels since mainline and downstream differs in
        this respect: cprman/clocks, spi0/spi, gpu/vc4.
      - some nodes doesn't have an explicit status = "okay" since they're not
        disabled in the base file: watchdog and random.
      - gpiomem doesn't need an explicit status = "okay".
      - bcm2708-rpi-cm.dts got the hpd-gpios property from bcm2708_common.dtsi,
        it's now set directly in that file.
      - bcm2709-rpi-2-b.dts has the timer node moved from /soc/timer to /timer.
      - Removed clock-frequency property on the bcm{2709,2710}.dtsi timer nodes.
      
      Signed-off-by: default avatarNoralf Trønnes <noralf@tronnes.org>
      
      BCM270X_DT: Use raspberrypi-power to turn on USB power
      
      Use the raspberrypi-power driver to turn on USB power.
      
      Signed-off-by: default avatarNoralf Trønnes <noralf@tronnes.org>
      
      BCM270X_DT: Add a .dtbo target, use for overlays
      
      Change the filenames and extensions to keep the pre-DDT style of
      overlay (<name>-overlay.dtb) distinct from new ones that use a
      different style of local fixups (<name>.dtbo), and to match other
      platforms.
      
      The RPi firmware uses the DDTK trailer atom to choose which type of
      overlay to use for each kernel.
      
      Signed-off-by: default avatarPhil Elwell <phil@raspberrypi.org>
      
      BCM270X_DT: Don't generate "linux,phandle" props
      
      The EPAPR standard says to use "phandle" properties to store phandles,
      rather than the deprecated "linux,phandle" version. By default, dtc
      generates both, but adding "-H epapr" causes it to only generate
      "phandle"s, saving some space and clutter.
      
      Signed-off-by: default avatarPhil Elwell <phil@raspberrypi.org>
      
      BCM270X_DT: Add overlay for enc28j60 on SPI2
      
      Works on SPI2 for compute module
      
      BCM270X_DT: Add midi-uart0 overlay
      
      MIDI requires 31.25kbaud, a baudrate unsupported by Linux. The
      midi-uart0 overlay configures uart0 (ttyAMA0) to use a fake clock
      so that requesting 38.4kbaud actually gets 31.25kbaud.
      
      Signed-off-by: default avatarPhil Elwell <phil@raspberrypi.org>
      
      BCM270X_DT: Add i2c-sensor overlay
      
      The i2c-sensor overlay is a container for various pressure and
      temperature sensors, currently bmp085 and bmp280. The standalone
      bmp085_i2c-sensor overlay is now deprecated.
      
      Signed-off-by: default avatarPhil Elwell <phil@raspberrypi.org>
      
      BCM270X_DT: overlays/*-overlay.dtb -> overlays/*.dtbo (#1752)
      
      We now create overlays as .dtbo files.
      
      build: support for .dtbo files for dtb overlays
      
      Kernel 4.4.6+ on RaspberryPi support .dtbo files for overlays, instead of .dtb.
      Patch the kernel, which has faulty rules to generate .dtbo the way yocto does
      
      Signed-off-by: default avatarHerve Jourdain <herve.jourdain@neuf.fr>
      Signed-off-by: default avatarKhem Raj <raj.khem@gmail.com>
      
      BCM270X: Drop position requirement for CMA in VC4 overlay.
      
      No longer necessary since 2aefcd57
      
      ,
      and will probably let peeople that want to choose a larger CMA
      allocation (particularly on pi0/1).
      
      Signed-off-by: default avatarEric Anholt <eric@anholt.net>
      
      BCM270X_DT: RPi Device Tree tidy
      
      Use the upstream sdhost node, add thermal-zones, and factor out some
      common elements.
      
      Signed-off-by: default avatarPhil Elwell <phil@raspberrypi.org>
      
      kbuild: Silence unhelpful DTC warnings
      
      Signed-off-by: default avatarPhil Elwell <phil@raspberrypi.org>
      
      BCM270X_DT: DT build rules no longer arch-specific
      
      Signed-off-by: default avatarPhil Elwell <phil@raspberrypi.org>
      292ab07a
  2. Jan 16, 2020
  3. Jan 14, 2020
  4. Jan 12, 2020
    • Robert Jones's avatar
      ARM: dts: imx: Add GW5912 board support · 9a820b55
      Robert Jones authored
      
      
      The Gateworks GW5912 is an IMX6 SoC based single board computer with:
       - IMX6Q or IMX6DL
       - 32bit DDR3 DRAM
       - GbE RJ45 front-panel
       - 4x miniPCIe socket with PCI Gen2, USB2
       - 1x miniPCIe socket with PCI Gen2, USB2, mSATA
       - 1x miniPCIe socket with PCI Gen2, USB2, mezzanine
       - 10V to 60V DC input barrel jack
       - 3axis accelerometer (lis2de12)
       - GPS (ublox ZOE-M8Q)
       - bi-color front-panel LED
       - 256MB NAND boot device
       - nanoSIM/microSD socket (with UHS-I support)
       - user pushbutton
       - Gateworks System Controller (hwmon, pushbutton controller, EEPROM)
       - CAN Bus transceiver (mcp2562)
       - RS232 transceiver (1x UART with flow-control or 2x UART (build option)
       - off-board SPI connector (1x chip-select)
      
      Signed-off-by: default avatarRobert Jones <rjones@gateworks.com>
      Reviewed-by: default avatarTim Harvey <tharvey@gateworks.com>
      Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
      9a820b55
    • Robert Jones's avatar
      ARM: dts: imx: Add GW5913 board support · 169e12f9
      Robert Jones authored
      
      
      The Gateworks GW5913 is an IMX6 SoC based single board computer with:
       - IMX6Q or IMX6DL
       - 32bit DDR3 DRAM
       - FEC GbE RJ45 front-panel
       - 1x miniPCIe socket with PCI Gen2, USB2
       - 1x miniPCIe socket with PCI Gen2, USB2, nanoSIM
       - 6V to 60V DC input connector
       - GPS (ublox ZOE-M8Q)
       - bi-color front-panel LED
       - 256MB NAND boot device
       - nanoSIM socket
       - user pushbutton
       - Gateworks System Controller (hwmon, pushbutton controller, EEPROM)
      
      Signed-off-by: default avatarRobert Jones <rjones@gateworks.com>
      Reviewed-by: default avatarTim Harvey <tharvey@gateworks.com>
      Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
      169e12f9
    • Tim Harvey's avatar
      ARM: dts: imx: Add GW5910 board support · a1fb6936
      Tim Harvey authored
      
      
      The Gateworks GW5910 is an IMX6 SoC based single board computer with:
       - IMX6Q or IMX6DL
       - 32bit DDR3 DRAM
       - FEC GbE RJ45 front-panel
       - 1x miniPCIe socket with PCI Gen2, USB2
       - 1x miniPCIe socket with PCI Gen2, USB2, nanoSIM
       - 5V to 60V DC input barrel jack
       - 3axis accelerometer (lis2de12)
       - GPS (ublox ZOE-M8Q)
       - bi-color front-panel LED
       - 256MB NAND boot device
       - microSD socket (with UHS-I support)
       - user pushbutton
       - Gateworks System Controller (hwmon, pushbutton controller, EEPROM)
       - Dual-Band Wireless MCU (CC1352, UART/I2S interrconnect to IMX6)
       - WiFi/Bluetooth/BLE module (Sterling-LSW, SDIO/UART interconnect to IMX6)
       - RS232 transceiver (1x UART with flow-control or 2x UART (build option)
       - off-board SPI connector (1x chip-select)
      
      Signed-off-by: default avatarTim Harvey <tharvey@gateworks.com>
      Signed-off-by: default avatarRobert Jones <rjones@gateworks.com>
      Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
      a1fb6936
    • Robert Jones's avatar
      ARM: dts: imx: Add GW5907 board support · 12512029
      Robert Jones authored
      
      
      The Gateworks GW5907 is an IMX6 SoC based single board computer with:
       - IMX6Q or IMX6DL
       - 32bit DDR3 DRAM
       - FEC GbE Phy
       - bi-color front-panel LED
       - 256MB NAND boot device
       - Gateworks System Controller (hwmon, pushbutton controller, EEPROM)
       - Digital IO expander (pca9555)
       - Joystick 12bit adc (ads1015)
      
      Signed-off-by: default avatarRobert Jones <rjones@gateworks.com>
      Reviewed-by: default avatarTim Harvey <tharvey@gateworks.com>
      Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
      12512029
  5. Jan 08, 2020
  6. Dec 26, 2019
    • Stephan Gerhold's avatar
      ARM: dts: ux500: Add device tree for Samsung Galaxy S III mini (GT-I8190) · b952efeb
      Stephan Gerhold authored
      
      
      The Samsung Galaxy S III mini (GT-I8190) is a smartphone with Ux500 SoC
      released in 2012. Thanks to the great mainline support for Ux500,
      it can actually run mainline Linux quite well.
      
      Add a new device tree for it with support for:
        - Internal Storage (eMMC)
        - External Storage (Micro SD card)
        - UART
        - GPIO Buttons
        - Vibrator
      
      Note that the device tree cannot be booted directly with
      the original (Samsung) bootloader. It keeps the L2 cache turned on,
      which causes the kernel to hang shortly after decompression.
      
      As a workaround I have created a port of (mainline) U-Boot,
      which locks the L2 cache before booting Linux. At the moment it does not
      replace the Samsung bootloader, instead we let the original bootloader
      load U-Boot as an another (intermediate) bootloader.
      
      Another advantage of this is that U-Boot has proper device tree support,
      so we do not need to hardcode the kernel command line in the device tree.
      
      Signed-off-by: default avatarStephan Gerhold <stephan@gerhold.net>
      Link: https://lore.kernel.org/r/20191219202052.19039-5-stephan@gerhold.net
      
      
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      b952efeb
  7. Dec 21, 2019
  8. Dec 11, 2019
  9. Dec 10, 2019
  10. Dec 09, 2019
  11. Nov 07, 2019
  12. Nov 04, 2019
  13. Nov 02, 2019
  14. Nov 01, 2019
  15. Oct 24, 2019
  16. Oct 23, 2019
    • Lubomir Rintel's avatar
      ARM: dts: mmp3: add Dell Wyse 3020 machine · 044393a7
      Lubomir Rintel authored
      This is a Dell Wyse thin client, variously referred to as "Ariel",
      "3020" or "Tx0D" where "x" stands for the software it was shipped with.
      I somewhat arbitrarily chose "ariel".
      
      There are bits missing, because the drivers are not in and bindings are not
      settled yet:
      
      * Things missing from mmp3.dtsi:
        HSIC controller and its PHY (only the internal Ethernet is connected
        here, the hub with external USB2 ports is connected to the U2O controller
        that works well), Vivante GC2000 GPU
      
      * &twsi1/regulator@19
        Marvell 88pm867 power regulator
      
      * &twsi3/vga-dvi-encoder@76
        Chrontel CH7033B-BF VGA & DVI encoder
      
      * &twsi3/sound-codec@30
        Sound chip, probably a Marvell 88ce156
      
      * &twsi4/embedded-controller@58
        ENE KB3930QF Embedded Controller, also seems to be connected to &ssp4.
        Might not need a driver -- about the only useful thing it can do is to
        reboot the machine when tickled via some GPIO lines.
      
      Also there seems to be something at &twsi1 address 0x50.
      
      Link: https://lore.kernel.org/r/20191022152837.3553524-1-lkundrak@v3.sk
      
      
      Signed-off-by: default avatarLubomir Rintel <lkundrak@v3.sk>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      044393a7
  17. Oct 16, 2019
  18. Oct 11, 2019
    • Stefan Wahren's avatar
      ARM: dts: Add minimal Raspberry Pi 4 support · 7dbe8c62
      Stefan Wahren authored
      
      
      This adds minimal support for the new Raspberry Pi 4 without the
      fancy stuff like GENET, PCIe, xHCI, 40 bit DMA and V3D. The RPi 4 is
      available in 3 different variants (1, 2 and 4 GB RAM), so leave the memory
      size to zero and let the bootloader take care of it. The DWC2 is still
      usable as peripheral via the USB-C port.
      
      Other differences to the Raspberry Pi 3:
      - additional GIC 400 Interrupt controller
      - new thermal IP and HWRNG
      - additional MMC interface (emmc2)
      - additional UART, I2C, SPI and PWM interfaces
      - clock stretching bug in I2C IP has been fixed
      
      Signed-off-by: default avatarStefan Wahren <wahrenst@gmx.net>
      Acked-by: default avatarEric Anholt <eric@anholt.net>
      Acked-by: default avatarFlorian Fanelli <f.fainelli@gmail.com>
      7dbe8c62
  19. Oct 10, 2019
  20. Oct 02, 2019
    • Sébastien Szymanski's avatar
      ARM: dts: opos6ul/opos6uldev: rework device tree to support i.MX6ULL · 5460ab06
      Sébastien Szymanski authored
      
      
      Rework the device trees of the OPOS6UL and OPOS6ULDev boards to support
      the OPOS6UL SoM with an i.MX6ULL SoC.  The device trees are now as
      following:
      
      - imx6ul-imx6ull-opos6ul.dtsi
        common for both i.MX6UL and i.MX6ULL OPOS6UL SoM.
      - imx6ul-opos6ul.dtsi
        for i.MX6UL OPOS6UL SoM. It includes imx6ul.dtsi and
        imx6ul-imx6ull-opos6ul.dtsi.
      - imx6ull-opos6ul.dtsi
        for i.MX6ULL OPOS6UL SoM. It includes imx6ull.dtsi and
        imx6ul-imx6ull-opos6ul.dtsi.
      
      - imx6ul-imx6ull-opos6uldev.dtsi
        OPOS6ULDev base device tree.
      - imx6ul-opos6uldev.dts
        OPOS6ULDev board with an i.MX6UL OPOS6UL SoM. It includes
        imx6ul-opos6ul.dtsi and imx6ul-imx6ull-opos6uldevdtsi.
      - imx6ull-opos6uldev.dts
        OPOS6ULDev board with an i.MX6ULL OPOS6UL SoM. It includes
        imx6ull-opos6ul.dtsi and imx6ul-imx6ull-opos6uldevdtsi.
      
      Signed-off-by: default avatarSébastien Szymanski <sebastien.szymanski@armadeus.com>
      Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
      5460ab06
  21. Sep 12, 2019
  22. Sep 08, 2019
    • Lubomir Rintel's avatar
      ARM: dts: mmp2: add OLPC XO 1.75 machine · 548d52bc
      Lubomir Rintel authored
      
      
      This is a fairly complete description of an OLPC XO 1.75 laptop.
      What's missing for now is the GPU, LCD controller, DCON, the panel and
      audio.
      
      The machine is booted with OpenFirmware and thus has a devicetree.
      However, older versions are unable to create a valid FDT and don't
      follow the Linux bindings. Having an device tree in the kernel tree
      makes it easier to use mainline kernels on such machines, test changes
      with CONFIG_ARM_APPENDED_DTB and give a good reference on what bindings
      are used on the machine without an access to one.
      
      Signed-off-by: default avatarLubomir Rintel <lkundrak@v3.sk>
      Acked-by: default avatarPavel Machek <pavel@ucw.cz>
      548d52bc
  23. Aug 25, 2019
    • Krzysztof Kozlowski's avatar
      ARM: dts: imx6ul-kontron-n6310: Add Kontron i.MX6UL N6310 SoM and boards · 1ea4b76c
      Krzysztof Kozlowski authored
      
      
      Add support for i.MX6UL modules from Kontron Electronics GmbH (before
      acquisition: Exceet Electronics) and evalkit boards based on it:
      
      1. N6310 SOM: i.MX6 UL System-on-Module, a 25x25 mm solderable module
         (LGA pads and pin castellations) with 256 MB RAM, 1 MB NOR-Flash,
         256 MB NAND and other interfaces,
      2. N6310 S: evalkit, w/wo eMMC, without display,
      3. N6310 S 43: evalkit with 4.3" display,
      
      The work is based on Exceet/Kontron source code (GPLv2) with numerous
      changes:
      1. Reorganize files,
      2. Rename Exceet -> Kontron,
      3. Rename models/compatibles to match newest Kontron product naming,
      4. Fix coding style errors and adjust to device tree coding guidelines,
      5. Fix DTC warnings,
      6. Extend compatibles so eval boards inherit the SoM compatible,
      7. Use defines instead of GPIO and interrupt flag values,
      8. Use proper vendor compatible for Macronix SPI NOR,
      9. Replace deprecated bindings with proper ones,
      10. Sort nodes alphabetically,
      11. Remove Admatec display nodes (not yet supported).
      
      Signed-off-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Reviewed-by: default avatarFrieder Schrempf <frieder.schrempf@kontron.de>
      Reviewed-by: default avatarFabio Estevam <festevam@gmail.com>
      Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
      1ea4b76c
  24. Aug 23, 2019
  25. Aug 22, 2019
  26. Aug 17, 2019
  27. Aug 14, 2019
  28. Aug 02, 2019
  29. Jul 26, 2019