1. 21 Jul, 2020 1 commit
  2. 04 Jul, 2020 1 commit
  3. 18 Jun, 2020 3 commits
    • Phil Elwell's avatar
      overlays: Move "fixed-clock" nodes to the root · 6ae19222
      Phil Elwell authored
      Apart from some special cases, device objects are only created for
      nodes if they are children of a bus or the root node. "fixed-clock"
      is one of the exceptions that will be instantiated wherever it is
      found, but only during kernel initialisation - ruling out loading the
      overlay at runtime.
      
      Move most of the affected clocks to be children of the root, only
      leaving those in overlays that could be multiply instantiated, to avoid
      a potential name clash.
      
      See: https://github.com/raspberrypi/linux/issues/3602
      
      Signed-off-by: default avatarPhil Elwell <phil@raspberrypi.com>
      6ae19222
    • Dave Stevenson's avatar
      dtoverlays: Update CSI overlays to use i2c_csi_dsi · 8003d8ee
      Dave Stevenson authored
      
      
      Update all overlays that were using i2c_vc for talking to CSI
      source devices to use the new i2c_csi_dsi node via i2c_mux_pinctrl.
      Remove the pins overrides as well.
      Signed-off-by: default avatarDave Stevenson <dave.stevenson@raspberrypi.com>
      8003d8ee
    • 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: Noralf 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