]> Git Repo - linux.git/commitdiff
Merge tag 'phy-for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux...
authorGreg Kroah-Hartman <[email protected]>
Wed, 9 Dec 2020 13:26:40 +0000 (14:26 +0100)
committerGreg Kroah-Hartman <[email protected]>
Wed, 9 Dec 2020 13:26:40 +0000 (14:26 +0100)
Vinod writes:

phy-for-5.11

 - New phy drivers:
   - Mediatek MT7621 PCIe PHY (promoted from staging)
   - Ingenic USB phy driver supporting JZ4775 and X2000
   - Intel Keem Bay USB PHY driver
   - Marvell USB HSIC PHY driver supporting MMP3 SoC
   - AXG MIPI D-PHY driver

 - Updates:
   - Conversion to YAML binding for:
- Broadcom SATA PHY
- Cadence Sierra PHY bindings
- STM32 USBC Phy
   - Support for Exynos5433 PCIe PHY
   - Support for Qualcomm SM8250 PCIe QMP PHY
   - Support for Exynos5420 USB2 phy
   - devm_platform_ioremap_resource conversion for bunch of drivers

* tag 'phy-for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy: (72 commits)
  drm/mediatek: avoid dereferencing a null hdmi_phy on an error message
  phy: ingenic: depend on HAS_IOMEM
  phy: mediatek: statify mtk_hdmi_phy_driver
  dt-bindings: phy: Convert Broadcom SATA PHY to YAML
  devicetree: phy: rockchip-emmc add output-tapdelay-select
  phy: rockchip-emmc: output tap delay dt property
  PHY: Ingenic: Add USB PHY driver using generic PHY framework.
  dt-bindings: USB: Add bindings for Ingenic JZ4775 and X2000.
  USB: PHY: JZ4770: Remove unnecessary function calls.
  devicetree: phy: rockchip-emmc: pulldown property
  phy: rockchip: set pulldown for strobe line in dts
  phy: renesas: rcar-gen3-usb2: disable runtime pm in case of failure
  phy: mediatek: allow compile-testing the hdmi phy
  phy/rockchip: Make PHY_ROCKCHIP_INNO_HDMI depend on HAS_IOMEM to fix build error
  phy: samsung: Merge Kconfig for Exynos5420 and Exynos5250
  phy: ralink: phy-mt7621-pci: set correct name in MODULE_DEVICE_TABLE macro
  phy: ralink: phy-mt7621-pci: drop 'COMPILE_TEST' from Kconfig
  phy: mediatek: Make PHY_MTK_{XSPHY, TPHY} depend on HAS_IOMEM and OF_ADDRESS to fix build errors
  phy: tegra: xusb: Fix usb_phy device driver field
  phy: amlogic: replace devm_reset_control_array_get()
  ...

1  2 
MAINTAINERS
drivers/phy/intel/Kconfig
drivers/phy/mediatek/Kconfig
drivers/phy/qualcomm/phy-qcom-qmp.c
drivers/phy/tegra/xusb.c

diff --combined MAINTAINERS
index 28c1ca1f298e651f4264f5565f5f6b5cc0e89026,c07967b9a654f7aeac8fea628a3de097f89490a4..f3d86f1ea6cb9b4d491f17952be31523ec185427
@@@ -934,7 -934,7 +934,7 @@@ M: Evan Quan <[email protected]
  L:    [email protected]
  S:    Supported
  T:    git git://people.freedesktop.org/~agd5f/linux
 -F:    drivers/gpu/drm/amd/powerplay/
 +F:    drivers/gpu/drm/amd/pm/powerplay/
  
  AMD SEATTLE DEVICE TREE SUPPORT
  M:    Brijesh Singh <[email protected]>
@@@ -978,7 -978,7 +978,7 @@@ M: Michael Hennerich <Michael.Hennerich
  L:    [email protected]
  S:    Supported
  W:    http://ez.analog.com/community/linux-device-drivers
 -F:    Documentation/devicetree/bindings/iio/adc/adi,ad7768-1.txt
 +F:    Documentation/devicetree/bindings/iio/adc/adi,ad7768-1.yaml
  F:    drivers/iio/adc/ad7768-1.c
  
  ANALOG DEVICES INC AD7780 DRIVER
@@@ -1279,7 -1279,7 +1279,7 @@@ M:      Igor Russkikh <[email protected]
  L:    [email protected]
  S:    Supported
  W:    https://www.marvell.com/
 -Q:    http://patchwork.ozlabs.org/project/netdev/list/
 +Q:    https://patchwork.kernel.org/project/netdevbpf/list/
  F:    Documentation/networking/device_drivers/ethernet/aquantia/atlantic.rst
  F:    drivers/net/ethernet/aquantia/atlantic/
  
@@@ -1546,7 -1546,6 +1546,7 @@@ F:      drivers/clk/sunxi
  ARM/Allwinner sunXi SoC support
  M:    Maxime Ripard <[email protected]>
  M:    Chen-Yu Tsai <[email protected]>
 +R:    Jernej Skrabec <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux.git
@@@ -1724,13 -1723,11 +1724,13 @@@ F:   arch/arm/mach-ep93xx/micro9.
  
  ARM/CORESIGHT FRAMEWORK AND DRIVERS
  M:    Mathieu Poirier <[email protected]>
 -R:    Suzuki K Poulose <[email protected]>
 +M:    Suzuki K Poulose <[email protected]>
  R:    Mike Leach <[email protected]>
 +R:    Leo Yan <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/coresight/linux.git
  F:    Documentation/ABI/testing/sysfs-bus-coresight-devices-*
  F:    Documentation/devicetree/bindings/arm/coresight-cpu-debug.txt
  F:    Documentation/devicetree/bindings/arm/coresight-cti.yaml
@@@ -1997,6 -1994,7 +1997,6 @@@ N:      lpc18x
  
  ARM/LPC32XX SOC SUPPORT
  M:    Vladimir Zapolskiy <[email protected]>
 -M:    Sylvain Lemieux <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  T:    git git://github.com/vzapolskiy/linux-lpc32xx.git
@@@ -2014,6 -2012,7 +2014,6 @@@ M:      Philipp Zabel <[email protected]
  S:    Maintained
  
  ARM/Marvell Dove/MV78xx0/Orion SOC support
 -M:    Jason Cooper <[email protected]>
  M:    Andrew Lunn <[email protected]>
  M:    Sebastian Hesselbarth <[email protected]>
  M:    Gregory Clement <[email protected]>
@@@ -2030,6 -2029,7 +2030,6 @@@ F:      arch/arm/plat-orion
  F:    drivers/soc/dove/
  
  ARM/Marvell Kirkwood and Armada 370, 375, 38x, 39x, XP, 3700, 7K/8K, CN9130 SOC support
 -M:    Jason Cooper <[email protected]>
  M:    Andrew Lunn <[email protected]>
  M:    Gregory Clement <[email protected]>
  M:    Sebastian Hesselbarth <[email protected]>
@@@ -2374,7 -2374,8 +2374,7 @@@ F:      drivers/i2c/busses/i2c-rk3x.
  F:    sound/soc/rockchip/
  N:    rockchip
  
 -ARM/SAMSUNG EXYNOS ARM ARCHITECTURES
 -M:    Kukjin Kim <[email protected]>
 +ARM/SAMSUNG S3C, S5P AND EXYNOS ARM ARCHITECTURES
  M:    Krzysztof Kozlowski <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  L:    [email protected]
@@@ -2403,7 -2404,15 +2403,7 @@@ N:     s3c241
  N:    s3c64xx
  N:    s5pv210
  
 -ARM/SAMSUNG MOBILE MACHINE SUPPORT
 -M:    Kyungmin Park <[email protected]>
 -L:    [email protected] (moderated for non-subscribers)
 -S:    Maintained
 -F:    arch/arm/mach-s5pv210/
 -
  ARM/SAMSUNG S5P SERIES 2D GRAPHICS ACCELERATION (G2D) SUPPORT
 -M:    Kyungmin Park <[email protected]>
 -M:    Kamil Debski <[email protected]>
  M:    Andrzej Hajda <[email protected]>
  L:    [email protected]
  L:    [email protected]
