Commit Graph

1341497 Commits

Author SHA1 Message Date
Naushir Patuck
5c1d35bb54 drivers: media: imx500: Add device id readback control
Add a new custom control V4L2_CID_USER_GET_IMX500_DEVICE_ID to allow
userland to query the device id from the IMX500 sensor eeprom.

Note that this device id can only be accessed when a network firmware
has been upoloaded to the device, so cannot be cached on probe.

Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
2025-06-16 09:37:50 +01:00
Jonathan Bell
7f0e46a5e4 usb: dwc2: limit "maximum packet size" for split-IN transfers
dwc2_hc_start_transfer() overwrites hc->xfer_len for split-IN transfers.
Drivers may not allocate buffers that are multiples of the endpoint max
packet size, which may cause buffer overruns in the last transfer.

The hardware needs HCTSIZ to be set to a multiple of HCCHAR.MPS, so trim
chan->max_packet in dwc2_assign_and_init_hc().

Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
2025-06-16 09:37:49 +01:00
Jonathan Bell
6d04c6daa4 usb: dwc2: return correct frame counts with high-speed host
The HFNUM register increments on every microframe in HS mode, and USB
device drivers expect the returned frame count to relate to the overall
frame. Right-shift the returned value by 3 to drop the microframe bits.

Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
2025-06-16 09:37:49 +01:00
Jonathan Bell
ae00dda74b usb: dwc2: masquerade split-interrupt transfers
Masquerading Interrupt split transfers as Control puts the transfer into
the non-periodic handler in the hub. This stops the hub dropping
complete-split data in the microframe after a CSPLIT should have
arrived, improving resilience to host IRQ latency. Devices are none the
wiser - the handshake tokens are the same.

Originally devised by Hans Petter Selasky @ FreeBSD.

Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
2025-06-16 09:37:49 +01:00
Jonathan Bell
fe9d29d631 usb: dwc2: use temporary URB buffer for small control transfers
As a result of a hardware bug, small IN packets with length < 4 cause a
4-byte write to memory. Generally, buffers allocated with kmalloc
reserve at least one cacheline of memory, but the UVC driver passes
offsets into a struct as the buffer. This causes trampling of video
control min/max/default/range data.

e.g. on a generic UVC camera, these default values are nonsense:

$ v4l2-ctl -d0 --all
[...]
brightness 0x00980900 (int) : min=0 max=255 step=1 default=-8193 value=128
contrast 0x00980901 (int)   : min=0 max=100 step=1 default=57343 value=67
saturation 0x00980902 (int) : min=0 max=100 step=1 default=57343 value=62
hue 0x00980903 (int)        : min=-90 max=90 step=2 default=12287 value=0
gamma 0x00980910 (int)      : min=1 max=30 step=1 default=57343 value=29
[...]

Update the pre-existing DMA alignment code to catch this case.

Link: https://github.com/raspberrypi/linux/issues/3148
Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
2025-06-16 09:37:49 +01:00
Mark W
bca3662688 overlays: Update crystalfontz-cfa050_pi_m for CM5
Update DT Overlay to support CFA050-PI-M with CM5.

Signed-off-by: Mark Williams <mark@crystalfontz.com>
2025-06-11 11:29:01 +01:00
Mark W
f2a0ca0248 ILI9881C: Update timings for CFAF7201280A0-050TX
Update of ILI9881C CFAF7201280A0-050TX panel timing to work with the CM5.

Signed-off-by: Mark Williams <mark@crystalfontz.com>
2025-06-11 11:29:01 +01:00
Phil Elwell
485ed1396a overlays: Give a deprecation warning for dwc-otg
The overlay deprecation feature does not give any advance warnings,
just a more user-friendly error message; it's more termination than
deprecation.

