Commit Graph

25954 Commits

Author SHA1 Message Date
Naushir Patuck
4c35b3a2ad ARM: dts: bcm270x: Add the reg-names label to unicam
This is needed by the new upstream/downstream Unicam driver.

Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
2024-03-21 13:37:37 +00:00
Naushir Patuck
994f04427d ARM: dts: rp1: update the compatible string for the cfe driver
The upstream now driver uses "raspberrypi,rpi5-rp1-cfe", update it.

Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
2024-03-21 13:37:35 +00:00
Erik Botö
00a68ba1d2 imx477: Update device tree overlays to support trigger-mode
Also create generic overrides in camera-mux-N-port, that can be extended
to configure vsync modes for cameras supporting this.

Example usages (to be combined with camera_auto_detect=0):
dtoverlay=imx477,cam0,sync-source
dtoverlay=imx477,sync-sink
dtoverlay=camera-mux-2port,cam1-imx477,cam1-sync-sink
dtoverlay=camera-mux-4port,cam3-imx477,cam3-sync-sink

Signed-off-by: Erik Botö <erik.boto@gmail.com>
2024-03-18 12:52:00 +00:00
Phil Elwell
9e2fc3e900 overlays: i2c-mux: Add 'base' parameter
Add a 'base' parameter to set an explicit bus number for the channels,
where the requested bus number is base + channel ID.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2024-03-18 12:51:59 +00:00
Dave Stevenson
1fa6eb38cd dtoverlays: Fixup pendown gpio polarity for ads7846 users
The driver has been converted to use gpiod, which will normalise
polarity based on DT.

The piscreen overlay (and others) incorrectly defines the pendown
GPIO as being ACTIVE_HIGH (0), althought triggering on the high-low
edge for pen down. It therefore tries reading the pen position when
not being touched, and stops when it is touched.

Tested with piscreen and ads7846 overlays. Also fixed on others
where the interrupt says high->low but the polarity was ACTIVE_HIGH.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
2024-03-18 12:51:59 +00:00
Dave Stevenson
80e993c2a3 dtoverlays: Add a disconnect_on_idle override to i2c-mux
When running multiple muxes, in order to be able to reuse the
same address on child buses of different muxes you have to
disconnect the mux after every transaction.

Add an override to select that option.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
2024-03-18 12:51:59 +00:00
Phil Elwell
ac169ad823 ARM: dts: Set all RPi PWM clocks to 50MHz
With the RP1 PWM configured to use the 50MHz oscillator clock source,
requesting a 100MHz clock will fail. Set the RP1 PWM clock rate to
50MHz, do the same to other Pi PWM blocks, and remove the default
clock override in the PWM overlays. However, an explicit
"clock=..." parameter is still supported.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2024-03-18 12:51:59 +00:00
Eng33
0fca3ffc50 Dtoverlay:Add waveshare 4inch dsi lcd (C) parameters to the README
Signed-off-by: Eng33 <eng33@waveshare.net>
2024-03-18 12:51:58 +00:00
Eng33
a3e38fb417 Dtoverlay:fix waveshare 11.9inch touch orientation error
Signed-off-by: Eng33 <eng33@waveshare.net>
2024-03-18 12:51:58 +00:00
Eng33
290f2d3956 Dtoverlay:add waveshare 4inch dsi lcd (C) dtoverlay
Signed-off-by: Eng33 <eng33@waveshare.net>
2024-03-18 12:51:58 +00:00
Phil Elwell
86766cbbef ARM: dts: bcm2712-rpi: Add i2c<n>_pins labels
Older Pi SoCs have friendly labels on the i2c pin nodes, e.g. i2c0_pins,
but they are absent from the BCM2712 dtsi files, even though UARTs and
SPI interfaces have them. Fix that omission.