@@@ -2428,6 -2437,9 +2428,6 @@@ S:      Maintaine
  F:    drivers/media/platform/s5p-jpeg/
  
  ARM/SAMSUNG S5P SERIES Multi Format Codec (MFC) SUPPORT
 -M:    Kyungmin Park <[email protected]>
 -M:    Kamil Debski <[email protected]>
 -M:    Jeongtae Park <[email protected]>
  M:    Andrzej Hajda <[email protected]>
  L:    [email protected]
  L:    [email protected]
@@@ -2630,8 -2642,10 +2630,8 @@@ F:     drivers/pinctrl/visconti
  N:    visconti
  
  ARM/UNIPHIER ARCHITECTURE
 -M:    Masahiro Yamada <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
 -S:    Maintained
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier.git
 +S:    Orphan
  F:    Documentation/devicetree/bindings/arm/socionext/uniphier.yaml
  F:    Documentation/devicetree/bindings/gpio/socionext,uniphier-gpio.yaml
  F:    Documentation/devicetree/bindings/pinctrl/socionext,uniphier-pinctrl.yaml
@@@ -3232,10 -3246,10 +3232,10 @@@ F:   drivers/iio/accel/bma400
  BPF (Safe dynamic programs and tools)
  M:    Alexei Starovoitov <[email protected]>
  M:    Daniel Borkmann <[email protected]>
 +M:    Andrii Nakryiko <[email protected]>
  R:    Martin KaFai Lau <[email protected]>
  R:    Song Liu <[email protected]>
  R:    Yonghong Song <[email protected]>
 -R:    Andrii Nakryiko <[email protected]>
  R:    John Fastabend <[email protected]>
  R:    KP Singh <[email protected]>
  L:    [email protected]
@@@ -3355,17 -3369,6 +3355,17 @@@ S:    Supporte
  F:    arch/x86/net/
  X:    arch/x86/net/bpf_jit_comp32.c
  
 +BPF LSM (Security Audit and Enforcement using BPF)
 +M:    KP Singh <[email protected]>
 +R:    Florent Revest <[email protected]>
 +R:    Brendan Jackman <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/bpf/bpf_lsm.rst
 +F:    include/linux/bpf_lsm.h
 +F:    kernel/bpf/bpf_lsm.c
 +F:    security/bpf/
 +
  BROADCOM B44 10/100 ETHERNET DRIVER
  M:    Michael Chan <[email protected]>
  L:    [email protected]
@@@ -3538,12 -3541,11 +3538,12 @@@ BROADCOM BRCM80211 IEEE802.11n WIRELES
  M:    Arend van Spriel <[email protected]>
  M:    Franky Lin <[email protected]>
  M:    Hante Meuleman <[email protected]>
 -M:    Chi-Hsien Lin <[email protected]>
 -M:    Wright Feng <[email protected]>
 +M:    Chi-hsien Lin <[email protected]>
 +M:    Wright Feng <[email protected]>
 +M:    Chung-hsien Hsu <[email protected]>
  L:    [email protected]
  L:    [email protected]
 -L:    brcm80211-dev-list@cypress.com
 +L:    SHA-cyfmac-dev-list@infineon.com
  S:    Supported
  F:    drivers/net/wireless/broadcom/brcm80211/
  
@@@ -3858,7 -3860,7 +3858,7 @@@ M:      Roger Quadros <[email protected]
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb.git
 -F:    Documentation/devicetree/bindings/usb/cdns-usb3.txt
 +F:    Documentation/devicetree/bindings/usb/cdns,usb3.yaml
  F:    drivers/usb/cdns3/
  
  CADET FM/AM RADIO RECEIVER DRIVER
@@@ -4285,7 -4287,6 +4285,7 @@@ B:      https://github.com/ClangBuiltLinux/l
  C:    irc://chat.freenode.net/clangbuiltlinux
  F:    Documentation/kbuild/llvm.rst
  F:    scripts/clang-tools/
 +F:    scripts/lld-version.sh
  K:    \b(?i:clang|llvm)\b
  
  CLEANCACHE API
@@@ -4712,7 -4713,7 +4712,7 @@@ T:      git git://linuxtv.org/anttip/media_t
  F:    drivers/media/dvb-frontends/cxd2820r*
  
  CXGB3 ETHERNET DRIVER (CXGB3)
 -M:    Vishal Kulkarni <vishal@chelsio.com>
 +M:    Raju Rangoju <rajur@chelsio.com>
  L:    [email protected]
  S:    Supported
  W:    http://www.chelsio.com
@@@ -4744,7 -4745,7 +4744,7 @@@ W:      http://www.chelsio.co
  F:    drivers/net/ethernet/chelsio/inline_crypto/
  
  CXGB4 ETHERNET DRIVER (CXGB4)
 -M:    Vishal Kulkarni <vishal@chelsio.com>
 +M:    Raju Rangoju <rajur@chelsio.com>
  L:    [email protected]
  S:    Supported
  W:    http://www.chelsio.com
@@@ -4766,7 -4767,7 +4766,7 @@@ F:      drivers/infiniband/hw/cxgb4
  F:    include/uapi/rdma/cxgb4-abi.h
  
  CXGB4VF ETHERNET DRIVER (CXGB4VF)
 -M:    Vishal Kulkarni <vishal@gmail.com>
 +M:    Raju Rangoju <rajur@chelsio.com>
  L:    [email protected]
  S:    Supported
  W:    http://www.chelsio.com
@@@ -5005,8 -5006,9 +5005,8 @@@ T:      git git://linuxtv.org/media_tree.gi
  F:    drivers/media/platform/sti/delta
  
  DENALI NAND DRIVER
 -M:    Masahiro Yamada <[email protected]>
  L:    [email protected]
 -S:    Supported
 +S:    Orphan
  F:    drivers/mtd/nand/raw/denali*
  
  DESIGNWARE EDMA CORE IP DRIVER
@@@ -6616,7 -6618,6 +6616,7 @@@ Q:      http://patchwork.ozlabs.org/project/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git
  F:    Documentation/filesystems/ext4/
  F:    fs/ext4/
 +F:    include/trace/events/ext4.h
  
  Extended Verification Module (EVM)
  M:    Mimi Zohar <[email protected]>
@@@ -7700,9 -7701,9 +7700,9 @@@ F:      drivers/clocksource/h8300_*.
  F:    drivers/irqchip/irq-renesas-h8*.c
  
  HABANALABS PCI DRIVER
 -M:    Oded Gabbay <o[email protected]>
 +M:    Oded Gabbay <o[email protected]>
  S:    Supported
 -T:    git https://github.com/HabanaAI/linux.git
 +T:    git https://git.kernel.org/pub/scm/linux/kernel/git/ogabbay/linux.git
  F:    Documentation/ABI/testing/debugfs-driver-habanalabs
  F:    Documentation/ABI/testing/sysfs-driver-habanalabs
  F:    drivers/misc/habanalabs/
@@@ -7919,7 -7920,7 +7919,7 @@@ HISILICON LPC BUS DRIVE
  M:    [email protected]
  S:    Maintained
  W:    http://www.hisilicon.com
 -F:    Documentation/devicetree/bindings/arm/hisilicon/hisilicon-low-pin-count.txt
 +F:    Documentation/devicetree/bindings/arm/hisilicon/low-pin-count.yaml
  F:    drivers/bus/hisi_lpc.c
  
  HISILICON NETWORK SUBSYSTEM 3 DRIVER (HNS3)
