Skip to content
  1. Sep 29, 2023
    • Phil Elwell's avatar
      sdhci: Add SD Express hook · 9564939f
      Phil Elwell authored
      sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR speeds at 1.8v.
      9564939f
    • Ulf Hansson's avatar
      mmc: brcmstb: add support for BCM2712 · b627647c
      Ulf Hansson authored
      
      
      BCM2712 has an SD Express capable SDHCI implementation and uses
      the SDIO CFG register block present on other STB chips.
      
      Add plumbing for SD Express handover and BCM2712-specific functions.
      
      Due to the common bus infrastructure between BCM2711 and BCM2712,
      the driver also needs to implement 32-bit IO accessors.
      
      mmc: brcmstb: override card presence if broken-cd is set
      
      Not just if the card is declared as nonremovable.
      
      sdhci: brcmstb: align SD express switchover with SD spec v8.00
      
      Part 1 of the Physical specification, figure 3-24, details the switch
      sequence for cards initially probed as SD. Add a missing check for DAT2
      level after switching VDD2 on.
      
      sdhci: brcmstb: clean up SD Express probe and error handling
      
      Refactor to avoid spurious error messages in dmesg if the requisite SD
      Express DT nodes aren't present.
      
      Signed-off-by: default avatarJonathan Bell <jonathan@raspberrypi.com>
      
      mmc: sdhci-brcmstb: only use the delay line PHY for tuneable speeds
      
      The MMC core has a 200MHz core clock which allows the use of DDR50 and
      below without incremental phase tuning. SDR50/SDR104 and the EMMC HS200
      speeds require tuning.
      
      Signed-off-by: default avatarJonathan Bell <jonathan@raspberrypi.com>
      b627647c
    • Dom Cobley's avatar
      vc4/fkms: Remove use of SMI peripheral · 3fb20da9
      Dom Cobley authored
      3fb20da9
    • Phil Elwell's avatar
      pinctrl: bcm2712 pinctrl/pinconf driver · af7e60a3
      Phil Elwell authored
      
      
      pinctrl: bcm2712: Reject invalid pulls
      
      Reject attempts to set pulls on aon-sgpios, and fix pull shift
      values.
      
      pinctrl: bcm2712: Add 7712 support, fix 2712 count
      
      Signed-off-by: default avatarPhil Elwell <phil@raspberrypi.com>
      
      pinctrl-bcm2712: add EMMC pins so pulls can be set
      
      These pins have pad controls but not mux controls. They look enough like
      GPIOs to squeeze in at the end of the list though.
      
      pinctrl: bcm2712: correct BCM2712C0 AON_GPIO pad pull control offset
      
      Signed-off-by: default avatarJonathan Bell <jonathan@raspberrypi.com>
      
      pinctrl: bcm2712: on C0 the regular GPIO pad control register moves too
      
      Signed-off-by: default avatarJonathan Bell <jonathan@raspberrypi.com>
      
      pinctrl: bcm2712: Implement (partially) pinconf_get
      
      Signed-off-by: default avatarPhil Elwell <phil@raspberrypi.com>
      
      pinctrl: bcm2712: Convert to generic pinconf
      
      Remove the legacy brcm,* pin configuration support and replace it with
      a proper generic pinconf interface, using named functions instead of
      alt function numbers. This is nicer for users, less error-prone, and
      immune to some of the C0->D0 changes.
      
      Signed-off-by: default avatarPhil Elwell <phil@raspberrypi.com>
      
      pinctrl: bcm2712: Remove vestigial pull parameter
      
      Now the legacy brcm, pinconf parameters are no longer supported, this
      custom pin config parameter is not needed.
      
      Signed-off-by: default avatarPhil Elwell <phil@raspberrypi.com>
      
      pinctrl: bcm2712: Guard against bad func numbers
      
      Signed-off-by: default avatarPhil Elwell <phil@raspberrypi.com>
      
      pinctrl: bcm2712: A better attempt at D0 support
      
      The BCM2712D0 sparse pinctrl maps play havoc with the old GPIO_REGS
      macro, so make the bit positions explicit. And delete the unwanted
      GPIO and pinmux declarations on D0.
      
      Note that a Pi 5 with D0 requires a separate DTS file with "bcm2712d0"
      compatible strings.
      
      Signed-off-by: default avatarPhil Elwell <phil@raspberrypi.com>
      
      pinctrl: bcm2712: Delete base register constants
      
      BCM2712D0 deletes many GPIOs and their associated mux and pad bits,
      so much so that the offsets to the start of the pad control registers
      changes. Remove the constant offsets from the *GPIO_REGS macros,
      compensating by adjusting the per-GPIO values.
      
      Signed-off-by: default avatarPhil Elwell <phil@raspberrypi.com>
      af7e60a3
    • Phil Elwell's avatar
      Allow RESET_BRCMSTB on ARCH_BCM2835 · 22ae3b2e
      Phil Elwell authored
      22ae3b2e
    • Dom Cobley's avatar
      gpio_brcmstb: Allow to build for ARCH_BCM2835 · fa18902e
      Dom Cobley authored
      
      
      gpio-brcmstb: Report the correct bank width
      
      gpio: brcmstb: Use bank address as gpiochip label
      
      If the path to the device node is used as gpiochip label then
      gpio-brcmstb instances with multiple banks end up with duplicated
      names. Instead, use a combination of the driver name with the physical
      address of the bank, which is both unique and helpful for devmem
      debugging.
      
      Signed-off-by: default avatarPhil Elwell <phil@raspberrypi.com>
      
      gpio: mmio: Add DIRECT mode for shared access
      
      The generic MMIO GPIO library uses shadow registers for efficiency,
      but this breaks attempts by raspi-gpio to change other GPIOs in the
      same bank. Add a DIRECT mode that makes fewer assumptions about the
      existing register contents, but note that genuinely simultaneous
      accesses are likely to lose updates.
      
      Signed-off-by: default avatarPhil Elwell <phil@raspberrypi.com>
      
      gpio: brcmstb: Don't always clear interrupt mask
      
      If the GPIO controller is not being used as an interrupt source
      leave the interrupt mask register alone. On BCM2712 it might be used
      to generate interrupts to the VPU firmware, and on other devices it
      doesn't matter since no interrupts will be generated.
      
      Signed-off-by: default avatarPhil Elwell <phil@raspberrypi.com>
      fa18902e
    • popcornmix's avatar
      bcm2708_fb: Hack out dma support · d60956f3
      popcornmix authored
      d60956f3
    • Dom Cobley's avatar
      dts: 2712: Update for device tree · 1196bf1a
      Dom Cobley authored
      
      
      dtoverlays: Fix up edt5406 entries to match with vc4-kms-dsi-7inch
      
      vc4-kms-dsi-7inch expects the touch fragment to be named ts_i2c_frag,
      but edt5406 didn't do this.
      
      Fixes: 736d601fb38c ("dts: 2712: Update for device tree")
      
      Signed-off-by: default avatarDave Stevenson <dave.stevenson@raspberrypi.com>
      1196bf1a
    • Dom Cobley's avatar
      config: 2712: Update defconfig · 9cfb3791
      Dom Cobley authored
      9cfb3791
    • Dom Cobley's avatar
      Revert "usb: phy: generic: Get the vbus supply" · 406e7dc8
      Dom Cobley authored
      This reverts commit c0ea202f.
      406e7dc8
  2. Sep 23, 2023
    • Phil Elwell's avatar
      overlays: Add a sample hat_map · cc08810f
      Phil Elwell authored
      
      
      The HAT map is way of associating named overlays with HATs whose
      EEPROMs were programmed with the contents of the overlay.
      Unfortunately, change in the DT and kernel drivers has meant that some
      of these embedded overlays no longer function, or even don't apply.
      
      The HAT map is a mapping from HAT UUIDs to overlay names. If a HAT with
      a listed UUID is detected, the embedded overlay is ignored and the
      overlay named in the mapping is loaded in its place.
      
      Signed-off-by: default avatarPhil Elwell <phil@raspberrypi.com>
      cc08810f
  3. Sep 20, 2023
  4. Sep 19, 2023