- Jun 18, 2020
-
-
Phil Elwell authored
The i2c-gpio driver expects to use a GPIO in open-drain mode. Failure to configure it in that way causes alarming warnings in the kernel log. The BCM283x and BCM2711 GPIO blocks don't support open-drain mode, but gpiolib can emulate it in software if configured correctly. Silence the warning by declaring the GPIOs as requiring open-drain mode, trusting gpiolib to manage the emulation. The previous incarnation of this patch took the other approach of telling the i2c-gpio driver that the GPIOs were configured for open-drain, but this had the effect of disabling the emulation. In some cases this appears to work, but examining the waveforms as analogue voltages shows contention, the success or failure depending on drive strengths. See: https://github.com/raspberrypi/firmware/issues/1381 See: https://github.com/raspberrypi/firmware/issues/1401 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
This reverts commit 907e08e6.
-
Dom Cobley authored
Currently we call cec_phys_addr_invalidate on a hotplug deassert. That may be due to a TV power cycling, or an AVR being switched on (and switching edid). This makes CEC unusable. Set it back up again on the hotplug assert. Signed-off-by: Dom Cobley <popcornmix@gmail.com>
-
Phil Elwell authored
Commit "staging: vchiq_arm: Clean up 40-bit DMA support" failed to change one of the calls to dma_unmap_sg to pass in g_dma_dev (rather than g_dev). Correct that oversight. See: https://github.com/raspberrypi/linux/issues/3647 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Dom Cobley authored
Allows use of the same alsa conf file for hdmi1 Signed-off-by: Dom Cobley <popcornmix@gmail.com>
-
Phil Elwell authored
Enable the MAX98357A driver. See: https://www.raspberrypi.org/forums/viewtopic.php?f=107&t=275919 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Kevin P. Fleming authored
While the RV-1805 is supported by the rtc-abx80x driver via auto-detection, in order for it to be initialized properly it must be explcitly selected. Signed-off-by: Kevin P. Fleming <kevin+linux@km6g.us>
-
David Plowman authored
The bytes per line numbers calculated by get_bytesperline was not matching the equivalent calculation being performed by the VideoCore (mostly by the calculate_pitch function there), resulting in failures to set the image format with some image width values. This patches up the RGB24 and YUYV type formats to match the VideoCore calculation. Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
-
Hristo Venev authored
Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <hristo@venev.name>
-
Phil Elwell authored
The abx80x implementation of the trickle-resistor-ohms parameter is missing the ":0" indicating that the target is an integer/cell value. See: https://github.com/raspberrypi/linux/issues/3642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
David Lechner authored
This fixes a gcc warning about misleading whitespace. Signed-off-by: David Lechner <david@lechnology.com>
-
bjorn authored
Signed-off-by: Bjorn <beikeland@gmail.com>
-
Pali Rohár authored
Raspberry Pi 1 Model B rev 1 uses GPIO1 for power-up instead of GPIO3.
-
Pali Rohár authored
KeyboardSignal and kb::kbrequest can be used to call /sbin/shutdown
-
Phil Elwell authored
The abx80x implementation of the trickle-resistor-ohms parameter is missing the ":0" indicating that the target is an integer/cell value. See: https://github.com/raspberrypi/linux/issues/3642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Chen-Yu Tsai authored
To expose thermal regions as hwmon devices, the HWMON core has to be built-in, so that THERMAL_HWMON can be enabled. Signed-off-by: Chen-Yu Tsai <wens@csie.org>
-
Chen-Yu Tsai authored
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
-
David Plowman authored
Since the unicam driver was modified to write to a dummy buffer when no user-supplied buffer is available, it can now write to and return a buffer even when there's only a single one. Enable this by changing the min_buffers_needed in the vb2_queue; it will be useful for enabling still captures without allocating more memory than absolutely necessary. Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
-
Phil Elwell authored
This reverts commit e5e8a221.
-
Phil Elwell authored
Now that the enhanced BCM2711 DMA controller is located by compatible string and used directly for generating bulk transfer addresses, remove the workaround of moving the vchiq node. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Manage the split between addresses for the VPU and addresses for the 40-bit DMA controller with a dedicated DMA device pointer that on non- BCM2711 platforms is the same as the main VCHIQ device. This allows the VCHIQ node to stay in the usual place in the DT, and removes the ugly VC_SAFE macros. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Naushir Patuck authored
The test should return -EIO if the register read id does not match the expected sensor id. Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
-
Dave Stevenson authored
Under FKMS, the firmware (via FKMS) also requires the VideoCore cache aliases for image planes, as defined by the dma-ranges under /soc. Add rpi-firmware-kms to the list of acceptable nodes to look for to copy dma config from. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
vc4_drv isn't necessarily under the /soc node in DT as it is a virtual device, but it is the one that does the allocations. The DMA addresses are consumed by primarily the HVS or V3D, and those require VideoCore cache alias address mapping, and so will be under /soc. During probe find the a suitable device node for HVS or V3D, and adopt the DMA configuration of that node. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Phil Elwell authored
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Enabling zswap support in the kernel configuration costs about 1.5MB of RAM, even when zswap is not enabled at runtime. This cost can be reduced significantly by deferring initialisation (including pool creation) until the "enabled" parameter is set to true. There is a small cost to this in that some initialisation code has to remain in memory after the init phase, just in case they are needed later, but the total size increase is negligible. See: https://github.com/raspberrypi/linux/pull/3432 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
The "compressor" and "zpool" parameters of the zswap module each has a custom setter function that calls __zswap_param_set with specific parameters, but the "zpool" setter uses parameters that are correct for the "compressor" parameter, and vice-versa. Fix this by swapping the function bodies over. Fixes: 90b0fc26 ("zswap: change zpool/compressor at runtime") Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Dave Stevenson authored
The change to retrieve the pixel format always on g_fmt didn't check whether the native or unpacked version of the format had been requested, and always returned the packed one. Correct this so that the packing setting is retained whereever possible. Fixes "9d59e89e media: bcm2835-unicam: Re-fetch mbus code from subdev on a g_fmt call" Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
j-schambacher authored
Replaces obsolete function snd_soc_dai_set_tdm_slot Signed-off-by: Joerg Schambacher <joerg@i2audio.com>
-
Phil Elwell authored
The CMA handling change broke the audio parameter - the fragment numbering has changed - so fix it. See: https://github.com/raspberrypi/linux/issues/2489 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
The arm bcm2711_defconfig and the arm64 bcmrpi3_defconfig have been missing their NF_TABLES settings. Restore them. See: https://github.com/raspberrypi/linux/issues/3615 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Dave Stevenson authored
V4L2 wishes to have the codec header bytes in the same buffer as the first encoded frame, so it does become 1-in 1-out for encoding. The firmware now has an option to do this, so enable it. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
The firmware by default is quite happy to fragment encoded frames as the original MMAL and IL APIs support this. V4L2 doesn't, so we need to enable the firmware option to avoid this. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
V4L2 wishes to have the codec header bytes in the same buffer as the first encoded frame, so it does become 1-in 1-out for encoding. The firmware now has an option to do this, so enable it. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Adds in a couple of new MMAL parameter defines. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Adding the Broadcast RGB range selection broke the VIC field of the AVI infoframes on HDMI, zeroing them for all modes on an HDMI monitor. Correct this so that it is only zeroed if the range is contrary to the standard range of the mode. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Phil Elwell authored
The SC16IS7XX hardware flow control is mishandled by the driver in a number of ways: 1. The set_baud method accidentally clears it when setting EFR bit. 2. Even though hardware flow control is enabled, it isn't indicated back to the serial framework. 3. Applying the flow control clears the EFR bit. 4. The CTS support is not indicated in the return from sc16is7xx_get_mctrl. Address all of those issues using a mixture of patches found on the linked pages. See: https://github.com/raspberrypi/linux/issues/2542 See: https://www.spinics.net/lists/linux-serial/msg21794.html Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Dave Stevenson authored
From when bringing up the driver, there was a check in the isr to ignore interrupts (claiming them handled) should the driver not be streaming. The VPU now will not register a camera driver if it finds a CSI2 node enabled in device tree, therefore this flawed check is redundant. https://github.com/raspberrypi/linux/issues/3602 Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Phil Elwell authored
Switch to the upstream cpufreq driver on non-BCM2835 Pis. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-