@@@ -8832,8 -8833,8 +8832,8 @@@ S:      Supporte
  W:    http://www.intel.com/support/feedback.htm
  W:    http://e1000.sourceforge.net/
  Q:    http://patchwork.ozlabs.org/project/intel-wired-lan/list/
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-queue.git
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue.git
  F:    Documentation/networking/device_drivers/ethernet/intel/
  F:    drivers/net/ethernet/intel/
  F:    drivers/net/ethernet/intel/*/
@@@ -8975,6 -8976,22 +8975,6 @@@ S:     Supporte
  W:    https://01.org/linux-acpi
  F:    drivers/platform/x86/intel_menlow.c
  
 -INTEL MIC DRIVERS (mic)
 -M:    Sudeep Dutt <[email protected]>
 -M:    Ashutosh Dixit <[email protected]>
 -S:    Supported
 -W:    https://github.com/sudeepdutt/mic
 -W:    http://software.intel.com/en-us/mic-developer
 -F:    Documentation/misc-devices/mic/
 -F:    drivers/dma/mic_x100_dma.c
 -F:    drivers/dma/mic_x100_dma.h
 -F:    drivers/misc/mic/
 -F:    include/linux/mic_bus.h
 -F:    include/linux/scif.h
 -F:    include/uapi/linux/mic_common.h
 -F:    include/uapi/linux/mic_ioctl.h
 -F:    include/uapi/linux/scif_ioctl.h
 -
  INTEL P-Unit IPC DRIVER
  M:    Zha Qipeng <[email protected]>
  L:    [email protected]
@@@ -9079,7 -9096,10 +9079,7 @@@ S:     Supporte
  F:    drivers/net/wireless/intel/iwlegacy/
  
  INTEL WIRELESS WIFI LINK (iwlwifi)
 -M:    Johannes Berg <[email protected]>
 -M:    Emmanuel Grumbach <[email protected]>
  M:    Luca Coelho <[email protected]>
 -M:    Intel Linux Wireless <[email protected]>
  L:    [email protected]
  S:    Supported
  W:    https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi
@@@ -9171,7 -9191,6 +9171,7 @@@ F:      include/linux/iomap.
  
  IOMMU DRIVERS
  M:    Joerg Roedel <[email protected]>
 +M:    Will Deacon <[email protected]>
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git
@@@ -9255,6 -9274,7 +9255,6 @@@ F:      kernel/irq
  
  IRQCHIP DRIVERS
  M:    Thomas Gleixner <[email protected]>
 -M:    Jason Cooper <[email protected]>
  M:    Marc Zyngier <[email protected]>
  L:    [email protected]
  S:    Maintained
@@@ -9654,7 -9674,6 +9654,7 @@@ F:      Documentation/virt/kvm/s390
  F:    arch/s390/include/asm/gmap.h
  F:    arch/s390/include/asm/kvm*
  F:    arch/s390/include/uapi/asm/kvm*
 +F:    arch/s390/kernel/uv.c
  F:    arch/s390/kvm/
  F:    arch/s390/mm/gmap.c
  F:    tools/testing/selftests/kvm/*/s390x/
