1. Nov 14, 2022
  2. Nov 03, 2022
    • Arnd Bergmann's avatar
      Merge tag 'memory-controller-drv-6.2' of... · 9e549c76
      Arnd Bergmann authored
      Merge tag 'memory-controller-drv-6.2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl into arm/drivers
      
      Memory controller drivers for v6.2
      
      1. STM32 FMC2:
         a. Correct in bindings the name of property for address
            setup duration. The DTS and driver were already using proper name,
            so it is only alignment of bindings with real usage.
         b. Split off STM32 memory controller bus peripheral properties into
            generic ones (re-usable by multiple memory controllers) and STM32 bus
            peripheral.  This way, the FMC2 controller properties in Micrel
            KSZ8851MLL ethernet controller node can be properly validated.
      
      2. Tegra MC: simplify with DEFINE_SHOW_ATTRIBUTE.
      
      3. Renesas RPC IF: add suppor tfor R-Car Gen4.
      
      4. LPDDR bindings: refactor and extend with description of DDR channels.
         Add also bindings for LPDDR4 and LPDDR5.
      
      The rationale for (4) above - LPDDR bindings changes, wrote by Julius Werner:
      
      "We (Chromium OS) have been trying to find a way to pass LPDDR memory
      chip information that is available to the firmware through the FDT
      (mostly for userspace informational purposes, for now). We have been
      using and expanding the existing "jedec,lpddr2" and "jedec,lpddr3"
      bindings for this (e.g. [1]). The goal is to be able to identify the
      memory layout of the system (how the parts look like, how they're tied
      together, how much capacity there is in total) as accurately as
      possible from software-probed values.
      
      ...
      
      The problem with this is that each individual LPDDR chip has its own
      set of mode registers (per rank) that only describe the density of
      that particular chip (rank). The host memory controller may have
      multiple channels (each of which is basically an entirely separate set
      of physical LPDDR pins on the board), a single channel may be
      connected to multiple LPDDR chips (e.g. if the memory controller has
      an outgoing 32-bit channel, that channel could be tied to two 16-bit
      LPDDR chips by tying the low 16 bits to one and the high 16 bits to
      the other), and then each of those chips may offer multiple
      independent ranks (which rank is being accessed at a given time is
      controlled by a separate chip select pin).
      
      So if we just have one "io-width" and one "density" field in the FDT,
      there's no way to figure out how much memory there's actually
      connected in total, because that only describes a single LPDDR chip.
      Worse, there may be chips where different ranks have different
      densities (e.g. a 6GB dual-rank chip with one 4GB and one 2GB rank),
      and different channels could theoretically be connected to chips of
      completely different manufacturers."
      
      Link: https://lore.kernel.org/r/CAODwPW9E8wWwxbYKyf4_-JFb4F-JSmLR3qOF_iudjX0f9ndF0A@mail.gmail.com
      
      * tag 'memory-controller-drv-6.2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl:
        dt-bindings: memory-controller: st,stm32: Split off MC properties
        dt-bindings: memory: Add jedec,lpddrX-channel binding
        dt-bindings: memory: Add jedec,lpddr4 and jedec,lpddr5 bindings
        dt-bindings: memory: Add numeric LPDDR compatible string variant
        dt-bindings: memory: Factor out common properties of LPDDR bindings
        memory: renesas-rpc-if: Add support for R-Car Gen4
        memory: renesas-rpc-if: Clear HS bit during hardware initialization
        dt-bindings: memory: renesas,rpc-if: Document R-Car V4H support
        memory: tegra186-emc: use DEFINE_SHOW_ATTRIBUTE to simplify code
        memory: tegra210-emc: use DEFINE_SHOW_ATTRIBUTE to simplify code
        memory: tegra30-emc: use DEFINE_SHOW_ATTRIBUTE to simplify code
        memory: tegra20-emc: use DEFINE_SHOW_ATTRIBUTE to simplify code
        dt-bindings: memory-controller: st,stm32: Fix st,fmc2_ebi-cs-write-address-setup-ns
      
      Link: https://lore.kernel.org/r/20221026171354.51877-1-krzysztof.kozlowski@linaro.org
      
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      9e549c76
  3. Nov 01, 2022
    • Linus Walleij's avatar
      soc: fsl: qe: Avoid using gpio_to_desc() · 84582f9e
      Linus Walleij authored
      
      
      The qe gpio driver is a custom API combined GPIO and pin control
      driver that exist outside of the pin control subsystem for historical
      reasons.
      
      We want to get rid of the old GPIO numberspace, so instead of
      calling gpio_to_desc() we get the gpio descriptor for the requested
      line from the device tree directly without passing through the
      GPIO numberspace, and then we get the gpiochip from the descriptor.
      
      Using the reference counting inside the gpio descriptor we can drop
      the reference counting code in this driver. A second gpiod_get()
      will not succeed.
      
      To obtain the local hardware offset of the GPIO line, the driver
      need to include the header from the gpiolib internals. This isn't
      pretty but it is the lesser evil compared to keeping the code
      as a roadblock to gpiolib refactoring. A proper solution would be
      to rewrite the driver as a real pin control driver with a
      built-in gpio_chip.
      
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Cc: Bartosz Golaszewski <brgl@bgdev.pl>
      Cc: linux-gpio@vger.kernel.org
      Link: https://lore.kernel.org/r/20221027081108.174662-1-linus.walleij@linaro.org
      
      '
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      84582f9e
  4. Oct 24, 2022
  5. Oct 23, 2022
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v6.1-rc2' of... · d47136c2
      Linus Torvalds authored
      Merge tag 'hwmon-for-v6.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon fixes from Guenter Roeck:
      
       - corsair-psu: Fix typo in USB id description, and add USB ID for new
         PSU
      
       - pwm-fan: Fix fan power handling when disabling fan control
      
      * tag 'hwmon-for-v6.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (corsair-psu) Add USB id of the new HX1500i psu
        hwmon: (pwm-fan) Explicitly switch off fan power when setting pwm1_enable to 0
        hwmon: (corsair-psu) fix typo in USB id description
      d47136c2
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · cda5d920
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "RPM fix for qcom-cci, platform module alias for xiic, build warning
        fix for mlxbf, typo fixes in comments"
      
      * tag 'i2c-for-6.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: mlxbf: depend on ACPI; clean away ifdeffage
        i2c: fix spelling typos in comments
        i2c: qcom-cci: Fix ordering of pm_runtime_xx and i2c_add_adapter
        i2c: xiic: Add platform module alias
      cda5d920
    • Linus Torvalds's avatar
      Merge tag 'pci-v6.1-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · fd79882f
      Linus Torvalds authored
      Pull pci fixes from Bjorn Helgaas:
      
       - Revert a simplification that broke pci-tegra due to a masking error
      
       - Update MAINTAINERS for Kishon's email address change and TI
         DRA7XX/J721E maintainer change
      
      * tag 'pci-v6.1-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        MAINTAINERS: Update Kishon's email address in PCI endpoint subsystem
        MAINTAINERS: Add Vignesh Raghavendra as maintainer of TI DRA7XX/J721E PCI driver
        Revert "PCI: tegra: Use PCI_CONF1_EXT_ADDRESS() macro"
      fd79882f
    • Linus Torvalds's avatar
      Merge tag 'media/v6.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 3272eb1a
      Linus Torvalds authored
      Pull missed media updates from Mauro Carvalho Chehab:
       "It seems I screwed-up my previous pull request: it ends up that only
        half of the media patches that were in linux-next got merged in -rc1.
      
        The script which creates the signed tags silently failed due to
        5.19->6.0 so it ended generating a tag with incomplete stuff.
      
        So here are the missing parts:
      
         - a DVB core security fix
      
         - lots of fixes and cleanups for atomisp staging driver
      
         - old drivers that are VB1 are being moved to staging to be
           deprecated
      
         - several driver updates - mostly for embedded systems, but there are
           also some things addressing issues with some PC webcams, in the UVC
           video driver"
      
      * tag 'media/v6.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (163 commits)
        media: sun6i-csi: Move csi buffer definition to main header file
        media: sun6i-csi: Introduce and use video helper functions
        media: sun6i-csi: Add media ops with link notify callback
        media: sun6i-csi: Remove controls handler from the driver
        media: sun6i-csi: Register the media device after creation
        media: sun6i-csi: Pass and store csi device directly in video code
        media: sun6i-csi: Tidy up video code
        media: sun6i-csi: Tidy up v4l2 code
        media: sun6i-csi: Tidy up Kconfig
        media: sun6i-csi: Use runtime pm for clocks and reset
        media: sun6i-csi: Define and use variant to get module clock rate
        media: sun6i-csi: Always set exclusive module clock rate
        media: sun6i-csi: Tidy up platform code
        media: sun6i-csi: Refactor main driver data structures
        media: sun6i-csi: Define and use driver name and (reworked) description
        media: cedrus: Add a Kconfig dependency on RESET_CONTROLLER
        media: sun8i-rotate: Add a Kconfig dependency on RESET_CONTROLLER
        media: sun8i-di: Add a Kconfig dependency on RESET_CONTROLLER
        media: sun4i-csi: Add a Kconfig dependency on RESET_CONTROLLER
        media: sun6i-csi: Add a Kconfig dependency on RESET_CONTROLLER
        ...
      3272eb1a
  6. Oct 22, 2022