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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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>
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>