See: https://forums.raspberrypi.com/viewtopic.php?p=2199599#p2199599

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2024-03-18 12:51:57 +00:00
Dave Stevenson
6fd18c2b0b dtoverlays: Add overlays for 5" and 7" ILI9881 panels
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
2024-03-18 12:51:57 +00:00
Jonathan Bell
ff527efdd7 DT: rp1: add general-purpose clock source definitions
GPCLKs have two parts - a clock divider and a clock input, routed out to
and in from a GPIO pad respectively. It follows that the clksrc_gpN
inputs can't be used unless the pad is also configured as a GPCLK, so
leave them disabled.

Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
2024-03-06 11:20:41 +00:00
j-schambacher
99e6cb05ea Overlays: Add definitions for HiFiBerry 8 channel DAC8X
Dedicated overlay claiming all 4 data lanes of the designware
I2S0 module to drive 4x PCM5102. THe devices share BCLK and
LRCLK, therefore all outputs will always run at the same
samplerate and format.

Compatible only with PI5!

Signed-off-by: j-schambacher <joerg@hifiberry.com>
2024-03-05 13:55:49 +00:00
Dave Stevenson
720bf06e82 dtoverlays: rotate override needs to update "rotation" for drm mode
Whilst the fbtft driver uses the DT property "rotate" to set the display
rotation, the tinydrm ili9486 driver uses "rotation". The overlay was
only updating "rotate" from the override, so add in "rotation".

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
2024-03-05 13:55:49 +00:00
Dave Stevenson
26fee64a01 dtoverlays: Correct width/height on Waveshare 2.8" panel
Width and height were swapped, so touch didn't work over the whole
panel.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
2024-03-05 13:55:49 +00:00
Dom Cobley
7196450d72 ARM: dts: Add support for 2712 axi performance monitors
Also give a unique compatible string to 2711 to allow for
driver differences.
2024-03-05 13:55:49 +00:00
Andrew Scheller
1145ffe167 Add IQaudio CodecZero to hat_map.dts
Fixes https://github.com/raspberrypi/Pi-Codec/issues/9
2024-03-05 13:55:48 +00:00
Phil Elwell
d2b79c60e9 overlays: adau1977-adc: Replace use of i2c label
The label 'i2c' is no longer created by the firmware - i2c_arm or
i2c1 should be used instead. Replace the last occurrence of &i2c with
&i2c1.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2024-03-05 13:55:48 +00:00
Ben Payne
fd46b756ab Add overlays needed for Interlude Audio Digital and Analog hats
Adding 2 new overlays for use with
Interlude Audio's Digital and Analog hats
adding descriptions for both in README
adding changes to Makefile to include both DT's
2024-03-05 13:55:48 +00:00
Dave Stevenson
b1ad4444ae arm: dt: bcm2712: Reduce DDC frequency to 97.5kHz from 200kHz.
The I2C spec says the DDC link should run at 100kHz or less, however
Pi5/BCM2712 had been configured for 200kHz.
Reduce it to comply with the spec, and match Pi4.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
2024-03-05 13:55:47 +00:00
Phil Elwell
c2ec9eb29f ARM: dts: Add CM5 DTS support
The CM5 is a platform that will appear in multiple boards, each of
which may have different connectivity. Split the CM5 DTS into a common
cm5.dtsi and board-specific dts files, where the CM5 DTS file (the one
loaded by the firmware by default) is an alias for the CM5IO DTS file.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2024-03-05 13:55:47 +00:00
Jonathan Bell
fe8d39dc2b dts: bcm2712: update sdio1 on Pi 5
Switch to using card-detection via GPIO, and add missing emmc_cmd pin.
Also, "emmc_*" isn't the name of the respective function, but the name
of the pin. These pins are single-function, but need pulls set
accordingly.

Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
2024-03-05 13:55:47 +00:00
Phil Elwell
54f6b86f81 overlays: Delete deprecated overlay mpu6050
The mpu6050 overlay has been deprecated for a year (when we were still
shipping rpi-5.15.y). Delete it.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2024-03-05 13:55:46 +00:00
Phil Elwell
4bfaf6f4b4 overlays: Correct some compatible strings
More thorough overlay testing has identified some Pi 4-specific
overlays that has "brcm,bcm2835" compatible strings. Correct them.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2024-03-05 13:55:46 +00:00
Joerg Schambacher
607dd7d152 DT-overlays: adds support for Hifiberry AMP4 Pro
The AMP4 Pro uses a TI TAS5756 amplifier in master mode
and requires the DAC Plus card driver and the
pcm512x component driver with TAS support.

