- Sep 27, 2023
-
-
Dom Cobley authored
-
Phil Elwell authored
The HAT map is way of associating named overlays with HATs whose EEPROMs were programmed with the contents of the overlay. Unfortunately, change in the DT and kernel drivers has meant that some of these embedded overlays no longer function, or even don't apply. The HAT map is a mapping from HAT UUIDs to overlay names. If a HAT with a listed UUID is detected, the embedded overlay is ignored and the overlay named in the mapping is loaded in its place. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
- Sep 14, 2023
-
-
Matthias Reichl authored
Commit 4e087133 ("ASoC: hdmi-codec: fix channel info for compressed formats") accidentally changed hcp->chmap_idx from ca_id, the CEA channel allocation ID, to idx, the index to the table of channel mappings ordered by preference. This resulted in wrong channel maps being reported to userspace, eg for 5.1 "FL,FR,LFE,FC" was reported instead of the expected "FL,FR,LFE,FC,RL,RR": ~ # speaker-test -c 6 -t sine ... 0 - Front Left 3 - Front Center 1 - Front Right 2 - LFE 4 - Unknown 5 - Unknown ~ # amixer cget iface=PCM,name='Playback Channel Map' | grep ': values' : values=3,4,8,7,0,0,0,0 Revert this incorrect change so that channel maps are properly reported again. Fixes: 4e087133 ("ASoC: hdmi-codec: fix channel info for compressed formats") Cc: stable@vger.kernel.org Signed-off-by: Matthias Reichl <hias@horus.com>
-
Phil Elwell authored
Partition the code to separate atomic and non-atomic methods so that none of them have to handle both cases. The result avoids using deferred work unless necessary, and should be easier to understand. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Move some functions into a more logical ordering. This change causes no functional change and is essentially cosmetic. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
8250 UARTs are available as PCIe devices, and there is already a config setting enabling the driver support, but the driver also has a hard limit on the number of instances - currently set to 1. Raise that limit to 5. See: https://github.com/raspberrypi/linux/issues/5590 https://forums.raspberrypi.com/viewtopic.php?t=355689 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Dave Stevenson authored
The debug message from bcm2835_codec_buf_prepare when the buffer size is incorrect can be a little spammy if the application isn't careful on how it drives it, therefore drop the priority of the message. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
The SPI core logs error messages if a compatible string device name is not also present as an spi_device_id. No spi_device_id values are specified by the driver, therefore we get 4 log lines every time it is loaded: SPI driver ads7846 has no spi_device_id for ti,tsc2046 SPI driver ads7846 has no spi_device_id for ti,ads7843 SPI driver ads7846 has no spi_device_id for ti,ads7845 SPI driver ads7846 has no spi_device_id for ti,ads7873 Add the spi_device_id values for these devices. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
For "Really Good Reasons" [1] the SPI core requires a match between compatible device strings and the name in spi_device_id. The ili9486 driver uses compatible strings "waveshare,rpi-lcd-35" and "ozzmaker,piscreen", but "rpi-lcd-35" and "piscreen" are missing, so add them. Compatible string "ilitek,ili9486" is already used by staging/fbtft/fb_ili9486, therefore leaving it present in ili9486 as an spi_device_id causes the incorrect module to be loaded, therefore remove this id. [1] https://elixir.bootlin.com/linux/latest/source/drivers/spi/spi.c#L487 Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Adds the option of selecting the DRM/KMS TinyDRM driver for this panel, rather than the deprecated FBTFT one. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Adds the DRM driver for the ILI9486. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Phil Elwell authored
The commit shown in Fixes: aims to improve interrupt throughput by getting the handlers invoked on different CPU cores. It does so (*) by using an irq_ack hook to change the interrupt routing. Unfortunately, the IRQ status bits must be cleared at source, which only happens once the interrupt handler has run - there is no easy way for one core to claim one of the IRQs before sending the remainder to the next core on the list, so waking another core immediately results in a race with a chance of both cores handling the same IRQ. It is probably for this reason that the routing change is deferred to irq_ack, but that doesn't guarantee no clashes - after irq_ack is called, control returns to bcm2836_chained_handler_irq which proceeds to check for other pending IRQs at a time when the next core is probably doing the same thing. Since the whole point of the original commit is to distribute the IRQ handling, there is no reason to attempt to handle multiple IRQs in one interrupt callback, so the problem can be solved (or at least made much harder to reproduce) by changing a "while" into an "if", so that each invocation only handles one IRQ. (*) I'm not convinced it's as effective as claimed since irq_ack is called _after_ the interrupt handler, but the author thought it made a difference. See: https://github.com/raspberrypi/linux/issues/5214 https://github.com/raspberrypi/linux/pull/1794 Fixes: fd4c9785 ("ARM64: Round-Robin dispatch IRQs between CPUs.") Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Dave Stevenson authored
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Adds the option for the touch controller to be connected to any of the I2C ports. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Ignacio Larrain authored
This fixes touchscreen calibration, axis swapping and inversion. As referenced in https://github.com/raspberrypi/linux/issues/5550
-
Alexander Winkowski authored
Signed-off-by: Alexander Winkowski <dereference23@outlook.com>
-
Alexander Winkowski authored
Clang 16 warns: ../drivers/staging/vc04_services/vc-sm-cma/vc_sm.c:816:19: warning: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Wsingle-bit-bitfield-constant-conversion] buffer->imported = 1; ^ ~ ../drivers/staging/vc04_services/vc-sm-cma/vc_sm.c:822:17: warning: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Wsingle-bit-bitfield-constant-conversion] buffer->in_use = 1; ^ ~ 2 warnings generated. Signed-off-by: Alexander Winkowski <dereference23@outlook.com>
-
Alexander Winkowski authored
Signed-off-by: Alexander Winkowski <dereference23@outlook.com>
-
Alexander Winkowski authored
Signed-off-by: Alexander Winkowski <dereference23@outlook.com>
-
Phil Elwell authored
6.2 is EOL, and 6.5 hasn't been released yet, so show the 6.4 build status.
-
Ben Benson authored
Updated imx296 driver to support external trigger mode via XTR pin. Added module parameter to control this mode. Signed-off-by: Ben Benson <ben.benson@raspberrypi.com>
-
Phil Elwell authored
Add support for the BMP380 pressor sensor to the i2c-sensor overlay. See: https://github.com/raspberrypi/linux/issues/5558 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Naushir Patuck authored
Add a 2-5ms delay when coming out of standby and before reading the sensor info register durning probe, as instructed by the datasheet. This standby delay is already present when the sensor starts streaming. Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
-
Phil Elwell authored
The RV3032 RTC requires an additional DT property to enable trickle charging. Add a parameter - trickle-voltage-mv - to the i2c-rtc and i2c-rtc-gpio overlays to set it. See: https://github.com/raspberrypi/linux/issues/5547 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
The Raspberry Pi Codec Zero (and IQaudIO Codec) don't notify the DA7213 codec when it needs to change PLL frequencies. As a result, audio can be played at the wrong rate - play a 48kHz sound immediately after a 44.1kHz sound to see the effect, but in some configurations the codec can lock into the wrong state and always get some rates wrong. Add the necessary notification to fix the issue. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Nicolai Buchwitz authored
Loading the regulatory database from the debian files fails with "loaded regulatory.db is malformed or signature is missing/invalid" due to missing certificates. Add these debian-specific certificates from upstream to fix this error. See #5536 for details. The certificates have been imported as following: patch -p1 <<<$( curl https://salsa.debian.org/kernel-team/linux/-/raw/\ master/debian/patches/debian/\ wireless-add-debian-wireless-regdb-certificates.patch ) Signed-off-by: Nicolai Buchwitz <n.buchwitz@kunbus.com>
-
Phil Elwell authored
Enable MPTCP for 64-bit kernels, but not IPV6 support because that requires IPV6=y and bloats the kernel by 500kB. See: https://github.com/raspberrypi/linux/pull/5487 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Add Pressure Stall Information support, disabled by default. Enable with "psi=1" in cmdline.txt. See: https://github.com/raspberrypi/linux/issues/4683 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
For some reason, TASK_DELAY_ACCT was enabled in all our defconfigs except arm64/bcm2711_defconfig. Correct the oversight. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
See: https://github.com/raspberrypi/linux/issues/5516 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
James Hughes authored
Update audremap information to state pins 40,41 are not available on the CM4. Signed-off-by: James Hughes <(james.hughes@raspberrypi.com)>
-
Lee Jackson authored
Enable PDAF output for all modes, and also need to modify Embedded Line Width to 11560 * 3 (two lines of Embedded Data + one line of PDAF). Signed-off-by: Lee Jackson <lee.jackson@arducam.com>
-
Lee Jackson authored
Added 8000x6000 10-bit (cropped) @ 3fps mode for Arducam 64MP Signed-off-by: Lee Jackson <lee.jackson@arducam.com>
-
Lee Jackson authored
Arducam 64MP has specific requirements for the line length, and if these conditions are not met, the camera will not function properly. Under the previous configuration, once a stream off operation is performed, the camera will not output any data, even if a stream on operation is performed. This prevents us from switching from 1280x720 to another resolution. Signed-off-by: Lee Jackson <lee.jackson@arducam.com>
-
Matthias Reichl authored
commit 4e087133 upstream. According to CTA 861 the channel/speaker allocation info in the audio infoframe only applies to uncompressed (PCM) audio streams. The channel count info should indicate the number of channels in the transmitted audio, which usually won't match the number of channels used to transmit the compressed bitstream. Some devices (eg some Sony TVs) will refuse to decode compressed audio if these values are not set correctly. To fix this we can simply set the channel count to 0 (which means "refer to stream header") and set the channel/speaker allocation to 0 as well (which would mean stereo FL/FR for PCM, a safe value all sinks will support) when transmitting compressed audio. Signed-off-by: Matthias Reichl <hias@horus.com> Link: https://lore.kernel.org/r/20230624165232.5751-1-hias@horus.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
-
Matthias Reichl authored
commit 04b49b90 upstream. The SADs of compressed formats contain the channel and sample rate info of the audio data inside the compressed stream, but when building constraints we must use the rates and channels used to transport the compressed streams. eg 48kHz 6ch EAC3 needs to be transmitted as a 2ch 192kHz stream. This patch fixes the constraints for the common AC3 and DTS formats, the constraints for the less common MPEG, DSD etc formats are copied directly from the info in the SADs as before as I don't have the specs and equipment to test those. Signed-off-by: Matthias Reichl <hias@horus.com> Link: https://lore.kernel.org/r/20230624165216.5719-1-hias@horus.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
-
Phil Elwell authored
Add a speed parameter to the jedec-spi-nor overlay to allow much faster accesses, taking the opportunity to simplify the internals. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Higher speeds have been shown to cause data corruption on a Pi 4, possibly due to clock-stretching. See: https://github.com/raspberrypi/linux/issues/5511 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Naushir Patuck authored
The temperature sensor enable register write got lost at some point. Re-enable it. Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
-
6by9 authored
The overlays configured both irq-gpio and an interrupts/ interrupt-parent configuration for the stmpe MFD device. irq-gpio was reworked in 6.1 and has issues with the configuration as provided. Removing it and using the interrupts/interrupt-parent configuration works fine, so do that. See: https://forums.raspberrypi.com/viewtopic.php?t=351394 Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-