@@@ -9843,6 -9862,13 +9843,6 @@@ S:     Maintaine
  F:    arch/mips/lantiq
  F:    drivers/soc/lantiq
  
 -LAPB module
 -L:    [email protected]
 -S:    Orphan
 -F:    Documentation/networking/lapb-module.rst
 -F:    include/*/lapb.h
 -F:    net/lapb/
 -
  LASI 53c700 driver for PARISC
  M:    "James E.J. Bottomley" <[email protected]>
  L:    [email protected]
@@@ -11082,6 -11108,12 +11082,12 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/i2c/i2c-mt7621.txt
  F:    drivers/i2c/busses/i2c-mt7621.c
  
+ MEDIATEK MT7621 PHY PCI DRIVER
+ M:    Sergio Paracuellos <[email protected]>
+ S:    Maintained
+ F:    Documentation/devicetree/bindings/phy/mediatek,mt7621-pci-phy.yaml
+ F:    drivers/phy/ralink/phy-mt7621-pci.c
  MEDIATEK NAND CONTROLLER DRIVER
  L:    [email protected]
  S:    Orphan
@@@ -11157,7 -11189,7 +11163,7 @@@ F:   Documentation/devicetree/bindings/in
  F:    drivers/input/touchscreen/melfas_mip4.c
  
  MELLANOX BLUEFIELD I2C DRIVER
 -M:    Khalil Blaiech <kblaiech@mellanox.com>
 +M:    Khalil Blaiech <kblaiech@nvidia.com>
  L:    [email protected]
  S:    Supported
  F:    drivers/i2c/busses/i2c-mlxbf.c
@@@ -11167,7 -11199,7 +11173,7 @@@ M:   Tariq Toukan <[email protected]
  L:    [email protected]
  S:    Supported
  W:    http://www.mellanox.com
 -Q:    http://patchwork.ozlabs.org/project/netdev/list/
 +Q:    https://patchwork.kernel.org/project/netdevbpf/list/
  F:    drivers/net/ethernet/mellanox/mlx4/en_*
  
  MELLANOX ETHERNET DRIVER (mlx5e)
@@@ -11175,7 -11207,7 +11181,7 @@@ M:   Saeed Mahameed <[email protected]
  L:    [email protected]
  S:    Supported
  W:    http://www.mellanox.com
 -Q:    http://patchwork.ozlabs.org/project/netdev/list/
 +Q:    https://patchwork.kernel.org/project/netdevbpf/list/
  F:    drivers/net/ethernet/mellanox/mlx5/core/en_*
  
  MELLANOX ETHERNET INNOVA DRIVERS
@@@ -11183,7 -11215,7 +11189,7 @@@ R:   Boris Pismenny <[email protected]
  L:    [email protected]
  S:    Supported
  W:    http://www.mellanox.com
 -Q:    http://patchwork.ozlabs.org/project/netdev/list/
 +Q:    https://patchwork.kernel.org/project/netdevbpf/list/
  F:    drivers/net/ethernet/mellanox/mlx5/core/accel/*
  F:    drivers/net/ethernet/mellanox/mlx5/core/en_accel/*
  F:    drivers/net/ethernet/mellanox/mlx5/core/fpga/*
@@@ -11195,7 -11227,7 +11201,7 @@@ M:   Ido Schimmel <[email protected]
  L:    [email protected]
  S:    Supported
  W:    http://www.mellanox.com
 -Q:    http://patchwork.ozlabs.org/project/netdev/list/
 +Q:    https://patchwork.kernel.org/project/netdevbpf/list/
  F:    drivers/net/ethernet/mellanox/mlxsw/
  F:    tools/testing/selftests/drivers/net/mlxsw/
  
  L:    [email protected]
  S:    Supported
  W:    http://www.mellanox.com
 -Q:    http://patchwork.ozlabs.org/project/netdev/list/
 +Q:    https://patchwork.kernel.org/project/netdevbpf/list/
  F:    drivers/net/ethernet/mellanox/mlxfw/
  
  MELLANOX HARDWARE PLATFORM SUPPORT
  L:    [email protected]
  S:    Supported
  W:    http://www.mellanox.com
 -Q:    http://patchwork.ozlabs.org/project/netdev/list/
 +Q:    https://patchwork.kernel.org/project/netdevbpf/list/
  F:    drivers/net/ethernet/mellanox/mlx4/
  F:    include/linux/mlx4/
  
  L:    [email protected]
  S:    Supported
  W:    http://www.mellanox.com
 -Q:    http://patchwork.ozlabs.org/project/netdev/list/
 +Q:    https://patchwork.kernel.org/project/netdevbpf/list/
  F:    Documentation/networking/device_drivers/ethernet/mellanox/
  F:    drivers/net/ethernet/mellanox/mlx5/core/
  F:    include/linux/mlx5/
@@@ -12124,7 -12156,7 +12130,7 @@@ M:   Jakub Kicinski <[email protected]
  L:    [email protected]
  S:    Maintained
  W:    http://www.linuxfoundation.org/en/Net
 -Q:    http://patchwork.ozlabs.org/project/netdev/list/
 +Q:    https://patchwork.kernel.org/project/netdevbpf/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git
  F:    Documentation/devicetree/bindings/net/
@@@ -12169,7 -12201,7 +12175,7 @@@ M:   Jakub Kicinski <[email protected]
  L:    [email protected]
  S:    Maintained
  W:    http://www.linuxfoundation.org/en/Net
 -Q:    http://patchwork.ozlabs.org/project/netdev/list/
 +Q:    https://patchwork.kernel.org/project/netdevbpf/list/
  B:    mailto:[email protected]
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git
@@@ -13170,9 -13202,7 +13176,9 @@@ M:   Jesper Dangaard Brouer <hawk@kernel.
  M:    Ilias Apalodimas <[email protected]>
  L:    [email protected]
  S:    Supported
 +F:    Documentation/networking/page_pool.rst
  F:    include/net/page_pool.h
 +F:    include/trace/events/page_pool.h
  F:    net/core/page_pool.c
  
  PANASONIC LAPTOP ACPI EXTRAS DRIVER
@@@ -13400,6 -13430,7 +13406,6 @@@ F:   drivers/pci/controller/mobiveil/pcie
  
  PCI DRIVER FOR MVEBU (Marvell Armada 370 and Armada XP SOC support)
  M:    Thomas Petazzoni <[email protected]>
 -M:    Jason Cooper <[email protected]>
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
@@@ -14205,6 -14236,7 +14211,6 @@@ F:   drivers/media/usb/pwc/
  F:    include/trace/events/pwc.h
  
  PWM FAN DRIVER
 -M:    Kamil Debski <[email protected]>
  M:    Bartlomiej Zolnierkiewicz <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -14521,14 -14553,14 +14527,22 @@@ F:        Documentation/devicetree/bindings/ma
  F:    drivers/mailbox/qcom-ipcc.c
  F:    include/dt-bindings/mailbox/qcom-ipcc.h
  
+ QUALCOMM IPQ4019 USB PHY DRIVER
+ M:    Robert Marko <[email protected]>
+ M:    Luka Perkov <[email protected]>
+ L:    [email protected]
+ S:    Maintained
+ F:    Documentation/devicetree/bindings/phy/qcom-usb-ipq4019-phy.yaml
+ F:    drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
 +QUALCOMM IPQ4019 VQMMC REGULATOR DRIVER
 +M:    Robert Marko <[email protected]>
 +M:    Luka Perkov <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/regulator/vqmmc-ipq4019-regulator.yaml
 +F:    drivers/regulator/vqmmc-ipq4019-regulator.c
 +
  QUALCOMM RMNET DRIVER
  M:    Subash Abhinov Kasiviswanathan <[email protected]>
  M:    Sean Tranchetti <[email protected]>
@@@ -14813,7 -14845,7 +14827,7 @@@ T:   git git://git.kernel.org/pub/scm/lin
  F:    drivers/net/wireless/realtek/rtlwifi/
  
  REALTEK WIRELESS DRIVER (rtw88)
 -M:    Yan-Hsuan Chuang <yhchuang@realtek.com>
 +M:    Yan-Hsuan Chuang <tony0620emma@gmail.com>
  L:    [email protected]
  S:    Maintained
  F:    drivers/net/wireless/realtek/rtw88/
@@@ -14884,6 -14916,7 +14898,6 @@@ RENESAS ETHERNET DRIVER
  R:    Sergei Shtylyov <[email protected]>
  L:    [email protected]
  L:    [email protected]
 -F:    Documentation/devicetree/bindings/net/renesas,*.txt
  F:    Documentation/devicetree/bindings/net/renesas,*.yaml
  F:    drivers/net/ethernet/renesas/
  F:    include/linux/sh_eth.h
@@@ -15240,6 -15273,7 +15254,6 @@@ F:   drivers/iommu/s390-iommu.
  S390 IUCV NETWORK LAYER
  M:    Julian Wiedmann <[email protected]>
  M:    Karsten Graul <[email protected]>
 -M:    Ursula Braun <[email protected]>
  L:    [email protected]
  S:    Supported
  W:    http://www.ibm.com/developerworks/linux/linux390/
@@@ -15250,6 -15284,7 +15264,6 @@@ F:   net/iucv
  S390 NETWORK DRIVERS
  M:    Julian Wiedmann <[email protected]>
  M:    Karsten Graul <[email protected]>
 -M:    Ursula Braun <[email protected]>
  L:    [email protected]
  S:    Supported
  W:    http://www.ibm.com/developerworks/linux/linux390/
@@@ -15351,6 -15386,7 +15365,6 @@@ F:   security/safesetid
  
  SAMSUNG AUDIO (ASoC) DRIVERS
  M:    Krzysztof Kozlowski <[email protected]>
 -M:    Sangbeom Kim <[email protected]>
  M:    Sylwester Nawrocki <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Supported
  S:    Maintained
  F:    drivers/video/fbdev/s3c-fb.c
  
 +SAMSUNG INTERCONNECT DRIVERS
 +M:    Sylwester Nawrocki <[email protected]>
 +M:    Artur ÅšwigoÅ„ <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Supported
 +F:    drivers/interconnect/samsung/
 +
  SAMSUNG LAPTOP DRIVER
  M:    Corentin Chary <[email protected]>
  L:    [email protected]
@@@ -15393,6 -15421,7 +15407,6 @@@ S:   Maintaine
  F:    drivers/platform/x86/samsung-laptop.c
  
  SAMSUNG MULTIFUNCTION PMIC DEVICE DRIVERS
 -M:    Sangbeom Kim <[email protected]>
  M:    Krzysztof Kozlowski <[email protected]>
  M:    Bartlomiej Zolnierkiewicz <[email protected]>
  L:    [email protected]
@@@ -15426,12 -15455,14 +15440,12 @@@ F:        Documentation/devicetree/bindings/ne
  F:    drivers/nfc/s3fwrn5
  
  SAMSUNG S5C73M3 CAMERA DRIVER
 -M:    Kyungmin Park <[email protected]>
  M:    Andrzej Hajda <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    drivers/media/i2c/s5c73m3/*
  
  SAMSUNG S5K5BAF CAMERA DRIVER
 -M:    Kyungmin Park <[email protected]>
  M:    Andrzej Hajda <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -15449,6 -15480,7 +15463,6 @@@ F:   Documentation/devicetree/bindings/cr
  F:    drivers/crypto/s5p-sss.c
  
  SAMSUNG S5P/EXYNOS4 SOC SERIES CAMERA SUBSYSTEM DRIVERS
 -M:    Kyungmin Park <[email protected]>
  M:    Sylwester Nawrocki <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -15471,6 -15503,7 +15485,6 @@@ F:   include/linux/clk/samsung.
  F:    include/linux/platform_data/clk-s3c2410.h
  
  SAMSUNG SPI DRIVERS
 -M:    Kukjin Kim <[email protected]>
  M:    Krzysztof Kozlowski <[email protected]>
  M:    Andi Shyti <[email protected]>
  L:    [email protected]
@@@ -15496,6 -15529,7 +15510,6 @@@ T:   git https://github.com/lmajewski/lin
  F:    drivers/thermal/samsung/
  
  SAMSUNG USB2 PHY DRIVER
 -M:    Kamil Debski <[email protected]>
  M:    Sylwester Nawrocki <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -15794,8 -15828,9 +15808,8 @@@ F:   drivers/slimbus
  F:    include/linux/slimbus.h
  
  SFC NETWORK DRIVER
 -M:    Solarflare linux maintainers <[email protected]>
 -M:    Edward Cree <[email protected]>
 -M:    Martin Habets <[email protected]>
 +M:    Edward Cree <[email protected]>
 +M:    Martin Habets <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    drivers/net/ethernet/sfc/
@@@ -15823,6 -15858,7 +15837,6 @@@ S:   Maintaine
  F:    drivers/misc/sgi-xp/
  
  SHARED MEMORY COMMUNICATIONS (SMC) SOCKETS
 -M:    Ursula Braun <[email protected]>
  M:    Karsten Graul <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -18084,7 -18120,7 +18098,7 @@@ M:   Yu Chen <[email protected]
  M:    Binghui Wang <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/devicetree/bindings/phy/phy-hi3660-usb3.txt
 +F:    Documentation/devicetree/bindings/phy/hisilicon,hi3660-usb3.yaml
  F:    drivers/phy/hisilicon/phy-hi3660-usb3.c
  
  USB ISP116X DRIVER
  S:    Supported
  F:    drivers/usb/class/usblp.c
  
 +USB RAW GADGET DRIVER
 +R:    Andrey Konovalov <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/usb/raw-gadget.rst
 +F:    drivers/usb/gadget/legacy/raw_gadget.c
 +F:    include/uapi/linux/usb/raw_gadget.h
 +
  USB QMI WWAN NETWORK DRIVER
  M:    Bjørn Mork <[email protected]>
  L:    [email protected]
@@@ -19002,18 -19030,12 +19016,18 @@@ L:        [email protected]
  S:    Maintained
  N:    axp[128]
  
 -X.25 NETWORK LAYER
 -M:    Andrew Hendry <[email protected]>
 +X.25 STACK
 +M:    Martin Schiller <[email protected]>
  L:    [email protected]
 -S:    Odd Fixes
 +S:    Maintained
 +F:    Documentation/networking/lapb-module.rst
  F:    Documentation/networking/x25*
 +F:    drivers/net/wan/hdlc_x25.c
 +F:    drivers/net/wan/lapbether.c
 +F:    include/*/lapb.h
  F:    include/net/x25*
 +F:    include/uapi/linux/x25.h
 +F:    net/lapb/
  F:    net/x25/
  
  X86 ARCHITECTURE (32-BIT AND 64-BIT)
