- Jun 18, 2020
-
-
Dave Stevenson authored
Update all overlays that were using i2c_vc for talking to CSI source devices to use the new i2c_csi_dsi node via i2c_mux_pinctrl. Remove the pins overrides as well. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
BSC0 serves either the HAT EEPROM pins on the 40pin connector, or the display and camera on a board specific pairing of either GPIO 28&29, or 44&45. Use I2C_MUX_PINCTRL to allow exposing both pairs of pins as I2C busses. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
To be used to switch between the camera/display pins, and the HAT pins for i2c-0. (arm64/bcmrpi3_defconfig was missing all the I2C mux support, so enable it all) Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Phil Elwell authored
Limit mappings to the permitted range, but don't map more than asked for otherwise we walk off the end of the allocated VMA. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Commits [1] and [2] including code that forces SPI_CS_HIGH for SPI controllers that use GPIO descriptors, the SPI_CS_HIGH flag being there to avoid a double-negation (since SPI CS is usually active-low). The motivation for pushing the knowledge of the required polarity into the GPIO descriptor allows the switch to an output to request the correct inactive level, avoiding a needless glitch. The problem with setting the flag early as [1] does is that it appears in the mode field that is passed to client drivers during their probing, when they may want to choose SPI_POL, SPI_PHA and (just possibly) SPI_CS_HIGH. Since SPI_CS_HIGH is the exception, most drivers won't set it and the anti-negation negation is lost. [2] acknowledges that problem and patches things up for the case of users of spidev, but omits regular kernel-mode drivers. Downstream commit [3] moves the forcing of SPI_CS_HIGH to spi_setup, after the driver probing. Since this code is called before any CS manipulation it is early enough to be effective, but late enough that clients have already had their chance to change the mode field. This is a partial reversion of [1], and is accompanied by a complete reversion of [2], neither of which is needed any longer. [1] f3186dd8 ("spi: Optionally use GPIO descriptors for CS GPIOs") [2] 83b2a8fe ("spi: spidev: Fix CS polarity if GPIO descriptors are used") [3] <varies> ("spi: Force CS_HIGH if GPIO descriptors are used") Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
This reverts commit 83b2a8fe.
-
Phil Elwell authored
Commit f3186dd8 ("spi: Optionally use GPIO descriptors for CS GPIOs") amended of_spi_parse_dt() to always set SPI_CS_HIGH for SPI slaves whose Chip Select is defined by a "cs-gpios" devicetree property. This change breaks drivers whose probe functions set the mode field of the spi_device because in doing so they clear the SPI_CS_HIGH flag. Fix by setting SPI_CS_HIGH in spi_setup (under the same conditions as in of_spi_parse_dt()). See also: 83b2a8fe ("spi: spidev: Fix CS polarity if GPIO descriptors are used") Fixes: f3186dd8 ("spi: Optionally use GPIO descriptors for CS GPIOs") Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Fixes: "dts: bcm2711: set #size-cells = <2>" Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Stefan Wahren authored
This adds the labels for all the SoC GPIOs on the Raspberry Pi 4. Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/1581166975-22949-5-git-send-email-stefan.wahren@i2se.com Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-
Hristo Venev authored
The following addresses change: - 0xfc00_0000 -> 0x4_7c00_0000 - 0xff80_0000 -> 0x4_c000_0000 The range 0xfc00_0000-0xffff_ffff becomes available as system RAM on devices with >= 4 GiB of RAM. Firmware should initialize the memory node appropriately. Signed-off-by: Hristo Venev <hristo@venev.name>
-
Hristo Venev authored
There already is one 4 GiB range, and one more will appear when high peripheral mode is enabled. Signed-off-by: Hristo Venev <hristo@venev.name>
-
Hristo Venev authored
Physical addresses in the 0x0-0xfc00_0000 range correspond to SDRAM. They have no place here. Signed-off-by: Hristo Venev <hristo@venev.name>
-
Phil Elwell authored
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Although 0xfc000000 looks like an inaccessible RAM address (due to the peripheral mappings), with RAM mapped at 0xc0000000 (as it is on the 30/32-bit VPU bus) this is actually 0x3c000000 in the ARM memory space, which is fine. This difference is potentially the cause of some warnings seen in sdhci_send_command. Fixes: "dts: bcm2711: Move emmc2 to its own 'bus'" Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Panagiotis Vasilopoulos authored
-
Jörg Schambacher authored
This patch fixes a problem of the re-calculation of i2s-clock and -parameter settings when only the ADC is activated. Signed-off-by: Joerg Schambacher <joerg@i2audio.com>
-
James Hilliard authored
If the vc4 hdmi driver loads before the pixel clock is available we see a spurious "*ERROR* Failed to get pixel clock" error. Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
-
Phil Elwell authored
Moving the EMMC2 controller under a dedicated bus allows the firmware to patch the dma-ranges property for different memory sizes without affecting anything else. Signed-off-by: Phil Elwell <phil@raspberrypi.org>
-
Phil Elwell authored
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
The downstream 32-bit 2711 kernel configuration enables HIGHMEM for access to more physical RAM. The HIGHMEM zone starts at 0x30000000 (768MB), and allowing the CMA zone to overlap that area causes a failure during CMA activation. Avoid the overlap by limiting CMA to the first 768MB. This is overly restrictive on a 64-bit kernel, but shouldn't cause any practical problems. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
AMuszkat authored
Signed-off-by: AMuszkat <ariel.muszkat@gmail.com>
-
AMuszkat authored
Add 96KHz rate support to MA120X0P codec and make enable and mute gpio pins optional. Signed-off-by: AMuszkat <ariel.muszkat@gmail.com>
-
Matthias Reichl authored
Standard IR receivers use inverted / active-low signalling and the gpio-ir overlay configures the GPIO appropriately as GPIO_ACTIVE_LOW (1). In order to support (rather rare) non-inverted / active-high signalling the GPIO needs to be configured as GPIO_ACTIVE_HIGH (0). Add an "invert" parameter to override this like in the gpio-ir-tx overlay. Signed-off-by: Matthias Reichl <hias@horus.com>
-
Phil Elwell authored
The GCC plugin feature leads to different kernel configurations on what ought to be equivalent build systems because they depend on the build hosts native compilers rather than the cross compilers needed for the target. This causes problems with module symbol version mismatches. Disable GCC plugins for all build hosts. Advanced build script hackery borrowed from a patch by milhouse. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Better late than never. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Matt Flax authored
This patch adds support for the Audio Injector Isolated sound card. Signed-off-by: Matt Flax <flatmax@flatmax.org>
-
Phil Elwell authored
The filesystem-specific encryption options have been replaced by a generic FS_ENCRYPTION option. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
popcornmix authored
For performance/power it is beneficial to adjust gpu clocks with arm clock. This is how the downstream cpufreq driver works Signed-off-by: popcornmix <popcornmix@gmail.com>
-
Phil Elwell authored
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Because the upstream overlay applies vc4-kms-v3d, of which Pi 4 has its own version, there also needs to be a Pi 4 version - vc4-kms-v3d-pi4. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Take advantage of the overlay_map to rename or deprecate some obsolete overlays. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
The overlay map permits platform-specific overlays, with deprecation and renaming. See: https://github.com/raspberrypi/linux/issues/3520 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
-
popcornmix authored
The original firmware code worked with float and did offset = ((vco_freq / fref * 2) * (1 << 22)); offset >>= 2; In this code it's all integer so doing the integer divide before the shift loses lots of precision This fixes the issue of 1080p59.94 mode having 59.64 fps Signed-off-by: popcornmix <popcornmix@gmail.com>
-
Dave Stevenson authored
It was set to 390kHz, which is outside of the required spec for reading HDMI (max 100kHz). The i2c-brcmstb driver only supports a number of fixed bus speeds, of which 97.5kHz is the closest to 100kHz without exceeding it. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
If there is no interrupt defined then an error is logged due to the use of platform_get_irq. The driver handles not having the interrupt by falling back to polling, therefore make the appropriate call when claiming it. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
The debugfs usage within asoc gets confused if multiple interfaces have the same card name, therefore use unique names when initialising them. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
"drm/vc4: plane: Move additional planes creation to driver" moved overlay and cursor plane creation to a global function thata was unconditionally run, when it is not wanted in firmware KMS mode. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Fix up "drm/vc4: Kick the core clock up during a mode change" for firmware KMS mode where we don't have the HVS or core clock configured. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-