Abuse the overlay rename feature to cause a warning message to be
displayed when dwc-otg is loaded:

  dtwarn: overlay 'dwc-otg' has been renamed 'dwc-otg-deprecated'

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2025-06-11 11:28:38 +01:00
Phil Elwell
822a50ec37 configs: arm64: Make USB_DWC2 built-in
It has been decided that we should drop DWC_OTG support on the 64-bit
kernels. Its raison-d'etre on ARCH=arm is the FIQ FSM, which
significantly reduces the overheads of running the hardware in host
mode. Unfortunately, upstream Linux uses the DWC2 driver, which has had
a lot of attention over the years. In particular, there are a number of
situations where DWC_OTG fails where DWC2 works, despite the reduced
throughput.

In the ARMv8 kernel, FIQ support was missing, and is now just different
in an awkward way. It is possible to use DWC_OTG in the v8 kernel, but
only when the FIQ support is disabled, removing its advantage.

It therefore makes sense to transition to using the DWC2 driver in the
64-bit kernels, deprecating DWC_OTG. The first cautious step is to make
the DWC2 driver a built-in, so that either driver can be used for
booting. Unfortunately this increases the size of the kernel by ~200kB,
but the intention is later to demote DWC_OTG to a module or drop it
altogether.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2025-06-11 11:28:38 +01:00
Jonathan Bell
85144436dc drivers: dwc_otg: don't call disable_irq on the fake FIQ
The local spinlock protects the handlers from racing against each other
on separate cores, hard IRQs don't preempt each other, and
disabling/enabling the interrupt is more expensive than letting the fake
FIQ contend the spinlock.

So turn local_fiq_en/disable into no-ops.

Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
2025-06-11 11:28:37 +01:00
Jonathan Bell
246361e968 drivers: dwc_otg: reduce loglevel for probe messages
Warning on normal behaviour isn't sensible and is spammy. Demote to info.

Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
2025-06-11 11:28:37 +01:00
Jonathan Bell
c97bc24ae9 drivers: dwc_otg: add ticket-based spinlock for ARM64
The ARM64 architecture uses qspinlock which has a fast and slow path.
This isn't ideal for all claimers of a lock operating in interrupt
context. Add a ticket-based lock similar to the armv6/7 implementation.

Based on an upstream patch that was abandoned in favour of qspinlock.

Link: https://patchwork.kernel.org/project/linux-arm-kernel/patch/1381330468-32625-2-git-send-email-will.deacon@arm.com/

Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
2025-06-11 11:28:37 +01:00
Jonathan Bell
db793757ee drivers: dwc_otg: move FIQ locking functions to header file
Also declare as static inline, as they should be.

Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
2025-06-11 11:28:36 +01:00
Jonathan Bell
69bdd7244d drivers: irq-bcm283x: swizzle interrupts on ARMv7 too
BCM2836 with Cortex-A7 cores has almost the same ARM_LOCAL interrupt
routing logic as BCM2837, so relax the compile guard to CONFIG_SMP not
CONFIG_ARM64.

Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
2025-06-11 11:28:36 +01:00
Jonathan Bell
4e5a97c630 drivers: irq-bcm2836: preserve unrelated bits in LOCAL_GPU_ROUTING
Interrupts are dispatched round-robin but doing so trampled FIQ routing.
Taking a FIQ on a core without a handler installed is fatal.

Only modify bits 1:0 which are the IRQ route bits.

Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
2025-06-11 11:28:36 +01:00
Phil Elwell
ed6002ad7b configs: More rtw88 USB drivers
Enable the newest drivers for the Realtek RTW88 USB WiFi chips on
non-PCI-capable kernels.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2025-06-10 16:56:52 +01:00
macmpi
45a012faf0 configs: add rtw88/89 PCI drivers
Enable the drivers for the Realtek RTW88 and RTW89 PCI WiFi chips on
PCI-capable kernels.
2025-06-10 16:56:52 +01:00
Giedrius
9263b06188 Pisound Micro: Workaround for snd_soc_dai_set_tdm_slot with slots=0
Even though it's documented that specifying slots=0 can be used to disable
the TDM mode, error checking introduced in 6.12.31 version broke this,
therefore, for the time being, a workaround is to provide a xlate_tdm_slot_mask
operation implementation to return 0 instead of -EINVAL as it does in case
slots argument is 0.