@@@ -19127,17 -19149,12 +19141,17 @@@ L:        [email protected]
  L:    [email protected]
  S:    Supported
  F:    include/net/xdp.h
 +F:    include/net/xdp_priv.h
  F:    include/trace/events/xdp.h
  F:    kernel/bpf/cpumap.c
  F:    kernel/bpf/devmap.c
  F:    net/core/xdp.c
 -N:    xdp
 -K:    xdp
 +F:    samples/bpf/xdp*
 +F:    tools/testing/selftests/bpf/*xdp*
 +F:    tools/testing/selftests/bpf/*/*xdp*
 +F:    drivers/net/ethernet/*/*/*/*/*xdp*
 +F:    drivers/net/ethernet/*/*/*xdp*
 +K:    (?:\b|_)xdp(?:\b|_)
  
  XDP SOCKETS (AF_XDP)
  M:    Björn Töpel <[email protected]>
@@@ -19146,12 -19163,9 +19160,12 @@@ R: Jonathan Lemon <jonathan.lemon@gmail
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
 +F:    Documentation/networking/af_xdp.rst
  F:    include/net/xdp_sock*
  F:    include/net/xsk_buff_pool.h
  F:    include/uapi/linux/if_xdp.h
 +F:    include/uapi/linux/xdp_diag.h
 +F:    include/net/netns/xdp.h
  F:    net/xdp/
  F:    samples/bpf/xdpsock*
  F:    tools/lib/bpf/xsk*
index 62c24764654b2e5d3eb13365e1beb421dd9aa69c,f72c699a3e02816c76b6c9cef185e04082121e5f..ac42bb2fb394d66f27f9145d6a0aff1cbf833ad5
@@@ -4,7 -4,7 +4,7 @@@
  #
  config PHY_INTEL_KEEMBAY_EMMC
        tristate "Intel Keem Bay EMMC PHY driver"
 -      depends on (OF && ARM64) || COMPILE_TEST
 +      depends on ARCH_KEEMBAY || COMPILE_TEST
        depends on HAS_IOMEM
        select GENERIC_PHY
        select REGMAP_MMIO
          To compile this driver as a module, choose M here: the module
          will be called phy-keembay-emmc.ko.
  
+ config PHY_INTEL_KEEMBAY_USB
+       tristate "Intel Keem Bay USB PHY driver"
+       depends on ARCH_KEEMBAY || COMPILE_TEST
+       depends on HAS_IOMEM
+       select GENERIC_PHY
+       select REGMAP_MMIO
+       help
+         Choose this option if you have an Intel Keem Bay SoC.
+         To compile this driver as a module, choose M here: the module
+         will be called phy-keembay-usb.ko.
  config PHY_INTEL_LGM_COMBO
        bool "Intel Lightning Mountain ComboPHY driver"
        depends on X86 || COMPILE_TEST
index c8126bde9d7ccebe51838888f7584d098d04cfb5,789614116f1dc103d6c70d9e8c2939698c1b92fe..29a85b2738f835a3ee75520919c9d40738f69f71
@@@ -5,14 -5,15 +5,15 @@@
  config PHY_MTK_TPHY
        tristate "MediaTek T-PHY Driver"
        depends on ARCH_MEDIATEK || COMPILE_TEST
-       depends on OF
+       depends on OF && OF_ADDRESS
+       depends on HAS_IOMEM
        select GENERIC_PHY
        help
          Say 'Y' here to add support for MediaTek T-PHY driver,
          it supports multiple usb2.0, usb3.0 ports, PCIe and
          SATA, and meanwhile supports two version T-PHY which have
          different banks layout, the T-PHY with shared banks between
 -        multi-ports is first version, otherwise is second veriosn,
 +        multi-ports is first version, otherwise is second version,
          so you can easily distinguish them by banks layout.
  
  config PHY_MTK_UFS
@@@ -29,7 -30,8 +30,8 @@@
  config PHY_MTK_XSPHY
        tristate "MediaTek XS-PHY Driver"
        depends on ARCH_MEDIATEK || COMPILE_TEST
-       depends on OF
+       depends on OF && OF_ADDRESS
+       depends on HAS_IOMEM
        select GENERIC_PHY
        help
          Enable this to support the SuperSpeedPlus XS-PHY transceiver for
@@@ -38,7 -40,9 +40,9 @@@
  
  config PHY_MTK_HDMI
        tristate "MediaTek HDMI-PHY Driver"
-       depends on ARCH_MEDIATEK && OF
+       depends on ARCH_MEDIATEK || COMPILE_TEST
+       depends on COMMON_CLK
+       depends on OF
        select GENERIC_PHY
        help
          Support HDMI PHY for Mediatek SoCs.
index 0cda16846962594a3a31407559d9893e4adace7a,5a941730377fbedbfe2ce9e83194aa879c286cef..0939a9e9d4484884105a5bf6939cc255d4eb5e3f
@@@ -217,6 -217,13 +217,13 @@@ static const unsigned int sdm845_ufsphy
        [QPHY_PCS_READY_STATUS]         = 0x160,
  };
  
+ static const unsigned int sm8250_pcie_regs_layout[QPHY_LAYOUT_SIZE] = {
+       [QPHY_SW_RESET]                 = 0x00,
+       [QPHY_START_CTRL]               = 0x44,
+       [QPHY_PCS_STATUS]               = 0x14,
+       [QPHY_PCS_POWER_DOWN_CONTROL]   = 0x40,
+ };
  static const unsigned int sm8150_ufsphy_regs_layout[QPHY_LAYOUT_SIZE] = {
        [QPHY_START_CTRL]               = QPHY_V4_PCS_UFS_PHY_START,
        [QPHY_PCS_READY_STATUS]         = QPHY_V4_PCS_UFS_READY_STATUS,
@@@ -1824,6 -1831,149 +1831,149 @@@ static const struct qmp_phy_init_tbl sm
        QMP_PHY_INIT_CFG(QPHY_V4_PCS_REFGEN_REQ_CONFIG1, 0x21),
  };
  
+ static const struct qmp_phy_init_tbl sm8250_qmp_pcie_serdes_tbl[] = {
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_SYSCLK_EN_SEL, 0x08),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_CLK_SELECT, 0x34),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_CORECLK_DIV_MODE1, 0x08),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_PLL_IVCO, 0x0f),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_LOCK_CMP_EN, 0x42),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_VCO_TUNE1_MODE0, 0x24),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_VCO_TUNE2_MODE1, 0x03),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_VCO_TUNE1_MODE1, 0xb4),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_VCO_TUNE_MAP, 0x02),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_BIN_VCOCAL_HSCLK_SEL, 0x11),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_DEC_START_MODE0, 0x82),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_DIV_FRAC_START3_MODE0, 0x03),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_DIV_FRAC_START2_MODE0, 0x55),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_DIV_FRAC_START1_MODE0, 0x55),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_LOCK_CMP2_MODE0, 0x1a),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_LOCK_CMP1_MODE0, 0x0a),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_DEC_START_MODE1, 0x68),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_DIV_FRAC_START3_MODE1, 0x02),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_DIV_FRAC_START2_MODE1, 0xaa),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_DIV_FRAC_START1_MODE1, 0xab),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_LOCK_CMP2_MODE1, 0x34),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_LOCK_CMP1_MODE1, 0x14),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_HSCLK_SEL, 0x01),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_CP_CTRL_MODE0, 0x06),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_PLL_RCTRL_MODE0, 0x16),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_PLL_CCTRL_MODE0, 0x36),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_CP_CTRL_MODE1, 0x06),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_PLL_RCTRL_MODE1, 0x16),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_PLL_CCTRL_MODE1, 0x36),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_BIN_VCOCAL_CMP_CODE2_MODE0, 0x1e),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_BIN_VCOCAL_CMP_CODE1_MODE0, 0xca),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_BIN_VCOCAL_CMP_CODE2_MODE1, 0x18),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_BIN_VCOCAL_CMP_CODE1_MODE1, 0xa2),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_SSC_EN_CENTER, 0x01),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_SSC_PER1, 0x31),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_SSC_PER2, 0x01),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_SSC_STEP_SIZE1_MODE0, 0xde),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_SSC_STEP_SIZE2_MODE0, 0x07),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_SSC_STEP_SIZE1_MODE1, 0x4c),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_SSC_STEP_SIZE2_MODE1, 0x06),
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_CLK_ENABLE1, 0x90),
+ };
+ static const struct qmp_phy_init_tbl sm8250_qmp_gen3x1_pcie_serdes_tbl[] = {
+       QMP_PHY_INIT_CFG(QSERDES_V4_COM_SYSCLK_BUF_ENABLE, 0x07),
+ };
+ static const struct qmp_phy_init_tbl sm8250_qmp_pcie_tx_tbl[] = {
+       QMP_PHY_INIT_CFG(QSERDES_V4_TX_RCV_DETECT_LVL_2, 0x12),
+       QMP_PHY_INIT_CFG(QSERDES_V4_TX_LANE_MODE_1, 0x35),
+       QMP_PHY_INIT_CFG(QSERDES_V4_TX_RES_CODE_LANE_OFFSET_TX, 0x11),
+ };
+ static const struct qmp_phy_init_tbl sm8250_qmp_pcie_rx_tbl[] = {
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_UCDR_FO_GAIN, 0x0c),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_UCDR_SO_GAIN, 0x03),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_GM_CAL, 0x1b),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_IDAC_TSETTLE_HIGH, 0x00),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_IDAC_TSETTLE_LOW, 0xc0),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_AUX_DATA_TCOARSE_TFINE, 0x30),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_VGA_CAL_CNTRL1, 0x04),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_VGA_CAL_CNTRL2, 0x07),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_UCDR_SO_SATURATION_AND_ENABLE, 0x7f),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_UCDR_PI_CONTROLS, 0x70),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_EQU_ADAPTOR_CNTRL2, 0x0e),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_EQU_ADAPTOR_CNTRL3, 0x4a),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_EQU_ADAPTOR_CNTRL4, 0x0f),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_SIGDET_CNTRL, 0x03),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_SIGDET_ENABLES, 0x1c),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_SIGDET_DEGLITCH_CNTRL, 0x1e),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_EQ_OFFSET_ADAPTOR_CNTRL1, 0x17),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_MODE_10_LOW, 0xd4),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_MODE_10_HIGH, 0x54),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_MODE_10_HIGH2, 0xdb),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_MODE_10_HIGH3, 0x3b),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_MODE_10_HIGH4, 0x31),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_MODE_01_LOW, 0x24),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_MODE_00_HIGH2, 0xff),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_MODE_00_HIGH3, 0x7f),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_DCC_CTRL1, 0x0c),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_MODE_01_HIGH, 0xe4),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_MODE_01_HIGH2, 0xec),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_MODE_01_HIGH3, 0x3b),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_MODE_01_HIGH4, 0x36),
+ };
+ static const struct qmp_phy_init_tbl sm8250_qmp_gen3x1_pcie_rx_tbl[] = {
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_RCLK_AUXDATA_SEL, 0x00),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_EQU_ADAPTOR_CNTRL1, 0x00),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_DFE_EN_TIMER, 0x04),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_MODE_00_LOW, 0x3f),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_MODE_00_HIGH4, 0x14),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_DFE_CTLE_POST_CAL_OFFSET, 0x30),
+ };
+ static const struct qmp_phy_init_tbl sm8250_qmp_pcie_pcs_tbl[] = {
+       QMP_PHY_INIT_CFG(QPHY_V4_PCS_P2U3_WAKEUP_DLY_TIME_AUXCLK_L, 0x01),
+       QMP_PHY_INIT_CFG(QPHY_V4_PCS_RX_SIGDET_LVL, 0x77),
+       QMP_PHY_INIT_CFG(QPHY_V4_PCS_RATE_SLEW_CNTRL1, 0x0b),
+ };
+ static const struct qmp_phy_init_tbl sm8250_qmp_gen3x1_pcie_pcs_tbl[] = {
+       QMP_PHY_INIT_CFG(QPHY_V4_PCS_REFGEN_REQ_CONFIG1, 0x0d),
+       QMP_PHY_INIT_CFG(QPHY_V4_PCS_EQ_CONFIG5, 0x12),
+ };
+ static const struct qmp_phy_init_tbl sm8250_qmp_pcie_pcs_misc_tbl[] = {
+       QMP_PHY_INIT_CFG(QPHY_V4_PCS_PCIE_OSC_DTCT_ACTIONS, 0x00),
+       QMP_PHY_INIT_CFG(QPHY_V4_PCS_PCIE_L1P1_WAKEUP_DLY_TIME_AUXCLK_L, 0x01),
+       QMP_PHY_INIT_CFG(QPHY_V4_PCS_PCIE_L1P2_WAKEUP_DLY_TIME_AUXCLK_L, 0x01),
+       QMP_PHY_INIT_CFG(QPHY_V4_PCS_PCIE_PRESET_P6_P7_PRE, 0x33),
+       QMP_PHY_INIT_CFG(QPHY_V4_PCS_PCIE_PRESET_P10_PRE, 0x00),
+       QMP_PHY_INIT_CFG(QPHY_V4_PCS_PCIE_PRESET_P10_POST, 0x58),
+       QMP_PHY_INIT_CFG(QPHY_V4_PCS_PCIE_ENDPOINT_REFCLK_DRIVE, 0xc1),
+ };
+ static const struct qmp_phy_init_tbl sm8250_qmp_gen3x1_pcie_pcs_misc_tbl[] = {
+       QMP_PHY_INIT_CFG(QPHY_V4_PCS_PCIE_INT_AUX_CLK_CONFIG1, 0x00),
+       QMP_PHY_INIT_CFG(QPHY_V4_PCS_PCIE_EQ_CONFIG2, 0x0f),
+ };
+ static const struct qmp_phy_init_tbl sm8250_qmp_gen3x2_pcie_tx_tbl[] = {
+       QMP_PHY_INIT_CFG(QSERDES_V4_TX_PI_QEC_CTRL, 0x20),
+ };
+ static const struct qmp_phy_init_tbl sm8250_qmp_gen3x2_pcie_rx_tbl[] = {
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_EQU_ADAPTOR_CNTRL1, 0x04),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_MODE_00_LOW, 0xbf),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_RX_MODE_00_HIGH4, 0x15),
+       QMP_PHY_INIT_CFG(QSERDES_V4_RX_DFE_CTLE_POST_CAL_OFFSET, 0x38),
+ };
+ static const struct qmp_phy_init_tbl sm8250_qmp_gen3x2_pcie_pcs_tbl[] = {
+       QMP_PHY_INIT_CFG(QPHY_V4_PCS_REFGEN_REQ_CONFIG1, 0x05),
+       QMP_PHY_INIT_CFG(QPHY_V4_PCS_EQ_CONFIG2, 0x0f),
+ };
+ static const struct qmp_phy_init_tbl sm8250_qmp_gen3x2_pcie_pcs_misc_tbl[] = {
+       QMP_PHY_INIT_CFG(QPHY_V4_PCS_PCIE_POWER_STATE_CONFIG2, 0x0d),
+       QMP_PHY_INIT_CFG(QPHY_V4_PCS_PCIE_POWER_STATE_CONFIG4, 0x07),
+ };
  /* struct qmp_phy_cfg - per-PHY initialization config */
  struct qmp_phy_cfg {
        /* phy-type - PCIE/UFS/USB */
        /* Init sequence for PHY blocks - serdes, tx, rx, pcs */
        const struct qmp_phy_init_tbl *serdes_tbl;
        int serdes_tbl_num;
+       const struct qmp_phy_init_tbl *serdes_tbl_sec;
+       int serdes_tbl_num_sec;
        const struct qmp_phy_init_tbl *tx_tbl;
        int tx_tbl_num;
+       const struct qmp_phy_init_tbl *tx_tbl_sec;
+       int tx_tbl_num_sec;
        const struct qmp_phy_init_tbl *rx_tbl;
        int rx_tbl_num;
+       const struct qmp_phy_init_tbl *rx_tbl_sec;
+       int rx_tbl_num_sec;
        const struct qmp_phy_init_tbl *pcs_tbl;
        int pcs_tbl_num;
+       const struct qmp_phy_init_tbl *pcs_tbl_sec;
+       int pcs_tbl_num_sec;
        const struct qmp_phy_init_tbl *pcs_misc_tbl;
        int pcs_misc_tbl_num;
+       const struct qmp_phy_init_tbl *pcs_misc_tbl_sec;
+       int pcs_misc_tbl_num_sec;
  
        /* Init sequence for DP PHY block link rates */
        const struct qmp_phy_init_tbl *serdes_tbl_rbr;
@@@ -2245,6 -2405,83 +2405,83 @@@ static const struct qmp_phy_cfg sdm845_
        .pwrdn_delay_max        = 1005,         /* us */
  };
  
