David Heidelberg
The bulk of the work centres on the Snapdragon 845 (SDM845) platform — bringing mainline Linux closer to fully supporting everyday phones like the OnePlus 6/6T, Xiaomi Mi MIX 2S, SHIFT6mq, and the Google Pixel 3 lineup.
- Added full DTS support for Google Pixel 3 and Pixel 3 XL
- ath10k WiFi calibration data for OnePlus, beryllium, axolotl
- Framebuffer, panel pinctrl, TE GPIO, and regulator fixes for OnePlus
- Firmware path updates across SDM845 boards
- Guard pages for the rmtfs memory region
- SLPI sensor DSP enablement on Xiaomi Pocophone F1
- Notification LED for OnePlus 6 (enchilada)
- Use shared msm-id definitions across SDM845 DTS files
- New Samsung S6E3FC2X01 driver (AMS641RW — OnePlus 6T panel)
- sofef00: non-continuous mode, video burst, LPM always-on, regulator handling, 50% initial brightness
- sofef00: introduced panel-name-aware compatible string
- sofef00: split enable/disable command sequences for clarity
- sw43408: devm regulator bulk, removed manual unprepare, separated reset sequence
- sw43408: introduced LH546WF1-ED01 panel compatible
- DT bindings for SOFEF00 converted to standalone YAML
- Implemented regmap support in both AL3010 and AL3320a
- Fixed error handling paths in probe functions across all three
- Split set_pwr into set_pwr_on / set_pwr_off for clarity
- Removed DRV_NAME definitions (use module name instead)
- Switched to unsigned int for array indexing
- Improved error reporting with dev_err_probe()
- Abstracted device references in probe functions
- Added generic wireless-controller.yaml — used by qcom,wcnss, silabs,wfx, bcm4329-fmac
- Added network-class schema for mac-address properties
- Converted msm,iommu-v0 to YAML
- Converted ad5820 camera focus actuator to YAML
- Converted gpio-fan hwmon binding to YAML
- Documented Tegra Nyan boards, fixed Freescale TMU calibration schema
- GPIO-fan matrix fixes across Rockchip, i.MX8, and Marvell DTS
- Idle-state and OPP binding cleanup for ARM Qualcomm targets
- CCS driver: fixed C-PHY lane count in clock frequency calculation
- CAMSS: added named power-domain support for SDM845
- CAMSS: documented the csiphy_lanes_cfg structure
- Corrected camss supply description in DT bindings
- PHY info can now be obtained from OF endpoint (documentation)
- Initial DTS for LG Nexus 4 (APQ8064 / msm8960-based)
- Enabled WiFi on APQ8064 LG Nexus 4
- MSM8960: corrected memory base, dropped duplicate timer clock frequency
- MSM8916: idle-state compatible fix
- Nokia N900: removed useless io-channel-cells property
- ALSA: stopped building obsolete API
- x86 Kconfig: documented CONFIG_PCI_MMCONFIG, CNB20LE quirk, SPARSEMEM, glibc date
- Reported and triggered reverts of USB gadget NCM regression series
155 total contributions across Linux 6.7 through 7.0-rc6, with 76 commits fully authored. The work breaks down into a few clear stories:
The Snapdragon 845 marathon. The heaviest lifting is enabling mainline Linux on real consumer hardware. The Google Pixel 3 and Pixel 3 XL got full device-tree support from scratch. OnePlus 6/6T gained proper display pinctrl, panel regulators, a framebuffer, a notification LED, and WiFi calibration. Similar treatment went to the Xiaomi Mi MIX 2S, Pocophone F1, SHIFT6mq, and Samsung Galaxy S9.
Display driver overhaul. Two panel drivers — sofef00 (OnePlus 6 display) and sw43408 — were significantly refactored: cleaner regulator handling, split command sequences, better compatible strings, and a proper reset function. On top of that, a brand-new S6E3FC2X01 driver landed for the OnePlus 6T's AMOLED panel.
IIO light sensor cleanup. The Dyna Image AL3010, AL3320a, and AL3000a drivers got a thorough polish — regmap migration, better error handling with dev_err_probe, splitting the power toggle into on/off helpers, and removing leftover DRV_NAME definitions.
Device-tree schema work. A generic wireless-controller.yaml was introduced and adopted by three wireless drivers. Several old .txt bindings (ad5820, gpio-fan, iommu-v0) were converted to proper YAML schemas, and cross-platform DTS bugs were fixed across Rockchip, i.MX8, Marvell, and Freescale targets.
Bug hunting. Seven reported bugs, including triggering a revert series of USB gadget NCM regressions that had broken Ethernet-over-USB functionality.
Authored (76):
- arm64: dts: qcom: oneplus-enchilada: Specify i2c4 clock frequency
- clk: qcom: dispcc-sm7150: Fix dispcc_mdss_pclk1_clk_src
- media: ccs: Accommodate C-PHY into the calculation
- dt-bindings: media: Correct camss supply description
- arm64: dts: qcom: sdm845-oneplus-enchilada: Sort nodes alphabetically
- arm64: dts: qcom: Add support for Pixel 3 and Pixel 3 XL
- dt-bindings: arm: qcom: Add Pixel 3 and 3 XL
- arm64: dts: qcom: sdm845-xiaomi-polaris: Update firmware paths
- arm64: dts: qcom: sdm845-samsung-starqltechn: Update firmware paths
- arm64: dts: qcom: sdm845-axolotl: Update firmware paths
- arm64: dts: qcom: sdm845-oneplus: Update firmware paths
- arm64: dts qcom: sdm845-oneplus-enchilada: Specify panel name within the compatible
- drm/panel: sw43408: Improve wording when reset-gpios aren't available
- drm/panel: sw43408: Switch to devm_regulator_bulk_get_const
- drm/panel: sw43408: Remove manual invocation of unprepare at remove
- drm/panel: sw43408: Separate reset sequence into own function
- drm/panel: sw43408: Introduce LH546WF1-ED01 panel compatible
- dt-bindings: panel: sw43408: adjust to reflect the DDIC and panel used
- dt-bindings: panel: s6e3fc2x01: Sort and remove unnecessary properties
- Input: stmfts - correct wording for the warning message
- ALSA: Do not build obsolete API
- drm/panel: sofef00: Non-continuous mode and video burst are supported
- drm/panel: sofef00: Mark the LPM mode always-on
- drm/panel: sofef00: Simplify get_modes
- drm/panel: sofef00: Introduce compatible which includes the panel name
- drm/panel: sofef00: Introduce page macro
- drm/panel: sofef00: Split sending commands to the enable/disable functions
- drm/panel: sofef00: Handle all regulators
- drm/panel: sofef00: Clean up panel description after s6e3fc2x01 removal
- dt-bindings: panel: Convert Samsung SOFEF00 DDIC into standalone yaml
- docs: dt-bindings: Extend the ordering list with a blank newline before status
- arm64: dts: qcom: sdm845-oneplus: Describe TE gpio
- arm64: dts: qcom: sdm845-oneplus: Implement panel sleep pinctrl
- arm64: dts: qcom: sdm845-oneplus: Group panel pinctrl
- drm/panel: Add Samsung S6E3FC2X01 DDIC with AMS641RW panel
- dt-bindings: panel: Add Samsung S6E3FC2X01 DDIC with panel
- arm64: dts: qcom: sdm845: Define guard pages within the rmtfs region
- dt-bindings: extcon: linux,extcon-usb-gpio: GPIO must be provided
- arm64: dts: qcom: sdm845-oneplus: Deduplicate shared entries
- arm64: dts: qcom: sdm845*: Use definition for msm-id
- ARM: dts: qcom: apq8064-lg-nexus4-mako: Enable WiFi
- media: dt-bindings: Convert Analog Devices ad5820 to DT schema
- media: dt-bindings: media: i2c: align filenames format with standard
- dt-bindings: wireless: qcom,wcnss: Use wireless-controller.yaml
- dt-bindings: net: Add generic wireless controller
- iio: light: al3320a: Implement regmap support
- iio: light: al3010: Implement regmap support
- iio: light: al3320a: Fix an error handling path in al3320a_probe()
- iio: light: al3000a: Fix an error handling path in al3000a_probe()
- iio: light: al3010: Improve al3010_init error handling with dev_err_probe()
- iio: light: al3320a: Split set_pwr function into set_pwr_on and _off
- iio: light: al3010: Split set_pwr function into set_pwr_on and _off
- iio: light: al3320a: Abstract device reference in the probe function
- iio: light: al3010: Abstract device reference in the probe function
- iio: light: al3320a: Remove DRV_NAME definition
- iio: light: al3010: Remove DRV_NAME definition
- iio: light: al3320a: Use unsigned int for the indexing
- iio: light: al3010: Use unsigned int for the indexing
- ARM: dts: nokia n900: remove useless io-channel-cells property
- media: Documentation: PHY information can be obtained from OF endpoint too
- dt-bindings: arm: tegra: Document Nyan, all revisions in kernel tree
- mailmap: update entry for David Heidelberg
- dt-bindings: iommu: Convert msm,iommu-v0 to yaml
- ARM: dts: qcom: msm8960: correct memory base
- ARM: dts: qcom: msm8916: idle-state compatible require the generic idle-state
- ARM: dts: qcom: include cpu in idle-state node names
- dt-bindings: opp: drop maxItems from inner items
- arm64: dts: qcom: sdm845-oneplus-common: improve DAI node naming
- ARM: dts: qcom: msm8960: drop 2nd clock frequency from timer
- dt-bindings: arm: merge qcom,idle-state with idle-state
- dt-bindings: hwmon: gpio-fan: Convert txt bindings to yaml
- powerpc/fsl: Fix fsl,tmu-calibration to match the schema
- arm64: dts: freescale: fix the schema check errors for fsl,tmu-calibration
- ARM: dts: marvell: make dts use gpio-fan matrix instead of array
- arm64: dts: rockchip: make dts use gpio-fan matrix instead of array
- arm64: dts: imx8mq-phanbell: make dts use gpio-fan matrix instead of array
Signed-off-by (30):
- arm64: dts: qcom: sdm845-oneplus: Mark l14a regulator as boot-on
- arm64: dts: qcom: sdm845-oneplus: Don't keep panel regulator always on
- arm64: dts: qcom: sdm845-oneplus: Don't mark ts supply boot-on
- arm64: dts: qcom: sdm845-xiaomi-beryllium: Enable SLPI
- arm64: dts: qcom: sdm845-oneplus: Add framebuffer
- arm64: dts: qcom: sdm845-shift-axolotl: Add ath10k calibration variant
- arm64: dts: qcom: sdm845-xiaomi-beryllium: Add ath10k calibration variant
- arm64: dts: qcom: sdm845-oneplus: add ath10k calibration variant
- Input: add ABS_SND_PROFILE
- Input: stmfts - use sysfs_emit() instead of sprintf()
- Input: stmfts - make comments correct
- ASoC: qcom: sdm845: set quaternary MI2S codec DAI to I2S format
- drm/panel: sofef00: Initialise at 50% brightness
- drm/panel: sofef00: Add prepare_prev_first flag to drm_panel
- arm64: dts: qcom: sdm845-oneplus: Update compatbible and add DDIC supplies
- arm64: dts: qcom: sdm845-oneplus: Correct gpio used for slider
- arm64: dts: qcom: sdm845-enchilada: Add notification LED
- dt-bindings: wireless: silabs,wfx: Use wireless-controller.yaml
- dt-bindings: wireless: bcm4329-fmac: Use wireless-controller.yaml schema
- dt-bindings: net: Add network-class schema for mac-address properties
- drm/panel: samsung-sofef00: Drop s6e3fc2x01 support
- x86/Kconfig: Document release year of glibc 2.3.3
- x86/Kconfig: Make CONFIG_PCI_CNB20LE_QUIRK depend on X86_32
- x86/Kconfig: Document CONFIG_PCI_MMCONFIG
- x86/Kconfig: Update lists in X86_EXTENDED_PLATFORM
- x86/Kconfig: Move all X86_EXTENDED_PLATFORM options together
- x86/Kconfig: Always enable ARCH_SPARSEMEM_ENABLE
- ARM: dts: qcom: Initial dts for LG Nexus 4
- media: qcom: camss: Add sm845 named power-domain support
- media: qcom: camss: document csiphy_lanes_cfg structure
Co-developed-by (3):
- arm64: dts: qcom: sdm845-oneplus: Add framebuffer
- arm64: dts: qcom: sdm845-oneplus: Update compatbible and add DDIC supplies
- ARM: dts: qcom: Initial dts for LG Nexus 4
Reviewed-by (27):
- clk: qcom: dispcc-sdm845: Enable parents for pixel clocks
- media: ccs: Clean up ccs_get_hwcfg() a little
- arm64: dts: qcom: sdm845-xiaomi-beryllium: Add placeholders and sort
- ARM: dts: qcom: msm8974-hammerhead: Update model property
- drm/panel: visionox-rm69299: Depend on BACKLIGHT_CLASS_DEVICE
- leds: rgb: leds-qcom-lpg: Allow LED_COLOR_ID_MULTI
- ASoC: codecs: wcd937x: Fix error handling in wcd937x codec driver
- crypto: qce - Provide dev_err_probe() status on DMA failure
- arm64: dts: qcom: add gpu_zap_shader label
- arm64: dts: qcom: sc7180: add gpu_zap_shader label
- arm64: dts: qcom: sm8250: drop duplicate memory-region defs
- arm64: dts: qcom: sc8280xp: create common zap-shader node
- arm64: dts: qcom: sc8180x: create common zap-shader node
- arm64: dts: qcom: sdm845: create common zap-shader node
- arm64: dts: qcom: sdm670: create common zap-shader node
- dt-bindings: media: Convert ti,tvp5150.txt to yaml format.
- dt-bindings: iio: light: Simplify interrupts property in the example
- dt-bindings: iio: Drop unused header includes in examples
- drm: panel: Add support for Hydis HV101HD1 MIPI DSI panel
- dt-bindings: power: supply: summit,smb347: Add missing power-supply ref
- MAINTAINERS: adjust file entry in OMNIVISION OV7670 SENSOR DRIVER
- iio: light: Add support for AL3000a illuminance sensor
- dt-bindings: iio: light: al3010: add al3000a support
- arm64: dts: mediatek: Add missing chassis-type to MT8192 Chromebooks
- drm/msm/adreno: Add A305B support
- dt-bindings: display/msm: gpu: Allow multiple digits for patchid
- arm64: defconfig: Enable PSTORE_RAM
Tested-by (12):
- drm/msm/dpu: Add DSPP GC driver to provide GAMMA_LUT DRM property
- usb: gadget: f_fs: fix DMA-BUF OUT queues
- platform/x86: int3472: Debug log when remapping pins
- platform/x86: int3472: Add handshake pin support
- platform/x86: int3472: Prepare for registering more than 1 GPIO regulator
- platform/x86: int3472: Avoid GPIO regulator spikes
- platform/x86: int3472: Make regulator supply name configurable
- platform/x86: int3472: Rework AVDD second sensor quirk handling
- platform/x86: int3472: Drop unused gpio field from struct int3472_gpio_regulator
- platform/x86: int3472: Stop setting a supply-name for GPIO regulators
- platform/x86: int3472: Add skl_int3472_register_clock() helper
- dmaengine: Revert "dmaengine: qcom: bam_dma: Avoid writing unavailable register"
Reported-by (7):
- media: ccs: Avoid deadlock in ccs_init_state()
- Revert "usb: gadget: u_ether: add gether_opts for config caching"
- Revert "usb: gadget: u_ether: use
header file" - Revert "usb: gadget: u_ether: Add auto-cleanup helper for freeing net_device"
- Revert "usb: gadget: f_ncm: align net_device lifecycle with bind/unbind"
- Revert "usb: legacy: ncm: Fix NPE in gncm_bind"
- Revert "usb: gadget: f_ncm: Fix atomic context locking issue"