ea34d5a | Phil Elwell | 30 May 2024, 14:59:52 UTC | ARM: dts: Move rpi-otp nodes onto a dedicated bus The rpi-otp driver uses a virtualised, OTP-relative addressing scheme. However, when instance nodes are children of "/soc" they appear to be addressable directly by the host, which is wrong (but not in a way which causes an error unless one goes looking for one). Add a wrapper (bus) node without a "ranges" property to make the separation clear. See: https://github.com/raspberrypi/linux/issues/6196 Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:20 UTC |
e82ad4a | Michiiel | 30 May 2024, 13:43:21 UTC | fix Hsync and Vsync polarity can't change from negatieve to positief … (#6193) vc4/hdmi: Fix Hsync and Vsync polarity changes Polarity bits were only ever set and never cleared. Make sure they can also be cleared. Signed-off-by: Michiel Vanbiervliet <michiel.vanbiervliet@gmail.com> | 03 June 2024, 17:49:20 UTC |
73659b0 | Matthew | 26 May 2024, 18:20:50 UTC | Update DAC8x to support 384khz (#6187) Update rpi-simple-soundcard.c with 384kHz support. | 03 June 2024, 17:49:19 UTC |
233fb22 | Jonathan Bell | 24 May 2024, 13:49:28 UTC | DTS: overlays: add mmio-hi parameter to pciex1-compat-pi5 I225-V network adapters have a buggy ROM that won't complete internal initialisation if (at least) BAR0 has an assigned address of 0x0. Add a parameter to the pciex1-compat-pi5 overlay to make outbound addresses start at 2GB. Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com> | 03 June 2024, 17:49:19 UTC |
a5abf3c | Phil Elwell | 24 May 2024, 10:14:18 UTC | configs: Enable Hailo accelerator driver Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:19 UTC |
ae1f69e | Naushir Patuck | 21 May 2024, 11:56:17 UTC | drivers: media: pci: Add Hailo accelerator device drivers Add version 4.17.1 of the Hailo PCIe device drivers. Sourced from https://github.com/hailo-ai/hailort-drivers/ Signed-off-by: Naushir Patuck <naush@raspberrypi.com> | 03 June 2024, 17:49:19 UTC |
d4aee1d | Dave Stevenson | 17 May 2024, 16:37:33 UTC | drm/bridge: panel: Name an associated backlight device Pass the DRM connector name to any configured backlight device so that userspace can associate the two items. Ideally this should be in drm_panel, but it is bridge/panel that creates the drm_connector and therefore knows the name. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:19 UTC |
46dbe56 | Dave Stevenson | 17 May 2024, 16:35:25 UTC | backlight: Add a display name to the core, and a function to set it The naming of backlight devices is not terribly useful for associating a backlight controller with a display (assuming it is attached to one). Add a sysfs node that will return a display name that can be set by other subsystems. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:19 UTC |
24eef2b | Phil Elwell | 22 May 2024, 13:13:25 UTC | ARM: dts: Fix camera sync parameters The camera sync parameter declarations include are invalid in that they have both embedded string values and following cell values. The intention here was to use the cell values, but the embedded "0" was not removed as it should have been. The implication of this mistake is that inverted sync flags would be ignored because the 0 value corresponds to GPIO_ACTIVE_HIGH. The extra cell value would be treated as the start of another override, but then ignored because the end of the parameter is reached. These errors should have been picked up by the automated checks, but the base dts files weren't subjected to the same validation. This has now been corrected. Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:19 UTC |
56a9416 | Jonathan Bell | 22 May 2024, 08:46:54 UTC | drivers: pcie-brcmstb: add best-effort workaround for QoS bug on bcm2712 If a set of read requests are issued by an endpoint, they are streamed into a resynchronisation FIFO prior to exiting the RC. This FIFO has an edge case where it can drop QoS for a request to 0 if there's a single outstanding read request in the FIFO, and another is pushed when the FIFO is popped. Requests with a QoS of 0 can take hundreds of microseconds to complete. By adding an experimentally-determined amount of backpressure on the pop side, the critical level transition can largely be avoided. Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com> | 03 June 2024, 17:49:19 UTC |
1afd465 | David Plowman | 15 February 2024, 13:35:04 UTC | drivers: staging: bcm2835-isp: Respect caller's stride value The stride value reported for output image buffers should be at least as large as any value that was passed in by the caller (subject to correct alignment for the pixel format). If the value is zero (meaning no value was passed), or is too small, the minimum acceptable value will be substituted. Signed-off-by: David Plowman <david.plowman@raspberrypi.com> | 03 June 2024, 17:49:19 UTC |
5d6b12d | Phil Elwell | 21 May 2024, 11:05:26 UTC | overlays: Add sdio -> sdio-pi5 mapping There is already an sdio-pi5 overlays, but the automatic mapping was missing. Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:19 UTC |
566cb54 | Jonathan Bell | 20 May 2024, 14:12:41 UTC | DTS: overlays: add pciex1-compat-pi5 Interop testing with the M.2 HAT has revealed that there are many quirky endpoint devices out there, so users should have a way of rapidly iterating to find which quirk is causing reliability issues. Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com> | 03 June 2024, 17:49:19 UTC |
ead65e6 | Jonathan Bell | 20 May 2024, 13:45:37 UTC | DTS: bcm2712: don't assume L1 sub-state support at chip level L1 sub-states require the connection of the CLKREQ# auxiliary signal which is a PCB-level decision, and also depends on the vagrancies of adapters/interposers/slots that may exist between the chip and the endpoint. If this parameter is present, and the RC driver sees an L1 substate capability in the endpoint, then the result is a broken link if CLKREQ# isn't end-to-end connected - regardless of the state of the L1.x enable bits in the RC. Board-specific methods (HAT+ overlay, board DTB) should define this property if required. Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com> | 03 June 2024, 17:49:19 UTC |
fc573f8 | Dave Stevenson | 10 May 2024, 10:31:44 UTC | dtoverlay: Add rgb-order override for vc4-kms-dpi-generic Sets the new DT property for rgb-order. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:19 UTC |
898e03c | Dave Stevenson | 10 May 2024, 10:30:25 UTC | drm/vc4: dpi: Add override for RGB order There are no MEDIA_BUS_FMT_* defines for GRB or BRG, and adding them is a pain. Add a DT override to allow setting the order. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:19 UTC |
532b3bc | Dave Stevenson | 17 May 2024, 13:27:59 UTC | regulator: rpi_panel_v2: Add delay on I2C reads As with many microcontrollers, the panel wants to use clock stretching during a read so that the appropriate return value can be generated and programmed into the hardware. With Pi0-3 really not supporting clock stretching, this resulted in the panel firmware dying. Insert a delay between the write and the read to give the firmware a chance to generate the relevant return value. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:19 UTC |
72f53c8 | Dave Stevenson | 16 May 2024, 17:26:36 UTC | regulator: rpi_panel_v2: Add remove and shutdown hooks Add shutdown and remove hooks so that the panel gets powered off with the system. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:19 UTC |
aa9f3f5 | Dave Stevenson | 16 May 2024, 17:24:01 UTC | dtoverlays: Fix noints mode of mcp23017 noints mode disables 2 fragments that configure a GPIO to be used for the interrupt line from the MCP23017, but fails to remove the pinctrl-0 reference or pinctrl-names. It therefore fails to load due to an invalid phandle. Move the pinctrl-0 and pinctrl-names properties so they also get disabled by the noints override. https://forums.raspberrypi.com/viewtopic.php?t=370907 Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:19 UTC |
98eaf83 | Jonathan Bell | 15 May 2024, 14:21:14 UTC | DTS: bcm2712: set nonzero QoS values for PCIE1 If PCIE1 is left with the default (zero) AXI QoS values, endpoints can receive extremely poor service for non-posted transactions e.g. reads. Such transactions can take milliseconds to complete on a contended system. Bump priorities for every TC above the non-realtime greedy peripherals in BCM2712, to allow reasonable service without competing against hard realtime peripherals. Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com> | 03 June 2024, 17:49:18 UTC |
2464706 | Dave Stevenson | 17 April 2024, 14:46:43 UTC | staging: bcm2835_codec: Pass framerate to the component if set late For video encoding, if the framerate was set after the component was created, then it wasn't set correctly on the port, and an old value was encoded in the bitstream. Update the port status when the framerate is set. https://github.com/raspberrypi/rpicam-apps/issues/664 Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:18 UTC |
0ac69a1 | Phil Elwell | 13 May 2024, 14:40:02 UTC | spi: dw: Handle any number of gpiod CS lines Even when configured to use only gpiod CS lines, the DW SPI controller still expects a bit to be set in the SER register, otherwise transfers stall. For the csgpiod case, nominate bit 0 for the job. See: https://github.com/raspberrypi/linux/issues/6159 Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:18 UTC |
d8df0d6 | Dave Stevenson | 13 May 2024, 15:42:56 UTC | staging: bcm2835-codec: 32bpp RGB formats need a 64byte alignment The firmware needs 16 pixel alignment on RGBx 32bpp formats, which would be 64 byte. The driver was only setting 32byte alignment. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:18 UTC |
2bb68dc | Dave Stevenson | 08 May 2024, 17:05:08 UTC | dts: bcm2712: Drop snd_bcm2835 bootargs references from Pi5 Pi5 has no VCHIQ to support the snd_bcm2835 firmware audio driver, so remove the reference to it from bootargs. https://forums.raspberrypi.com/viewtopic.php?p=2219395#p2219395 Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:18 UTC |
47a0669 | Dave Stevenson | 07 May 2024, 10:44:49 UTC | drm/vc4: Fix potential null pointer read when disabling vblank vc4_disable_vblank assumed that vc4_encoder was always assigned, which isn't guaranteed. If it isn't assigned then disable the interrupt anyway as it's not connected. https://github.com/raspberrypi/linux/issues/6146 Fixes: 63c0bcc4b747 ("drm/vc4: Add option to call from crtc to encoder on vblank") Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:18 UTC |
6115d46 | Phil Elwell | 07 May 2024, 12:38:21 UTC | ARM: dts: Update strict_gpiod dtparams Following the adoption upstream of a similar parameter but with another name, update the dtparam definitions to use the new name and sense. Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:18 UTC |
63c3797 | Phil Elwell | 07 May 2024, 12:33:48 UTC | pinctrl: rp1: Use persist_gpio_outputs Following 8ff05989b44e1a8f7d2bbe67320990ebc2fbb5e5, adopt the same parameter name but with the opposite default. Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:18 UTC |
3e1e617 | Phil Elwell | 07 May 2024, 11:14:12 UTC | pinctrl: bcm2835: Persist outputs by default Having accepted the upstream change to add the persist_gpio_outputs parameter, make it true by default. See: https://github.com/raspberrypi/linux/pull/6117 Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:18 UTC |
ac310bc | Stefan Wahren | 03 May 2024, 06:27:45 UTC | pinctrl: bcm2835: Make pin freeing behavior configurable commit 8ff05989b44e1a8f7d2bbe67320990ebc2fbb5e5 upstream. Until now after a bcm2835 pin was freed its pinmux was set to GPIO_IN. So in case it was configured as GPIO_OUT before the configured output level also get lost. As long as GPIO sysfs was used this wasn't actually a problem because the pins and their possible output level were kept by sysfs. Since more and more Raspberry Pi users start using libgpiod they are confused about this behavior. So make the pin freeing behavior of GPIO_OUT configurable via module parameter. In case pinctrl-bcm2835.persist_gpio_outputs is set to 1, the output level is kept. This patch based on the downstream work of Phil Elwell. Link: https://github.com/raspberrypi/linux/pull/6117 Signed-off-by: Stefan Wahren <wahrenst@gmx.net> Message-ID: <20240503062745.11298-1-wahrenst@gmx.net> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> | 03 June 2024, 17:49:18 UTC |
0bbab73 | Phil Elwell | 07 May 2024, 11:01:50 UTC | Revert "pinctrl: bcm2835: Only return non-GPIOs to inputs" This reverts commit 2f8da7f53ea26023dbd921edfbfa398d8f3b19d5. | 03 June 2024, 17:49:18 UTC |
f6b53c6 | Phil Elwell | 07 May 2024, 10:54:04 UTC | Revert "pinctrl: bcm2835: Add strict_gpiod module parameter" This reverts commit c6ee9316ac1ed750c61d068cecc155d2c744fa1b. | 03 June 2024, 17:49:18 UTC |
cf8bd6c | Phil Elwell | 07 May 2024, 10:45:05 UTC | configs: Enable BCACHEFS as a module BCACHEFS is a new, copy on write filesystem. Enable it as a module for evaluation, along with some of the optional features. See: https://github.com/raspberrypi/linux/issues/6135 Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:18 UTC |
262725a | Phil Elwell | 06 May 2024, 11:21:21 UTC | overlays: Add sc16is750-spi0 Essentially a rename of the equivalent overlay for the SC16IS752. Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:18 UTC |
b4649d6 | Dave Stevenson | 11 March 2024, 15:19:07 UTC | defconfigs: Add ILI9881 to rpi and bcm2709 defconfigs Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:18 UTC |
5d9e9cf | Stefan Wahren | 01 May 2024, 09:18:49 UTC | overlays: qca7000: Adjust URL & README info in-tech smart charging is now called chargebyte. Our product name seems to be more stable than our company name, so drop them where it's possible. Signed-off-by: Stefan Wahren <stefan.wahren@chargebyte.com> | 03 June 2024, 17:49:18 UTC |
ab35dc4 | Nick Hollinghurst | 29 April 2024, 13:54:49 UTC | drm: rp1: dpi: Add support for MEDIA_BUS_FMT_RGB565_1X24_CPADHI This new format corresponds to the Raspberry Pi legacy DPI mode 3. Signed-off-by: Nick Hollinghurst <nick.hollinghurst@raspberrypi.com> | 03 June 2024, 17:49:18 UTC |
ccbb4ff | Michał Gapiński | 24 April 2024, 16:54:39 UTC | overlays: Add overlay for the Pineboards Hat Ai! This overlay simplifies the configuration of the Coral Edge TPU (Single and Dual Edge) on the Pi 5. | 03 June 2024, 17:49:17 UTC |
6b7b0f5 | Dave Stevenson | 25 April 2024, 16:13:05 UTC | regulator/rpi-panel: Power off display on shutdown Adds a shutdown function to turn off the backlight, bridge, and touch controller on shutdown. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:17 UTC |
75f0b1c | Dave Stevenson | 26 April 2024, 16:48:06 UTC | drm/vc4: Fixup mode for 7inch panel on DSI0 The TC358762 bridge and panel decodes the mode differently on DSI0 to DSI1 for no obvious reason, and results in a shift off the screen. Whilst it would be possible to change the compatible used for the panel, that then messes up Pi5. As it appears to be restricted to vc4 DSI0, fix up the mode in vc4_dsi. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:17 UTC |
013f810 | Dave Stevenson | 26 April 2024, 18:20:41 UTC | drm/panel-simple: Increase pixel clock on Pi 7inch panel The Toshiba bridge is very fussy and doesn't like the CM3 output when being told to produce a 27.777MHz pixel clock, which is an almost perfect match to the DSI link integer divider. Increasing to 30MHz will switch the DSI link from 333MHz to 400MHz and makes the bridge happy with the same video timing as works on Pi4. (Pi4 will be using a link frequency of 375MHz due to a 3GHz parent PLL). Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:17 UTC |
5f4633d | Dave Stevenson | 26 April 2024, 16:50:15 UTC | drm/panel-simple: Fix 7inch panel mode for misalignment The 7inch panel is one line off the screen both horizontally and vertically. Alter the panel mode to correct this. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:17 UTC |
c077d30 | Dave Stevenson | 26 April 2024, 16:06:57 UTC | ARM: dts: bcm283x: Switch DSI0 to taking clock from PLLD PLLD is considered more stable than PLLA as it doesn't get varied. The clock muxing has been updated to driver DSI0 from PLLD, so update DT to match. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:17 UTC |
7238fa0 | Dave Stevenson | 26 April 2024, 16:05:39 UTC | clk-bcm2835: Use PLLD for DSI0 HS clock DSI0 can take the clock from either PLLA or PLLD. PLLA is the default muxing, but PLLD is considered the more stable. Switch to using PLLD. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:17 UTC |
7d33167 | Dave Stevenson | 05 April 2024, 16:40:05 UTC | drm/vc4: Add vblank callback to DSI0 to reset FIFO The pixel to byte FIFO appears to not always reset correctly, which can lead to colour errors and/or horizontal shifts. Reset on every vblank to work around the issue. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:17 UTC |
2ddd780 | Dave Stevenson | 05 April 2024, 16:34:09 UTC | drm/vc4: Add option to call from crtc to encoder on vblank DSI0 is misbehaving and needs to action things on vblank to work around it. Add a new hook to call across during vblank. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:17 UTC |
3119c7b | Dave Stevenson | 05 April 2024, 16:51:55 UTC | drm/vc4: Ensure DSI is enabled for FIFO resets The block must be enabled for the FIFO resets to be actioned, so ensure this is the case. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:17 UTC |
1be8fc0 | Dave Stevenson | 26 May 2022, 17:56:19 UTC | drm: vc4: Reset DSI AFE on disable vc4_dsi_bridge_disable wasn't resetting things during shutdown, so add that in. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:17 UTC |
1269d98 | Dave Stevenson | 08 June 2022, 16:23:47 UTC | drm: vc4: dsi: Clocks should be running before reset The initialisation sequence differs slightly from the documentation in that the clocks are meant to be running before resets and similar. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:17 UTC |
bb1f77a | Dave Stevenson | 09 January 2024, 18:44:49 UTC | drm/bridge: tc358762: revert move ops to enable Reverts 8a4b2fc9c91a ("drm/bridge: tc358762: Split register programming from pre-enable to enable") as we want the config commands sent before video starts. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:17 UTC |
38a8ae4 | Dave Stevenson | 09 January 2024, 17:37:00 UTC | drm/bridge: tc358762: Program the DPI mode into the chip The autodetection of resolution/timing by the TC358762 can lead to the display being shifted by a pixel or two. Program the TC358762 with the requested mode timing so that it can reproduce it accurately. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:17 UTC |
965eaa3 | Christian Speich | 22 April 2024, 17:36:34 UTC | dts: overlay: ov5647: Specify clock-noncontinuous on CSI endpoint The OV5647 declares that it wants a non-continuous clock in its endpoint configuration. However, it does not expose this information via get_mbus_config. Even if it would implement get_mbus_config the bcm2835-unicam driver would not evaluate the flags field of it. By also specifying clock-noncontinuous on the CSI endpoint itself, the CSI driver properly picks up the requests and enables the non-continuous clock mode. Signed-off-by: Christian Speich <christian@spei.ch> | 03 June 2024, 17:49:17 UTC |
a69306f | Phil Elwell | 26 April 2024, 16:40:09 UTC | configs: Add IP_NF_TARGET_SYNPROXY=m This is the IPv4 version of the IPv6 option IP6_NF_TARGET_SYNPROXY, which is already enabled as a module. See: https://github.com/raspberrypi/linux/issues/6127 Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:17 UTC |
050e223 | Nick Hollinghurst | 16 April 2024, 16:30:32 UTC | drm: rp1: vec: Support more video modes in the RP1 VEC driver Support a wider range of pixel clock rates. The driver will round pixclock up to 108MHz/n but tries to honour the desired image width and position (of the centre of the display relative to HSYNC_STARTs). This adds complexity but removes the need for separate 13.5MHz and 15.428MHz modes. Support "fake" double-rate progressive modes (in which only every 2nd scanline is displayed). To work around aspect ratio issues. Add Monochrome TV mode support. Add "vintage" modes (544x380i for System A; 848x738i for System E) when configured for Monochrome. Add a way to create a "custom" display mode from a module parameter. Signed-off-by: Nick Hollinghurst <nick.hollinghurst@raspberrypi.com> | 03 June 2024, 17:49:16 UTC |
a45a4ab | Dave Stevenson | 18 April 2024, 14:39:16 UTC | drm/panel-simple: Remove custom handling of orientation The framework now handles reading orientation from DT, therefore remove the custom get_orientation hook from panel-simple. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:16 UTC |
5b330be | Dave Stevenson | 18 April 2024, 11:43:12 UTC | Revert "drm/panel: simple: Remove custom handling of orientation" This reverts commit 8b2f7c09e480d769e622a42e25cfd1c4c42b092c. | 03 June 2024, 17:49:16 UTC |
1fa9395 | Dave Stevenson | 18 April 2024, 11:40:42 UTC | Revert "drm/panel-simple: hack ignore orientation" This reverts commit 1b2a7364e82f14295137dd64fdecb336c1a3ef7b. | 03 June 2024, 17:49:16 UTC |
fef4179 | Dave Stevenson | 01 February 2022, 12:20:20 UTC | drm/panel: Add and initialise an orientation field to drm_panel from OF "rotation" is listed as a standard property of panels in panel-common.yaml, therefore it would be logical to process that from within the core code should a panel driver not implement the get_orientation hook. Call of_drm_get_panel_orientation from drm_connector_set_orientation_from_panel to get that information. This removes the need for any boiler-plate in panel drivers for calling drm_connector_set_orientation_from_panel or drm_connector_set_panel_orientation. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:16 UTC |
ab273ed | Nick Hollinghurst | 22 April 2024, 12:06:21 UTC | DRM: rp1: rp1-dsi: Fix escape clock divider and timeouts. Escape clock divider was fixed at 5, which is correct at 800Mbps/lane but increasingly out of spec for higher rates. Compute it correctly. High speed timeout was fixed at 5*512 == 2560 byte-clocks per lane. Compute it conservatively to be 8/7 times the line period (assuming there will be a transition to LP some time during each scanline?) keeping the old value as a lower bound. Increase LPRX TO to 1024, and BTA TO to 0xb00 (same value as in bridge/synopsys/dw-mipi-dsi). (No change to LP_CMD_TIM. To do: compute this correctly.) Signed-off-by: Nick Hollinghurst <nick.hollinghurst@raspberrypi.com> | 03 June 2024, 17:49:16 UTC |
c7b270a | Dom Cobley | 23 April 2024, 16:30:56 UTC | vc4/hdmi: Ignore hotplug interrupt with force_hotplug The intention of the vc4.force_hotplug setting is to ignore hotplug completely. It can be used when a display toggles hotplug when switching AV inputs, going into standby or changing a KVM switch, and some side effect of that is unwanted. It turns out while vc4.force_hotplug currently makes hotplug always read as asserted, that isn't enough to stop drm doing lots of stuff, including re-reading the edid. An example of what drm does with a hotplug deasert/assert and vc4.force_hotplug=1 currently is: https://paste.debian.net/hidden/dc07434b/ That is unwanted. Lets ignore the hotplug interrupt completely so drm is blissfully unaware of the hotplug change. Signed-off-by: Dom Cobley <popcornmix@gmail.com> | 03 June 2024, 17:49:16 UTC |
2ad1753 | Naushir Patuck | 23 April 2024, 11:50:23 UTC | drivers: media: cfe: Add remap entries for mono formats The 8-bit and 16-bit mono formats were missing the appropriate remap entries in the format table. Signed-off-by: Naushir Patuck <naush@raspberrypi.com> | 03 June 2024, 17:49:16 UTC |
948e0b5 | popcornmix | 23 April 2024, 08:51:36 UTC | dw-axi-dmac-platform: Avoid trampling with zero length buffer This code: for_each_sg(sgl, sg, sg_len, i) num_sgs += DIV_ROUND_UP(sg_dma_len(sg), axi_block_len); determines how many hw_desc are allocated. If sg_dma_len(sg)=0 we don't allocate for this sgl. However in the next loop, we will increment loop for this case, and loop gets higher than num_sgs and we trample memory. Signed-off-by: Dom Cobley <popcornmix@gmail.com> | 03 June 2024, 17:49:16 UTC |
f84fc56 | Phil Elwell | 19 April 2024, 14:31:20 UTC | overlays: README: Document the strict_gpiod dtparam Describe the function of the strict_gpiod dtparam. Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:16 UTC |
7165532 | Phil Elwell | 19 April 2024, 14:26:50 UTC | overlays: README: Sort the dtparam names There are enough dtparams now that not having them in alphabetical order makes them hard to find. Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:16 UTC |
4f964f9 | Phil Elwell | 19 April 2024, 14:02:02 UTC | ARM: dts: Add strict_gpiod dtparam Setting strict_gpiod disables the GPIO output persistence, such that pins are returned to being inputs when they are released. Note that this applies to the GPIO/pinctrl driver for the user-facing GPIOs, not the SoC GPIOs on Pi 5. Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:16 UTC |
ccb29eb | Phil Elwell | 19 April 2024, 14:00:52 UTC | pinctrl: rp1: Add strict_gpiod module parameter Setting strict_gpiod to Y makes libgpiod and the gpiod utilities behave as documented, i.e. pins are returned to being GPIO inputs when they are released. Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:16 UTC |
3bfb241 | Phil Elwell | 19 April 2024, 13:56:32 UTC | pinctrl: bcm2835: Add strict_gpiod module parameter Setting strict_gpiod to Y makes libgpiod and the gpiod utilities behave as documented, i.e. pins are returned to being GPIO inputs when they are released. drivers/pinctrl/bcm/pinctrl-bcm2835.c Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:16 UTC |
1bbe570 | Phil Elwell | 08 March 2024, 14:50:54 UTC | ARM: dts: rp1: Add a gpio-ranges property gpio-ranges declares a relationship between pinctrl and GPIO controllers. It is required for "strict" mode to work. Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:16 UTC |
26f3d26 | Dave Stevenson | 03 April 2024, 15:08:07 UTC | dt: Add camX_sync option to configure a GPIO following cam FS/FE Unicam now takes an optional GPIO to expose frame start/end timing, so add an override to configure that. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:16 UTC |
78d6ab3 | Dave Stevenson | 03 April 2024, 15:06:08 UTC | media: bcm2835-unicam: Add option for a GPIO to reflect FS/FE timing The legacy stack had an option to have a GPIO track frame start and end events to give basic synchronisation to the incoming image stream. https://forums.raspberrypi.com/viewtopic.php?t=190314 Replicate this in the kernel Unicam driver. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:16 UTC |
da1c322 | Dave Stevenson | 19 April 2024, 10:35:41 UTC | overlays/README: Document that vc4-(f)kms requires >=512MB The firmware stops vc4-kms-v3d and vc4-fkms-v3d loading if the system has less than 512MB of RAM. It can work if gpu_mem and CMA heap size are set appropriately, but can't be guaranteed. Document this restriction. Also drops Eric's name from the overlay description as it isn't relevant or accurate anymore. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> | 03 June 2024, 17:49:15 UTC |
10ec60e | Phil Elwell | 17 April 2024, 14:57:07 UTC | dts: bcm2712: cm5: Force the ANT pins to GPIOs The magic required to make requesting a GPIO automatically change the pinmux settings is currently absent. Work around that by explicitly requesting that the ANT pins be in GPIO mode. Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:15 UTC |
2de0a8c | Phil Elwell | 15 April 2024, 20:28:11 UTC | dts: bcm2712: cm5: Add antenna controls Use the same ant1/ant2/noant controls as CM4. Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:15 UTC |
45205ad | Phil Elwell | 17 April 2024, 14:55:05 UTC | dts: bcm2712: cm5: There is no card detect signal Delete the reference to the EMMC/SD card detect signal because the pin is used for ANT1 on CM5. Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:15 UTC |
b74b8ac | Phil Elwell | 18 April 2024, 21:13:58 UTC | ASoC: bcm: Add "owner" info for more soundcards See: https://github.com/raspberrypi/linux/issues/5697 Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:15 UTC |
5374005 | Phil Elwell | 18 April 2024, 13:55:50 UTC | fixup! bcm2708 framebuffer driver Make CONFIG_FB_BCM2708 select CONFIG_FB_DEVICE, to avoid potential build problems. See: https://github.com/raspberrypi/linux/issues/6059 Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:15 UTC |
487e305 | Phil Elwell | 18 April 2024, 10:24:54 UTC | overlays: Force IRQ pins to inputs Requesting a GPIO as an interrupt source does not automatically make it an input (or even a GPIO pin). Add the necessary pinctrl nodes to the overlays that don't already do this. See: https://github.com/raspberrypi/linux/issues/6106 Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:15 UTC |
a7748a0 | Phil Elwell | 17 April 2024, 16:20:05 UTC | ASoC: bcm: Use power-of-2 bclk_ratios The soundcard drivers originally used snd_pcm_format_physical_width, but a later commit changed that to snd_pcm_format_width because the in-memory sample storage width should not be a factor in determining the bclk_ratio. However, the physical width rounds the sample bits up to the nearest power of 2, which makes it easier to find integer clock divisors. Restore the old behaviour, but with an implementation that makes it clear what is going on. See: https://github.com/raspberrypi/linux/issues/6104 Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:15 UTC |
7d25375 | Jonathan Bell | 17 April 2024, 16:03:56 UTC | DTS: overlays: fix Pi 5 midi-over-UART The UART source clock is 50MHz not 100MHz, so fix the fake-clock used to munge the baudrate. See https://forums.raspberrypi.com/viewtopic.php?p=2212755 Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com> | 03 June 2024, 17:49:15 UTC |
cea1c0e | Jonathan Bell | 17 April 2024, 10:18:21 UTC | DTS: rp1: fix setting xHCI TX burst fifo thresholds The property should be a u8, and should target the non-periodic SuperSpeed transmit FIFO not the periodic one. Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com> | 03 June 2024, 17:49:15 UTC |
c77e00b | Phil Elwell | 15 April 2024, 19:07:59 UTC | configs: Add various Intel Ethernet drivers See: https://github.com/raspberrypi/linux/issues/5797 See: https://github.com/raspberrypi/linux/issues/6102 Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:15 UTC |
2f86753 | Phil Elwell | 15 April 2024, 19:52:03 UTC | ARM: dts: Move virtgpio under the firmware node In the 6.6 kernel, devices that use the raspberrypi firmware driver should be children of the firmware node. Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:15 UTC |
91663dc | Phil Elwell | 15 April 2024, 10:45:44 UTC | workflows: Update other workflow files Get rid of the remaining node.js warnings by updating the actions. Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:15 UTC |
26ee062 | Cavon Lee | 08 April 2024, 14:49:10 UTC | overlays: Add SunFounder Pironman 5 overlay | 03 June 2024, 17:49:15 UTC |
08267da | Ben Hutchings | 13 May 2022, 19:08:08 UTC | module: Avoid ABI changes when debug info is disabled CI builds are done with debug info disabled, but this removes some members from struct module. This causes builds to fail if there is an ABI reference for the current ABI. Define these members unconditionally, so that there is no ABI change. | 03 June 2024, 17:49:15 UTC |
e5a6f62 | Jonathan Bell | 08 April 2024, 15:16:53 UTC | drivers: mmc: sdhci-brcmstb: bcm2712 supports HS400es and clock gating Enhanced Strobe and clock gating are set in the SDHCI_VENDOR register, so make the driver aware it needs to do this for this controller. Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com> | 03 June 2024, 17:49:15 UTC |
d3e4a07 | Jonathan Bell | 08 April 2024, 15:09:52 UTC | drivers: mmc: disable write-caching on Samsung 2023 model year SD cards Samsung EVO Plus, Pro Plus and Evo Ultimate cards of this era appear to have a broken cache-flush implementation when operating in CQ mode. Unfortunately the cards seem to use a separate CID name string for every variant and capacity, so nobble the cache feature for this MANFID, OEMID and year. Turning this off seems to have negligible impact on random-write throughput in non-CQ mode. Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com> | 03 June 2024, 17:49:15 UTC |
9c43609 | Jonathan Bell | 08 April 2024, 15:01:34 UTC | drivers: mmc: apply SD quirks earlier during probe Applying MMC_QUIRK_BROKEN_SD_CACHE is broken, as the card's extended registers are parsed prior to the quirk being applied in mmc_blk. Split this out into an SD-specific list of quirks and apply in mmc_sd_init_card instead. Fixes: c467c8f08185 ("mmc: Add MMC_QUIRK_BROKEN_SD_CACHE for Kingston Canvas Go Plus from 11/2019") Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com> | 03 June 2024, 17:49:14 UTC |
180eecc | Dom Cobley | 05 April 2024, 10:58:47 UTC | nvmem: raspberrypi: Enable nvmem otp driver through DT Signed-off-by: Dom Cobley <popcornmix@gmail.com> | 03 June 2024, 17:49:14 UTC |
7993969 | Dom Cobley | 23 February 2024, 19:25:55 UTC | nvmem: raspberrypi: Add nvmem driver for accessing OTP data This supports reading and writing OTP using the firmware mailbox interface. It needs supporting firmware to run. Signed-off-by: Dom Cobley <popcornmix@gmail.com> | 03 June 2024, 17:49:14 UTC |
c5fdfa3 | Phil Elwell | 04 April 2024, 10:52:33 UTC | pinctrl: rp1: Clear events when setting IRQ type When setting the interrupt type, it is unlikely that any latched events are of interest, so clear them. Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:14 UTC |
8ecee75 | Phil Elwell | 03 April 2024, 22:16:47 UTC | pinctrl: rp1: Support interrupt CPU affinity See: https://github.com/raspberrypi/linux/issues/6077 Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:14 UTC |
af21da4 | Phil Elwell | 04 April 2024, 09:50:32 UTC | pinctrl: rp1: Allow legacy brcm,pins on all banks Support the use of the brcm,pins property for GPIOs in banks 1 and 2, but only for inputs and outputs - no other legacy mapping. Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:14 UTC |
06c4275 | Phil Elwell | 04 April 2024, 09:47:46 UTC | pinctrl: rp1: Use the correct per-bank GPIO base The GPIO start for each bank - min_gpio - must be used in the IRQ handler. Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:14 UTC |
90b5358 | Phil Elwell | 03 April 2024, 22:15:28 UTC | mfd: rp1: Support interrupt CPU affinity See: https://github.com/raspberrypi/linux/issues/6077 Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:14 UTC |
9204e1c | Phil Elwell | 04 April 2024, 16:03:33 UTC | i2c: designware: Make the SDA hold time half LCNT In the absence of a value in Device Tree, set the SDA hold time to half the SCL low time. Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:14 UTC |
ee9b6e1 | Tim Gover | 03 April 2024, 16:44:44 UTC | dts: bcm2712: cm5: Disable HS400 Disable HS400 support on CM5 until this is proved to be stable. Signed-off-by: Tim Gover <tim.gover@raspberrypi.com> | 03 June 2024, 17:49:14 UTC |
ee021b3 | Phil Elwell | 26 March 2024, 15:57:46 UTC | i2c: designware: Add support for bus clear feature Newer versions of the DesignWare I2C block support the detection of stuck signals, and a mechanism to recover from them. Add the required software support to the driver. This change was prompted by the observation that reading a single byte from register 0 of a VEML7700 seems to cause it to issue an ACK too early, and the controller to complain about losing arbitration. There is a suspicion that this may be a more widespread problem, but at least this patch prevents the bus from locking up. See: https://github.com/raspberrypi/linux/issues/6057 Signed-off-by: Phil Elwell <phil@raspberrypi.com> | 03 June 2024, 17:49:14 UTC |
ab2f78f | Jonathan Bell | 26 March 2024, 14:58:58 UTC | drivers: mmc: handle 1024-byte SD General Info lengths The spec allows for up to two 512-byte pages to be allocated for the Extension Register General Info block, so allocate accordingly. Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com> | 03 June 2024, 17:49:14 UTC |
8695cf3 | Jonathan Bell | 26 March 2024, 13:39:47 UTC | drivers: mmc: add debugfs entries for SD extension registers Also report the card's supported queue depth in the message log. Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com> | 03 June 2024, 17:49:14 UTC |
850ef62 | Jonathan Bell | 26 March 2024, 13:36:23 UTC | drivers: mmc: be more cautious when manipulating Command Queue enable Don't attempt to turn on CQ if the other mandatory features are not indicated as supported by the card. Also make sure that the register write actually stuck, as some cards claim support but never report back that the queue engine is enabled. Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com> | 03 June 2024, 17:49:14 UTC |