Signed-off-by: Joerg Schambacher <joerg@hifiberry.com>
2024-03-05 13:55:46 +00:00
Melissa LeBlanc-Williams
432995c14a Update touch PiTFT overlays
Expose the invert and swap touch parameters on 2.8" and 3.5" resistive touchscreens. Add
the DRM parameter to the PiTFT 2.2" and 2.8" Capacitive overlay in the same
way it is on the resistive overlays. Change the DRM driver to `adafruit,yx240qv29`
because the rotations are consistent with the FBTFT Driver. Fix the override size parameters
on the 2.8" capacitive PiTFT.

Signed-off-by: Melissa LeBlanc-Williams <melissa@adafruit.com>
2024-03-05 13:55:46 +00:00
Phil Elwell
a3d53c8e96 ARM: dts: rp1: Add a safe I2C SDA hold time
Failing to set a reasonable SDA hold time can cause SDA to change too
close to the falling edge of SCL. 300ns is the recommended minimum
interval between the two at 100kHz and 400kHz, and also seems to
work at 1MHz, so use that.

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

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2024-03-05 13:55:45 +00:00
Phil Elwell
67700133ff ARM: dts: rp1: Boost the I2C drive strength
Boosting the drive strength on I2C pins allows SCL to achieve safe
voltage swings, even at 1MHz.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2024-03-05 13:55:45 +00:00
Phil Elwell
636989bbbf ARM: dts: bcm2712-rpi-5-b: Add act_led_gpio
The Pi 5 DTB was lacking the act_led_gpio parameter, and
act_led_activelow as implemented the old way. Fix both.

See: https://forums.raspberrypi.com/viewtopic.php?t=364719

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2024-03-05 13:55:45 +00:00
Phil Elwell
bd9542b827 ARM: dts: Standardise downstream Pi GPIO pin names
Standardise the names of the pins on the 40-pin GPIO header. This makes
it easier to use libgpiod (and the gpiod tools) for cross-platform GPIO
manipulation.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2024-03-05 13:55:45 +00:00
Phil Elwell
c696ba4aac ARM: dts: rp1: Add I2C timings
Add SCL rise and fall times, to allow the derivation of timings at
arbitrary speeds.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2024-03-05 13:55:45 +00:00
Phil Elwell
16453c0595 Revert "dts: rp1: Add I2C timings"
This reverts commit bcbbe21133.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2024-03-05 13:55:44 +00:00
Rodrigo Rosmaninho
6a747c331b Add pcie-32bit-dma-overlay-pi5 to enable 32bit DMA on the Pi 5's external PCIe
Changes dma-ranges in the pcie1 component of the bcm2712 dts in order to ensure that the DMA addressing space is 32bits, at the expense of having to bounce buffers.

Signed-off-by: Rodrigo Rosmaninho <r.rosmaninho@ua.pt>
2024-03-05 13:55:44 +00:00
Tiago Freire
4184c4fd76 Harmonizing the improvement on backup-switchover-mode overlay value definitions
On the followup of https://github.com/raspberrypi/linux/pull/5884, I missed a second duplicate definition. Now, harmonized the entire document.