+ static const struct qmp_phy_cfg sm8250_qmp_gen3x1_pciephy_cfg = {
+       .type = PHY_TYPE_PCIE,
+       .nlanes = 1,
+       .serdes_tbl             = sm8250_qmp_pcie_serdes_tbl,
+       .serdes_tbl_num         = ARRAY_SIZE(sm8250_qmp_pcie_serdes_tbl),
+       .serdes_tbl_sec         = sm8250_qmp_gen3x1_pcie_serdes_tbl,
+       .serdes_tbl_num_sec     = ARRAY_SIZE(sm8250_qmp_gen3x1_pcie_serdes_tbl),
+       .tx_tbl                 = sm8250_qmp_pcie_tx_tbl,
+       .tx_tbl_num             = ARRAY_SIZE(sm8250_qmp_pcie_tx_tbl),
+       .rx_tbl                 = sm8250_qmp_pcie_rx_tbl,
+       .rx_tbl_num             = ARRAY_SIZE(sm8250_qmp_pcie_rx_tbl),
+       .rx_tbl_sec             = sm8250_qmp_gen3x1_pcie_rx_tbl,
+       .rx_tbl_num_sec         = ARRAY_SIZE(sm8250_qmp_gen3x1_pcie_rx_tbl),
+       .pcs_tbl                = sm8250_qmp_pcie_pcs_tbl,
+       .pcs_tbl_num            = ARRAY_SIZE(sm8250_qmp_pcie_pcs_tbl),
+       .pcs_tbl_sec            = sm8250_qmp_gen3x1_pcie_pcs_tbl,
+       .pcs_tbl_num_sec                = ARRAY_SIZE(sm8250_qmp_gen3x1_pcie_pcs_tbl),
+       .pcs_misc_tbl           = sm8250_qmp_pcie_pcs_misc_tbl,
+       .pcs_misc_tbl_num       = ARRAY_SIZE(sm8250_qmp_pcie_pcs_misc_tbl),
+       .pcs_misc_tbl_sec               = sm8250_qmp_gen3x1_pcie_pcs_misc_tbl,
+       .pcs_misc_tbl_num_sec   = ARRAY_SIZE(sm8250_qmp_gen3x1_pcie_pcs_misc_tbl),
+       .clk_list               = sdm845_pciephy_clk_l,
+       .num_clks               = ARRAY_SIZE(sdm845_pciephy_clk_l),
+       .reset_list             = sdm845_pciephy_reset_l,
+       .num_resets             = ARRAY_SIZE(sdm845_pciephy_reset_l),
+       .vreg_list              = qmp_phy_vreg_l,
+       .num_vregs              = ARRAY_SIZE(qmp_phy_vreg_l),
+       .regs                   = sm8250_pcie_regs_layout,
+       .start_ctrl             = PCS_START | SERDES_START,
+       .pwrdn_ctrl             = SW_PWRDN | REFCLK_DRV_DSBL,
+       .has_pwrdn_delay        = true,
+       .pwrdn_delay_min        = 995,          /* us */
+       .pwrdn_delay_max        = 1005,         /* us */
+ };
+ static const struct qmp_phy_cfg sm8250_qmp_gen3x2_pciephy_cfg = {
+       .type = PHY_TYPE_PCIE,
+       .nlanes = 2,
+       .serdes_tbl             = sm8250_qmp_pcie_serdes_tbl,
+       .serdes_tbl_num         = ARRAY_SIZE(sm8250_qmp_pcie_serdes_tbl),
+       .tx_tbl                 = sm8250_qmp_pcie_tx_tbl,
+       .tx_tbl_num             = ARRAY_SIZE(sm8250_qmp_pcie_tx_tbl),
+       .tx_tbl_sec             = sm8250_qmp_gen3x2_pcie_tx_tbl,
+       .tx_tbl_num_sec         = ARRAY_SIZE(sm8250_qmp_gen3x2_pcie_tx_tbl),
+       .rx_tbl                 = sm8250_qmp_pcie_rx_tbl,
+       .rx_tbl_num             = ARRAY_SIZE(sm8250_qmp_pcie_rx_tbl),
+       .rx_tbl_sec             = sm8250_qmp_gen3x2_pcie_rx_tbl,
+       .rx_tbl_num_sec         = ARRAY_SIZE(sm8250_qmp_gen3x2_pcie_rx_tbl),
+       .pcs_tbl                = sm8250_qmp_pcie_pcs_tbl,
+       .pcs_tbl_num            = ARRAY_SIZE(sm8250_qmp_pcie_pcs_tbl),
+       .pcs_tbl_sec            = sm8250_qmp_gen3x2_pcie_pcs_tbl,
+       .pcs_tbl_num_sec                = ARRAY_SIZE(sm8250_qmp_gen3x2_pcie_pcs_tbl),
+       .pcs_misc_tbl           = sm8250_qmp_pcie_pcs_misc_tbl,
+       .pcs_misc_tbl_num       = ARRAY_SIZE(sm8250_qmp_pcie_pcs_misc_tbl),
+       .pcs_misc_tbl_sec               = sm8250_qmp_gen3x2_pcie_pcs_misc_tbl,
+       .pcs_misc_tbl_num_sec   = ARRAY_SIZE(sm8250_qmp_gen3x2_pcie_pcs_misc_tbl),
+       .clk_list               = sdm845_pciephy_clk_l,
+       .num_clks               = ARRAY_SIZE(sdm845_pciephy_clk_l),
+       .reset_list             = sdm845_pciephy_reset_l,
+       .num_resets             = ARRAY_SIZE(sdm845_pciephy_reset_l),
+       .vreg_list              = qmp_phy_vreg_l,
+       .num_vregs              = ARRAY_SIZE(qmp_phy_vreg_l),
+       .regs                   = sm8250_pcie_regs_layout,
+       .start_ctrl             = PCS_START | SERDES_START,
+       .pwrdn_ctrl             = SW_PWRDN | REFCLK_DRV_DSBL,
+       .is_dual_lane_phy       = true,
+       .has_pwrdn_delay        = true,
+       .pwrdn_delay_min        = 995,          /* us */
+       .pwrdn_delay_max        = 1005,         /* us */
+ };
  static const struct qmp_phy_cfg qmp_v3_usb3phy_cfg = {
        .type                   = PHY_TYPE_USB3,
        .nlanes                 = 1,
@@@ -2629,6 -2866,9 +2866,9 @@@ static int qcom_qmp_phy_serdes_init(str
        int ret;
  
        qcom_qmp_phy_configure(serdes, cfg->regs, serdes_tbl, serdes_tbl_num);
+       if (cfg->serdes_tbl_sec)
+               qcom_qmp_phy_configure(serdes, cfg->regs, cfg->serdes_tbl_sec,
+                                      cfg->serdes_tbl_num_sec);
  
        if (cfg->type == PHY_TYPE_DP) {
                switch (dp_opts->link_rate) {
@@@ -3117,10 -3357,19 +3357,19 @@@ static int qcom_qmp_phy_power_on(struc
        /* Tx, Rx, and PCS configurations */
        qcom_qmp_phy_configure_lane(tx, cfg->regs,
                                    cfg->tx_tbl, cfg->tx_tbl_num, 1);
+       if (cfg->tx_tbl_sec)
+               qcom_qmp_phy_configure_lane(tx, cfg->regs, cfg->tx_tbl_sec,
+                                           cfg->tx_tbl_num_sec, 1);
        /* Configuration for other LANE for USB-DP combo PHY */
-       if (cfg->is_dual_lane_phy)
+       if (cfg->is_dual_lane_phy) {
                qcom_qmp_phy_configure_lane(qphy->tx2, cfg->regs,
                                            cfg->tx_tbl, cfg->tx_tbl_num, 2);
+               if (cfg->tx_tbl_sec)
+                       qcom_qmp_phy_configure_lane(qphy->tx2, cfg->regs,
+                                                   cfg->tx_tbl_sec,
+                                                   cfg->tx_tbl_num_sec, 2);
+       }
  
        /* Configure special DP tx tunings */
        if (cfg->type == PHY_TYPE_DP)
  
        qcom_qmp_phy_configure_lane(rx, cfg->regs,
                                    cfg->rx_tbl, cfg->rx_tbl_num, 1);
+       if (cfg->rx_tbl_sec)
+               qcom_qmp_phy_configure_lane(rx, cfg->regs,
+                                           cfg->rx_tbl_sec, cfg->rx_tbl_num_sec, 1);
  
-       if (cfg->is_dual_lane_phy)
+       if (cfg->is_dual_lane_phy) {
                qcom_qmp_phy_configure_lane(qphy->rx2, cfg->regs,
                                            cfg->rx_tbl, cfg->rx_tbl_num, 2);
+               if (cfg->rx_tbl_sec)
+                       qcom_qmp_phy_configure_lane(qphy->rx2, cfg->regs,
+                                                   cfg->rx_tbl_sec,
+                                                   cfg->rx_tbl_num_sec, 2);
+       }
  
        /* Configure link rate, swing, etc. */
-       if (cfg->type == PHY_TYPE_DP)
+       if (cfg->type == PHY_TYPE_DP) {
                qcom_qmp_phy_configure_dp_phy(qphy);
-       else
+       } else {
                qcom_qmp_phy_configure(pcs, cfg->regs, cfg->pcs_tbl, cfg->pcs_tbl_num);
+               if (cfg->pcs_tbl_sec)
+                       qcom_qmp_phy_configure(pcs, cfg->regs, cfg->pcs_tbl_sec,
+                                              cfg->pcs_tbl_num_sec);
+       }
  
        ret = reset_control_deassert(qmp->ufs_reset);
        if (ret)
  
        qcom_qmp_phy_configure(pcs_misc, cfg->regs, cfg->pcs_misc_tbl,
                               cfg->pcs_misc_tbl_num);
+       if (cfg->pcs_misc_tbl_sec)
+               qcom_qmp_phy_configure(pcs_misc, cfg->regs, cfg->pcs_misc_tbl_sec,
+                                      cfg->pcs_misc_tbl_num_sec);
  
        /*
         * Pull out PHY from POWER DOWN state.
@@@ -3900,6 -4164,15 +4164,15 @@@ static const struct of_device_id qcom_q
        }, {
                .compatible = "qcom,sm8250-qmp-usb3-uni-phy",
                .data = &sm8250_usb3_uniphy_cfg,
+       }, {
+               .compatible = "qcom,sm8250-qmp-gen3x1-pcie-phy",
+               .data = &sm8250_qmp_gen3x1_pciephy_cfg,
+       }, {
+               .compatible = "qcom,sm8250-qmp-gen3x2-pcie-phy",
+               .data = &sm8250_qmp_gen3x2_pciephy_cfg,
+       }, {
+               .compatible = "qcom,sm8250-qmp-modem-pcie-phy",
+               .data = &sm8250_qmp_gen3x2_pciephy_cfg,
        },
        { },
  };
@@@ -3926,7 -4199,7 +4199,7 @@@ static int qcom_qmp_phy_probe(struct pl
        struct phy_provider *phy_provider;
        void __iomem *serdes;
        void __iomem *usb_serdes;
 -      void __iomem *dp_serdes;
 +      void __iomem *dp_serdes = NULL;
        const struct qmp_phy_combo_cfg *combo_cfg = NULL;
        const struct qmp_phy_cfg *cfg = NULL;
        const struct qmp_phy_cfg *usb_cfg = NULL;
diff --combined drivers/phy/tegra/xusb.c
index ad88d74c18842c5cc9d962f185d9c03524bff529,a6e8afe7c5ee80bd6383e2c7536dc582fd78197b..941006f503e4ccce12b28448234116314c4323be
@@@ -146,7 -146,7 +146,7 @@@ static void tegra_xusb_pad_release(stru
        pad->soc->ops->remove(pad);
  }
  
- static struct device_type tegra_xusb_pad_type = {
+ static const struct device_type tegra_xusb_pad_type = {
        .release = tegra_xusb_pad_release,
  };
  
@@@ -513,7 -513,7 +513,7 @@@ static void tegra_xusb_port_release(str
                port->ops->release(port);
  }
  
- static struct device_type tegra_xusb_port_type = {
+ static const struct device_type tegra_xusb_port_type = {
        .release = tegra_xusb_port_release,
  };
  
@@@ -688,7 -688,7 +688,7 @@@ static int tegra_xusb_setup_usb_role_sw
         * reference to retrieve usb-phy details.
         */
        port->usb_phy.dev = &lane->pad->lanes[port->index]->dev;
-       port->usb_phy.dev->driver = port->padctl->dev->driver;
+       port->usb_phy.dev->driver = port->dev.driver;
        port->usb_phy.otg->usb_phy = &port->usb_phy;
        port->usb_phy.otg->set_peripheral = tegra_xusb_set_peripheral;
        port->usb_phy.otg->set_host = tegra_xusb_set_host;
@@@ -1148,7 -1148,6 +1148,6 @@@ static int tegra_xusb_padctl_probe(stru
        const struct tegra_xusb_padctl_soc *soc;
        struct tegra_xusb_padctl *padctl;
        const struct of_device_id *match;
-       struct resource *res;
        int err;
  
        /* for backwards compatibility with old device trees */
        INIT_LIST_HEAD(&padctl->pads);
        mutex_init(&padctl->lock);
  
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       padctl->regs = devm_ioremap_resource(&pdev->dev, res);
+       padctl->regs = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(padctl->regs)) {
                err = PTR_ERR(padctl->regs);
                goto remove;
        err = devm_regulator_bulk_get(&pdev->dev, padctl->soc->num_supplies,
                                      padctl->supplies);
        if (err < 0) {
-               dev_err(&pdev->dev, "failed to get regulators: %d\n", err);
+               dev_err_probe(&pdev->dev, err, "failed to get regulators\n");
                goto remove;
        }
  
@@@ -1242,7 -1240,6 +1240,7 @@@ power_down
  reset:
        reset_control_assert(padctl->rst);
  remove:
 +      platform_set_drvdata(pdev, NULL);
        soc->ops->remove(padctl);
        return err;
  }
This page took 0.18607 seconds and 4 git commands to generate.