Signed-off-by: Giedrius Trainavičius <giedrius@blokas.io>
2025-06-10 16:56:51 +01:00
Kieran Bingham
5a9f85ad5f defconfigs: Add IMX283 to all Pi defconfigs
Add support for the Sony IMX283 image sensor by including the module
for supported Raspberry Pi platforms.

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2025-06-10 16:56:51 +01:00
Kieran Bingham
c3ce3c4c1f dtoverlays: Add overlay for the Sony IMX283 Camera
This supports the OneInchEye with a 24MHz crystal INCK.

Use the option 'cam0' to connect this to the CAM/DISP 0 port on
Raspberry Pi 5.

Use the clock-frequency=<value> option if you have a camera module with
a different inclk frequency:

For example:
  dtoverlay=imx283,cam0,clock-frequency=12000000

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2025-06-10 16:56:51 +01:00
Nick Hollinghurst
8feeedeeae media: i2c: imx477: Disable temperature sensor when enabling XVS
On IMX477 it appears that the on-chip temperature sensor causes
XVS (external sync out) to pulse every ~2ms when not streaming.

So now we do a little dance: Temperature sensor is enabled during
common register setup, giving it time to warm up (almost literally;
otherwise the first frame's reading might be 0C), disabled before
enabling sync out, then enabled again once the camera is streaming.

We already took care to disable XVS output in stop_streaming()
(though previously it wasn't understood why this was needed).

Signed-off-by: Nick Hollinghurst <nick.hollinghurst@raspberrypi.com>
2025-06-10 16:56:51 +01:00
Nick Hollinghurst
1236cced59 media/platform/raspberypi/rp1_cfe: Candidate fix for #5821
To avoid lost frame start in a subsequent session, avoid setting
the number of lanes back to 1 or putting CSI-2 Host into reset.

It's not clear if this is a watertight fix -- what if the camera
itself produced a truncated or garbled packet, or continued to
send until the next start? -- but it does seem to fix the issue.

Signed-off-by: Nick Hollinghurst <nick.hollinghurst@raspberrypi.com>
2025-06-10 16:56:51 +01:00
Dave Stevenson
343fad8628 firmware: rp1: Rename to rp1-fw to avoid module name collision
There is already the driver in drivers/mfd/rp1.ko, so having
drivers/firmware/rp1.ko can cause issues when using modinfo
and similar, and we can get errors with "Module rp1 is already
loaded" when trying to load it.

Rename the module so that the name is unique.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
2025-06-10 16:56:51 +01:00
Naushir Patuck
5ec25a7cf6 drivers: media: imx500: Enable sensor temperature monitoring
The register needs to be disabled before loading any firmware, otherwise
the upload fails for unknown reasons. Re-enable before starting the
sensor streaming.

Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
2025-06-10 16:56:51 +01:00
Naushir Patuck
9961b7e7d0 drivers: pci: hailo: Better lock handling when calling find_vdma()
Due to possible instabilities, reduce the mmap read lock time to only
cover the call to find_vdma().

Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
2025-06-10 16:56:51 +01:00
Tim Gover
209ac48f57 defconfigs: Enable WATCHDOG_SYSFS
Enable watchdog sysfs for use with userspace scripts.

Signed-off-by: Tim Gover <tim.gover@raspberrypi.com>
2025-06-10 16:56:51 +01:00
philippe baetens
261f7772d3 media/i2c: Add driver for ams Mira220
Adds a driver for the NIR-enhanced Mira220 1600x1400 global
shutter image sensor.

Signed-off-by: philippe baetens <philippe.baetens@ams-osram.com>
2025-06-10 16:56:51 +01:00
philippe baetens
b0efad69a7 dtoverlays: Add overlay for ams Mira220 image sensor
Adds an overlay for the Mira220 1600x1400 global
shutter image sensor

Signed-off-by: philippe baetens <philippe.baetens@ams-osram.com>
2025-06-10 16:56:51 +01:00
philippe baetens
4877c15f8c defconfigs: Add ams Mira220 image sensor to Pi defconfigs
Adds defconfig for the Mira220 1600x1400 global
shutter image sensor

Signed-off-by: philippe baetens <philippe.baetens@ams-osram.com>
2025-06-10 16:56:51 +01:00
Nicolai
5369f49c14 overlays: sc16is75x: Add generic SPI overlay
Currently four nearly identical overlays (sc16is750-spi0 / -spi1
and sc16is752-spi0 / -spi1) are provided. Besides the redundant
configuration all of them lack support for other SPI interfaces
than spi0 and spi1.

Thus refactor the common definitions into a generic sc16is75x-spi
overlay which provides support for all known spi / cs combinations.
Also choose the chip type via dtparam rather than different overlay.

Remove the existing overlays, replacing them with rename rules in the
overlay map.

Signed-off-by: Nicolai Buchwitz <n.buchwitz@kunbus.com>
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2025-06-10 16:56:50 +01:00
Phil Elwell
11fa763fa8 workflows: Switch to overlaycheck's thorough mode
Now that the current trees are passing the thorough/try-all mode of
overlaycheck (mainly by excluding trying to apply the vl805 overlay
on a CM4S), use it in the build checks.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2025-06-10 16:56:50 +01:00
Phil Elwell
33a497e6b7 gpiolib: Avoid the hotplug performance reduction
The 6.9 kernel introduced a large patchset [1] designed to make gpiochip
usage safe in the presence of potential hotplugging events. The changes
included protecting every gpiochip access with a claim of an interlock.

Running on a Pi 5 these changes reduce GPIO performance from userspace
by around 10%. The penalty would be proportionally higher from kernel,
as seen by SPI speed reductions.

Patch the gpiolib implementation to remove the protection of gpiochip
accesses. By providing alternative implementations of the relevant
macros, the changes are localised and therefore easier to verify.

See: https://github.com/raspberrypi/linux/issues/6854

[1] https://lwn.net/Articles/960024/

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2025-06-10 16:56:50 +01:00
Nicolai Buchwitz
2c3eefbf21 overlays: sc16is75x: Disable spidev0 first
Ensure spidev0 is disabled before the cs pin is referenced.
Otherwise the overlay will fail when loaded during runtime with

"spi spi0.0: chipselect 0 already in use"

Signed-off-by: Nicolai Buchwitz <n.buchwitz@kunbus.com>
2025-06-10 16:56:50 +01:00
Etienne Buira
0e9e312b08 firmware/raspberrypi: raise timeout to 3s
Raspberry firmware driver expected said firmware to answer by 1 second.
That seems to work fine for most cases, but with
RPI_FIRMWARE_NOTIFY_DISPLAY_DONE, that IIUC may need to reconfigure a
monitor, i end up reliably having timeouts:
[    2.861407] ------------[ cut here ]------------
[    2.865512] Firmware transaction 0x00030066 timeout
[    2.865549] WARNING: CPU: 3 PID: 42 at drivers/firmware/raspberrypi.c:128 rpi_firmware_property_list+0x21c/0x29c
[    2.880751] CPU: 3 UID: 0 PID: 42 Comm: kworker/u16:1 Not tainted 6.15.0-rc6 #1 PREEMPT
[    2.888944] Hardware name: Raspberry Pi 4 Model B Rev 1.5 (DT)
[    2.894848] Workqueue: events_unbound deferred_probe_work_func
[    2.900752] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[    2.907801] pc : rpi_firmware_property_list+0x21c/0x29c
[    2.913089] lr : rpi_firmware_property_list+0x21c/0x29c
[    2.918376] sp : ffffffc0803139c0
[    2.921725] x29: ffffffc0803139e0 x28: ffffff8040bbef50 x27: ffffff80410c0f40
[    2.928953] x26: ffffffd7055d9e28 x25: ffffffc0801e0008 x24: 0000000000001000
[    2.936179] x23: ffffff80410c1080 x22: 000000000000000a x21: ffffff80410c0f00
[    2.943405] x20: 000000000000000c x19: ffffffc0801e0000 x18: ffffffc08030d0a0
[    2.950632] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
[    2.957858] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
[    2.965085] x11: 0000000000000000 x10: 0000000000000000 x9 : 0000000000000000
[    2.972311] x8 : 0000000000000000 x7 : 0000000000000000 x6 : 0000000000000000
[    2.979537] x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000000
[    2.986764] x2 : 0000000000000000 x1 : 0000000000000000 x0 : 0000000000000000
[    2.993992] Call trace:
[    2.996458]  rpi_firmware_property_list+0x21c/0x29c (P)
[    3.001747]  rpi_firmware_property+0x70/0xd8
[    3.006064]  vc4_drm_bind+0x12c/0x378
[    3.009765]  try_to_bring_up_aggregate_device+0x22c/0x308
[    3.015230]  __component_add+0xec/0x224
[    3.019106]  component_add+0x14/0x30
[    3.022720]  vc4_hdmi_dev_probe+0x1c/0x40
[    3.026773]  platform_probe+0x68/0xf0
[    3.030474]  really_probe+0xc0/0x3ac
[    3.034088]  __driver_probe_device+0x7c/0x174
[    3.038495]  driver_probe_device+0x40/0x100
[    3.042725]  __device_attach_driver+0x10c/0x1e0
[    3.047308]  bus_for_each_drv+0x88/0x100
[    3.051273]  __device_attach+0xa0/0x1c8
[    3.055151]  device_initial_probe+0x14/0x30
[    3.059381]  bus_probe_device+0xc8/0xcc
[    3.063259]  deferred_probe_work_func+0xb8/0x12c
[    3.067930]  process_one_work+0x160/0x2d4
[    3.071983]  worker_thread+0x2d8/0x400
[    3.075773]  kthread+0x12c/0x208
[    3.079034]  ret_from_fork+0x10/0x20
[    3.082647] ---[ end trace 0000000000000000 ]---

Raising the timeout to 3 seconds (ought to be enough®) doesn't trigger
timeouts anymore for me and proceeds to the next failure.

Signed-off-by: Etienne Buira <etienne.buira@free.fr>
2025-06-10 16:56:50 +01:00
Phil Elwell
73dcfb9b87 configs: Enable more MediaTek drivers
Enable the Mediatek MT7925U WiFi dongle driver, and support for MediaTek
Bluetooth dongles.

See: https://github.com/raspberrypi/linux/issues/6853

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2025-06-10 16:56:50 +01:00
Jonathan Bell
f1725b9835 usb: xhci: set Input Slot Context bit in xhci_fixup_endpoint
The Renesas uPD controller is a bit more picky about validating Configure
Endpoint TRBs and requires that bit 0 of the ADD field is 1.

This is mentioned in xhci v1.2 s4.6.6.

Also drop a redundant helper function and reject invalid endpoints.

Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
2025-06-10 16:56:50 +01:00
Nick Hollinghurst
0e7a62785e drm/rp1/rp1_dpi: Move Composite Sync generation into the kernel
Move RP1 DPI's PIO-assisted Composite Sync generation code,
previously released as a separate utility, into the kernel driver.
There are 3 variants for progressive, generic interlaced and TV-
style interlaced CSync, alongside the existing VSync fixup.

Check that all of GPIOs 1-3 are mapped to DPI, so PIO won't try
to snoop on a missing output, or override another device's pins.

Add "force_csync" module parameter, for convenience of testing,
as few tools can set DRM_MODE_FLAG_CSYNC.

Signed-off-by: Nick Hollinghurst <nick.hollinghurst@raspberrypi.com>
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2025-06-10 16:56:50 +01:00
Phil Elwell
f9d6e5319d Revert "drm/rp1/rp1_dsi: Move Composite Sync generation into the kernel"
This reverts commit 95ac2a0198.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2025-06-10 16:56:50 +01:00
Nick Hollinghurst
7580963b10 drm/rp1/rp1_dsi: Move Composite Sync generation into the kernel
Move RP1 DPI's PIO-assisted Composite Sync generation code,
previously released as a separate utility, into the kernel driver.
There are 3 variants for progressive, generic interlaced and TV-
style interlaced CSync, alongside the existing VSync fixup.

Check that all of GPIOs 1-3 are mapped to DPI, so PIO won't try
to snoop on a missing output, or override another device's pins.

Add "force_csync" module parameter, for convenience of testing,
as few tools can set DRM_MODE_FLAG_CSYNC.

Signed-off-by: Nick Hollinghurst <nick.hollinghurst@raspberrypi.com>
2025-06-10 16:56:50 +01:00
Giedrius
68541c9dd0 pisound-micro: Added pin_pull and pin_b_pull sysfs attributes for Pisound Micro.
These attributes are available only for GPIO input and Encoder elements.

Signed-off-by: Giedrius <giedrius@blokas.io>
2025-06-10 16:56:50 +01:00
Serge
5e9b89952f dts: Set default NVME HMB size to 0 on RPi 4 & 5
Link: https://github.com/raspberrypi/linux/issues/6504
      https://github.com/raspberrypi/linux/pull/6844
2025-06-10 16:56:50 +01:00
Serge
7e5bdc1cd0 Revert "nvme-pci: Disable Host Memory Buffer usage"
This reverts commit 4263812f0e.
2025-06-10 16:56:50 +01:00
Phil Elwell
c7bb6bd81c wifi: brcmfmac: Include modinfo for 43456 CLM blob
Listing firmware files in the brcmfmac modinfo helps with e.g. initramfs
creation.

See: https://github.com/raspberrypi/linux/issues/6828

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2025-06-10 16:56:49 +01:00
Phil Elwell
844b4913f2 configs: Enable SENSORS_POWERZ
Enable drivers for the PowerZ range of power monitors.

See: https://github.com/raspberrypi/linux/issues/6787

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2025-06-10 16:56:49 +01:00
Dave Stevenson
34cab6d5dd drm/rp1-vec: Run DRM default client setup
Call drm_client_setup() to run the kernel's default client setup
for DRM. Set fbdev_probe in struct drm_driver, so that the client
setup can start the common fbdev client.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
2025-06-10 16:56:49 +01:00
Dave Stevenson
ec2c1562a4 drm/rp1-dsi: Run DRM default client setup
Call drm_client_setup() to run the kernel's default client setup
for DRM. Set fbdev_probe in struct drm_driver, so that the client
setup can start the common fbdev client.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
2025-06-10 16:56:49 +01:00
Dave Stevenson
2fcde88607 drm/rp1-dpi: Run DRM default client setup
Call drm_client_setup() to run the kernel's default client setup
for DRM. Set fbdev_probe in struct drm_driver, so that the client
setup can start the common fbdev client.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
2025-06-10 16:56:49 +01:00
Phil Elwell
e2ef951f67 arm64: dts: bcm2712-rpi: Add uart0_dma parameter
It seems that some applications don't work with UART DMA enabled, while
others don't work without it. No DMA seems to be the safer default
choice, but add a dtparam - uart0_dma - to re-enable it.

See: https://github.com/raspberrypi/linux/issues/6365

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2025-06-10 16:56:49 +01:00
Mark W
724fc74e61 Update panel-ilitek-ili9881c.c
Correcting display dimension typo
2025-06-10 16:56:49 +01:00
Phil Elwell
e52328c9a6 dmaengine: bcm2835: Fix a build warning
bcm2835_dma_suspend_late is only used if CONFIG_PM_SLEEP is defined,
so make it's presence similarly conditional to avoid a build warning
(and hence error).

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2025-06-10 16:56:49 +01:00