Signed-off-by: Tiago Freire <41837236+tiagofreire-pt@users.noreply.github.com>
2024-03-05 13:55:44 +00:00
Jonathan Bell
3dd97e7045 dts: rp1: nobble HS and FS/LS park mode for dwc3 xhci
Synopsys have recommended that we disable this feature entirely, as
Superspeed park mode can hang the controller, and Hs/FS/LS park mode can
cause performance degradation with bursty devices.

Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
2024-03-05 13:55:44 +00:00
Jonathan Bell
6d9357915c arm: dts: overlays: add Pi 5 variants for w1-gpio overlays
Make use of the latency-busting read-poll feature on Pi 5 only.

Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
2024-03-05 13:55:44 +00:00
Tiago Freire
2ec33e4040 Improvement on backup-switchover-mode overlay value definitions (#5884)
For the RV3028 RTC, the definitions for its `backup-switchover-mode` overlay
were not intelligible neither complete/exhaustive.

Accordingly to the https://github.com/raspberrypi/linux/issues/2912#issuecomment-477670051
these one here proposed should be correct.

`/boot/config.txt` should be as a configuration example, for rv3028, on a
 Uputronics GPS Extension HAT:

    # For GPS Expansion Board from Uputronics
    dtparam=i2c_arm=on
    dtoverlay=i2c-rtc,rv3028,backup-switchover-mode=3
    dtoverlay=pps-gpio,gpiopin=18
    init_uart_baud=115200

From my tests (`sudo rmmod rtc_rv3028 && sudo i2cget -y 1 0x52 0x37`):

`Default from factory`: `0x10`
`Mode 0`: `0x10`
`Mode 1`: `0x14`
`Mode 2`: `0x18`
`Mode 3`: `0x1c`

`Mode 3`: `0x1c` is consistent with the manufacturer configuration script: http://store.uputronics.com/files/configure-rv3028.sh
2024-03-05 13:55:43 +00:00
Giedrius
316c17cd6e Pisound: Set the spi-speed-hz for Pisound in the Device Tree overlay, and specify spi-speed-hz override for Pi 5.
Signed-off-by: Giedrius Trainavičius <giedrius@blokas.io>
2024-03-05 13:55:43 +00:00
Phil Elwell
0cc7b29077 ARM: dts: overlays: Add a bcm2712d0 overlay
The bcm2712d0 overlay encapsulates the differences between BCM2712C0/1
and D0.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2024-03-05 13:55:41 +00:00
Phil Elwell
0328374ae0 ARM: dts: Add BCM2712 D0 dts
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2024-03-05 13:55:41 +00:00
Phil Elwell
7b01a3d451 ARM: dts: bcm2712: Prune the non-D0 hardware
There is no point describing hardware blocks in C0/1 that aren't also
in D0, so delete them.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2024-03-05 13:55:41 +00:00
Phil Elwell
4468993bd6 ARM: dts: bcm2712-rpi-5-b: Use common LED labels
As of 6.6, the names of the labels on the Pi LEDs was swapped to match
the upstream code, i.e. led_act rather than act_led.

Apply the same change to Pi 5.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2024-03-05 13:55:41 +00:00
Phil Elwell
83d4e02e4b ARM: dts: bcm2712-rpi-5-b: Add fan speed dtparams
Add dtparams for adjusting the Pi 5 cooling fan speeds and temperature
thresholds.

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

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2024-03-05 13:55:41 +00:00
Phil Elwell
1ef18f0112 ARM: dts: bcm2712-rpi-5-b: Add eth_ledx parameters
Include the dtparams controlling the Ethernet jack LEDs, as used on
other Pis.

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

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2024-03-05 13:55:41 +00:00
Phil Elwell
fdc68711dd dts: rp1: Add I2C timings
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2024-03-05 13:55:40 +00:00
Phil Elwell
a7d602c262 ARM: dts: bcm2712-rpi-5-b: Allow RTC to be disabled
Add a dtparam "rtc", so that "dtparam=rtc=off" can be used to disable
the Pi 5's onboard RTC.

See: https://forums.raspberrypi.com/viewtopic.php?t=361813

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2024-03-05 13:55:40 +00:00
Phil Elwell
1ff012598d dts: bcm271-rpi-3-b: Make brcmvirt-gpio a firmware child
The driver makes use of the fact that the firmware node is its parent,
so we'd better make it so.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
2024-03-05 13:55:39 +00:00
Nick Hollinghurst
7ae2506ae0 overlays: Add "always-on" parameter to imx477 and imx296
Leave the camera's power supplies up, to prevent the camera
clamping its 1.8V digital I/Os to ground. This may be useful
when synchronizing multiple camera systems using XVS or XTRIG.

Signed-off-by: Nick Hollinghurst <nick.hollinghurst@raspberrypi.com>
2024-03-05 13:55:39 +00:00
Jonathan Bell
efaf15f95c dts: rp1: add SNPS quirk to USB3 host controllers
Set snps,parkmode-disable-ss-quirk for usb0 and usb1.

Enabling this test/debug feature seems to prevent controller lockups
with bidirectional SS bulk endpoints active.

Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
2024-03-05 13:55:39 +00:00