aboutsummaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)AuthorFilesLines
2024-04-25arm64: dts: st: correct masks for GIC PPI interrupts on stm32mp25Patrick Delaunay2-4/+11
Using GIC_CPU_MASK_SIMPLE(x), x should reflect the number of CPUs. STM32MP251 is a single core Cortex A35, STM32MP253 is a dual core CA35. Fixes: 5d30d03aaf78 ("arm64: dts: st: introduce stm32mp25 SoCs family") Signed-off-by: Patrick Delaunay <[email protected]> Signed-off-by: Alexandre Torgue <[email protected]>
2024-04-25arm64: dts: st: add spi3 / spi8 properties on stm32mp257f-ev1Alain Volmat1-0/+14
Add properties for spi3 and spi8 available on the stm32mp257f-ev1. Both are kept disabled since only used via the gpio expansion connector. Signed-off-by: Alain Volmat <[email protected]> Signed-off-by: Alexandre Torgue <[email protected]>
2024-04-25arm64: dts: st: add spi3/spi8 pins for stm32mp25Alain Volmat1-0/+46
Add the spi3 and spi8 pins used on STM32MP257F-EV1 board. Signed-off-by: Alain Volmat <[email protected]> Signed-off-by: Alexandre Torgue <[email protected]>
2024-04-25arm64: dts: st: add all 8 spi nodes on stm32mp251Alain Volmat1-0/+96
Add the 8 nodes for all spi instances available on the stm32mp251. Signed-off-by: Alain Volmat <[email protected]> Signed-off-by: Alexandre Torgue <[email protected]>
2024-04-25arm64: dts: st: add i2c2 / i2c8 properties on stm32mp257f-ev1Alain Volmat1-0/+20
Add properties for i2c2 and i2c8 available on the stm32mp257f-ev1. i2c2 is enabled since several devices are attached to it while i2c8 is kept disabled since only used via the gpio expansion connector. Signed-off-by: Alain Volmat <[email protected]> Signed-off-by: Alexandre Torgue <[email protected]>
2024-04-25arm64: dts: st: add i2c2/i2c8 pins for stm32mp25Alain Volmat1-0/+36
Add the i2c2 and i2c8 pins used on STM32MP257F-EV1 board. Signed-off-by: Alain Volmat <[email protected]> Signed-off-by: Alexandre Torgue <[email protected]>
2024-04-25arm64: dts: st: add all 8 i2c nodes on stm32mp251Alain Volmat1-0/+104
Add the 8 nodes for all i2c instances available on the stm32mp251. Signed-off-by: Alain Volmat <[email protected]> Signed-off-by: Alexandre Torgue <[email protected]>
2024-04-25arm64: dts: st: add rcc support for STM32MP25Gabriel Fernandez2-38/+110
Add RCC support to manage clocks and resets on the STM32MP25. Signed-off-by: Gabriel Fernandez <[email protected]> Signed-off-by: Alexandre Torgue <[email protected]>
2024-04-25ARM: dts: stm32: enable display support on stm32mp135f-dk boardRaphael Gallais-Pou1-0/+53
Link panel and display controller. Enable panel, backlight and display controller. Signed-off-by: Raphael Gallais-Pou <[email protected]> Signed-off-by: Alexandre Torgue <[email protected]>
2024-04-25ARM: dts: stm32: add LTDC pinctrl on STM32MP13x SoC familyRaphael Gallais-Pou1-0/+57
Adds LTDC pinctrl support and assigns dedicated GPIO pins. Signed-off-by: Raphael Gallais-Pou <[email protected]> Signed-off-by: Alexandre Torgue <[email protected]>
2024-04-25ARM: dts: stm32: add LTDC support for STM32MP13x SoC familyRaphael Gallais-Pou1-0/+11
STM32MP13x SoC family embeds a new version of LTDC (Liquid crystal display - Thin film transistor) Display Controller. It provides a parallel digital RGB (red, green, blue) and signals for horizontal, vertical synchronization, pixel clock and data enable as output to interface directly to a variety of LCD-TFT panels. Main features * 2 input layers blended together to compose the display * Cropping of layers from any input size and location * Multiple input pixel formats: – Predefined ARGB, with 7 formats: ARGB8888, ABGR8888, RGBA8888, BGRA8888, RGB565, BGR565, RGB888packed. – Flexible ARGB, allowing any width and location for A,R,G,B components. – Predefined YUV, with 3 formats: YUV422-1L (FourCC: YUYV, Interleaved), YUV420-2L (FourCC: NV12, semi planar), YUV420-3L (FourCC: Yxx, full planar) with some flexibility on the sequence of the component. * Color look-up table (CLUT) up to 256 colors (256x24 bits) per layer * Color transparency keying * Composition with flexible window position and size versus output display * Blending with flexible layer order and alpha value (per pixel or constant) * Background underlying color * Gamma with non-linear configurable table * Dithering for output with less bits per component (pseudo-random on 2 bits) * Polarity inversion for HSync, VSync, and DataEnable outputs * Output as RGB888 24 bpp or YUV422 16 bpp * Secure layer (using Layer2) capability, with grouped regs and additional interrupt set * Interrupts based on 7 different events * AXI master interface with long efficient bursts (64 or 128 bytes) Signed-off-by: Raphael Gallais-Pou <[email protected]> Signed-off-by: Yannick Fertre <[email protected]> Signed-off-by: Alexandre Torgue <[email protected]>
2024-04-25ARM: dts: stm32: add PWR regulators support on stm32mp131Marek Vasut1-0/+24
This patch adds STM32 PWR regulators DT support on stm32mp131. This requires TFA to clear RCC_SECCFGR, is disabled by default and can only be enabled on board DT level. Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: Alexandre Torgue <[email protected]>
2024-04-25ARM: dts: stm32: add heartbeat led for stm32mp157c-ed1Patrice Chotard1-0/+12
Add heartbeat led for stm32mp157c-ed1. Signed-off-by: Patrice Chotard <[email protected]> Signed-off-by: Alexandre Torgue <[email protected]>
2024-04-25ARM: dts: stm32: move can3 node from stm32f746 to stm32f769Dario Binacchi2-17/+17
According to documents [1], [2] and [3], we have 2 CAN devices on the stm32f746 platform and 3 on the stm32f769 platform. So let's move the can3 node from stm32f746.dtsi to stm32f769.dtsi. [1] https://www.st.com/en/microcontrollers-microprocessors/stm32f7-series.html [2] RM0385: STM32F75xxx and STM32F74xxx advanced Arm®-based 32-bit MCUs [3] RM0410: STM32F76xxx and STM32F77xxx advanced Arm®-based 32-bit MCUs Fixes: df362914eead ("ARM: dts: stm32: re-add CAN support on stm32f746") Signed-off-by: Dario Binacchi <[email protected]> Signed-off-by: Alexandre Torgue <[email protected]>
2024-04-25ARM: dts: stm32: put ETZPC as an access controller for STM32MP13x boardsAlexandre Torgue4-1/+30
Reference ETZPC as an access-control-provider. For more information on which peripheral is securable or supports MCU isolation, please read the STM32MP13 reference manual Signed-off-by: Gatien Chevallier <[email protected]> Signed-off-by: Alexandre Torgue <[email protected]>
2024-04-25ARM: dts: stm32: add ETZPC as a system bus for STM32MP13x boardsGatien Chevallier4-559/+565
ETZPC is a firewall controller. Put all peripherals filtered by the ETZPC as ETZPC subnodes and keep the "simple-bus" compatible for backward compatibility. Signed-off-by: Gatien Chevallier <[email protected]> Signed-off-by: Alexandre Torgue <[email protected]>
2024-04-25ARM: dts: stm32: put ETZPC as an access controller for STM32MP15x boardsGatien Chevallier3-1/+68
Reference ETZPC as an access-control-provider. For more information on which peripheral is securable or supports MCU isolation, please read the STM32MP15 reference manual Signed-off-by: Gatien Chevallier <[email protected]> Signed-off-by: Alexandre Torgue <[email protected]>
2024-04-25ARM: dts: stm32: add ETZPC as a system bus for STM32MP15x boardsGatien Chevallier3-1362/+1368
ETZPC is a firewall controller. Put all peripherals filtered by the ETZPC as ETZPC subnodes and keep the "simple-bus" compatible for backward compatibility. Signed-off-by: Gatien Chevallier <[email protected]> Signed-off-by: Alexandre Torgue <[email protected]>
2024-04-25arm64: dts: st: add RIFSC as an access controller for STM32MP25x boardsGatien Chevallier2-19/+21
RIFSC is a firewall controller. Add "st,stm32mp25-rifsc" compatible and reference RIFSC as an access-control-provider. Keep "simple-bus" compatible backward compatibility. Signed-off-by: Gatien Chevallier <[email protected]> Signed-off-by: Alexandre Torgue <[email protected]>
2024-04-25KVM: arm64: vgic-its: Get rid of the lpi_list_lockOliver Upton3-7/+5
The last genuine use case for the lpi_list_lock was the global LPI translation cache, which has been removed in favor of a per-ITS xarray. Remove a layer from the locking puzzle by getting rid of it. vgic_add_lpi() still has a critical section that needs to protect against the insertion of other LPIs; change it to take the LPI xarray's xa_lock to retain this property. Signed-off-by: Oliver Upton <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Marc Zyngier <[email protected]>
2024-04-25KVM: arm64: vgic-its: Rip out the global translation cacheOliver Upton3-126/+4
The MSI injection fast path has been transitioned away from the global translation cache. Rip it out. Signed-off-by: Oliver Upton <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Marc Zyngier <[email protected]>
2024-04-25KVM: arm64: vgic-its: Use the per-ITS translation cache for injectionOliver Upton1-46/+17
Everything is in place to switch to per-ITS translation caches. Start using the per-ITS cache to avoid the lock serialization related to the global translation cache. Explicitly check for out-of-range device and event IDs as the cache index is packed based on the range the ITS actually supports. Take the RCU read lock to protect against the returned descriptor being freed while trying to take a reference on it, as it is no longer necessary to acquire the lpi_list_lock. Signed-off-by: Oliver Upton <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Marc Zyngier <[email protected]>
2024-04-25KVM: arm64: vgic-its: Spin off helper for finding ITS by doorbell addrOliver Upton1-14/+21
The fast path will soon need to find an ITS by doorbell address, as the translation caches will become local to an ITS. Spin off a helper to do just that. Signed-off-by: Oliver Upton <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Marc Zyngier <[email protected]>
2024-04-25KVM: arm64: vgic-its: Maintain a translation cache per ITSOliver Upton1-1/+36
Within the context of a single ITS, it is possible to use an xarray to cache the device ID & event ID translation to a particular irq descriptor. Take advantage of this to build a translation cache capable of fitting all valid translations for a given ITS. Signed-off-by: Oliver Upton <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Marc Zyngier <[email protected]>
2024-04-25KVM: arm64: vgic-its: Scope translation cache invalidations to an ITSOliver Upton3-14/+36
As the current LPI translation cache is global, the corresponding invalidation helpers are also globally-scoped. In anticipation of constructing a translation cache per ITS, add a helper for scoped cache invalidations. We still need to support global invalidations when LPIs are toggled on a redistributor, as a property of the translation cache is that all stored LPIs are known to be delieverable. Signed-off-by: Oliver Upton <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Marc Zyngier <[email protected]>
2024-04-25KVM: arm64: vgic-its: Get rid of vgic_copy_lpi_list()Oliver Upton3-50/+0
The last user has been transitioned to walking the LPI xarray directly. Cut the wart off, and get rid of the now unneeded lpi_count while doing so. Signed-off-by: Oliver Upton <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Marc Zyngier <[email protected]>
2024-04-25KVM: arm64: vgic-debug: Use an xarray mark for debug iteratorOliver Upton3-25/+62
The vgic debug iterator is the final user of vgic_copy_lpi_list(), but is a bit more complicated to transition to something else. Use a mark in the LPI xarray to record the indices 'known' to the debug iterator. Protect against the LPIs from being freed by associating an additional reference with the xarray mark. Rework iter_next() to let the xarray walk 'drive' the iteration after visiting all of the SGIs, PPIs, and SPIs. Signed-off-by: Oliver Upton <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Marc Zyngier <[email protected]>
2024-04-25KVM: arm64: vgic-its: Walk LPI xarray in vgic_its_cmd_handle_movall()Oliver Upton1-9/+4
The new LPI xarray makes it possible to walk the VM's LPIs without holding a lock, meaning that vgic_copy_lpi_list() is no longer necessary. Prepare for the deletion by walking the LPI xarray directly in vgic_its_cmd_handle_movall(). Signed-off-by: Oliver Upton <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Marc Zyngier <[email protected]>
2024-04-25KVM: arm64: vgic-its: Walk LPI xarray in vgic_its_invall()Oliver Upton1-10/+6
The new LPI xarray makes it possible to walk the VM's LPIs without holding a lock, meaning that vgic_copy_lpi_list() is no longer necessary. Prepare for the deletion by walking the LPI xarray directly in vgic_its_invall(). Signed-off-by: Oliver Upton <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Marc Zyngier <[email protected]>
2024-04-25KVM: arm64: vgic-its: Walk LPI xarray in its_sync_lpi_pending_table()Oliver Upton1-17/+10
The new LPI xarray makes it possible to walk the VM's LPIs without holding a lock, meaning that vgic_copy_lpi_list() is no longer necessary. Prepare for the deletion by walking the LPI xarray directly in its_sync_lpi_pending_table(). Signed-off-by: Oliver Upton <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Marc Zyngier <[email protected]>
2024-04-25arm64: dts: ti: k3-j784s4: Use exact ranges for FSS nodeAndrew Davis1-2/+5
The FSS bus contains several register ranges. Using an empty ranges property works but causes a DT warning when we give this node an address. Fix this by explicitly defining the memory ranges in use. Signed-off-by: Andrew Davis <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Nishanth Menon <[email protected]>
2024-04-25arm64: dts: ti: k3-j721e: Use exact ranges for FSS nodeAndrew Davis1-2/+6
The FSS bus contains several register ranges. Using an empty ranges property works but causes a DT warning when we give this node an address. Fix this by explicitly defining the memory ranges in use. Signed-off-by: Andrew Davis <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Nishanth Menon <[email protected]>
2024-04-25arm64: dts: ti: k3-j7200: Use exact ranges for FSS nodeAndrew Davis1-2/+4
The FSS bus contains several register ranges. Using an empty ranges property works but causes a DT warning when we give this node an address. Fix this by explicitly defining the memory ranges in use. Signed-off-by: Andrew Davis <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Nishanth Menon <[email protected]>
2024-04-25arm64: dts: ti: k3-am65: Use exact ranges for FSS nodeAndrew Davis1-1/+5
The FSS bus contains several register ranges. Using an empty ranges property works but causes a DT warning when we give this node an address. Fix this by explicitly defining the memory ranges in use. Signed-off-by: Andrew Davis <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Nishanth Menon <[email protected]>
2024-04-25arm64: dts: ti: k3-am65: Move SerDes mux nodes under the control nodeAndrew Davis1-8/+13
These SerDes lane select muxes use bits from the same register as the SerDes clock select mux. Make the lane select mux a child of the SerDes control node. This removes one more requirement on scm-conf being a syscon node which will later be converted to fix a couple DTS check warnings. Signed-off-by: Andrew Davis <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Nishanth Menon <[email protected]>
2024-04-25arm64: dts: ti: k3-am65: Add full compatible to SerDes control nodesAndrew Davis1-4/+4
This matches the binding for this register region which fixes a couple DTS check warnings. While here trim the leading 0s from the "reg" definition. Signed-off-by: Andrew Davis <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Nishanth Menon <[email protected]>
2024-04-25x86/bugs: Switch to new Intel CPU model definesTony Luck1-78/+76
New CPU #defines encode vendor and family as well as model. Signed-off-by: Tony Luck <[email protected]> Signed-off-by: Borislav Petkov (AMD) <[email protected]> Acked-by: Josh Poimboeuf <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2024-04-25x86/bugs: Switch to new Intel CPU model definesTony Luck1-15/+15
New CPU #defines encode vendor and family as well as model. Signed-off-by: Tony Luck <[email protected]> Signed-off-by: Borislav Petkov (AMD) <[email protected]> Acked-by: Josh Poimboeuf <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2024-04-25arm64: dts: imx93-11x11-evk: add RTC PCF2131 supportJoy Zou1-0/+21
Support RTC PCF2131 on imx93-11x11-evk. Signed-off-by: Joy Zou <[email protected]> Reviewed-by: Marco Felsch <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2024-04-25arm64: dts: imx93-11x11-evk: add reset gpios for ethernet PHYsWei Fang1-0/+6
Both the PHYs of the EQOS interface and the FEC interface are supported to be reset by I2C GPIO Expender. So add the support to reset PHYs. Signed-off-by: Wei Fang <[email protected]> Reviewed-by: Clark Wang <[email protected]> Signed-off-by: Peng Fan <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2024-04-25arm64: dts: imx93-11x11-evk: add sleep pinctrl for sdhc2Peng Fan1-1/+21
Add sleep pinctrl for SDHC2 for suspend usage. Signed-off-by: Peng Fan <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2024-04-25arm64: dts: imx93-11x11-evk: add different usdhc pinctrl for different ↵Luke Wang1-4/+64
timing usage imx93-11x11-evk dts use the strongest driver strength for default(high-speed), 100MHz(SDR50/DDR50/DDR52) and 200MHz(SDR104/HS200/HS400) timing. To make usdhc working appropriately for each timing, add X1 drive strength to default timing and X3 drive strength to 100MHz timing. Reviewed-by: Haibo Chen <[email protected]> Signed-off-by: Luke Wang <[email protected]> Signed-off-by: Peng Fan <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2024-04-25arm64: dts: imx93-11x11-evk: add sleep pinctrl for eqos and fecPeng Fan1-2/+42
Add sleep pinctrl settings for EQoS and FEC to save power when suspend. Signed-off-by: Peng Fan <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2024-04-25arm64: dts: imx93-11x11-evk: update resource table addressPeng Fan1-3/+3
Update the resource table to avoid conflict because iMX93 ROM use last 4KB TCM aream. Also correct vdev1vring node name to align with reg. Fixes: e1da729459e6 ("arm64: dts: imx93: enable CM33 for 11x11 EVK") Signed-off-by: Peng Fan <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2024-04-25arm64: dts: imx93: add nvmem property for eqosPeng Fan1-0/+6
Add nvmem properties for eqos to get mac address. Signed-off-by: Peng Fan <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2024-04-25arm64: dts: imx93: add nvmem property for fec1Peng Fan1-0/+7
Add nvmem property for fec1 to get mac address. Signed-off-by: Peng Fan <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2024-04-25arm64: dts: imx93: assign usdhc[1..3] root clock to 400MHzHaibo Chen1-0/+9
1. Config SDHC1 clock 400MHz to support eMMC HS400ES mode 2. The original usdhc2 and usdhc3 root clock is 200MHz. Then WIFI on usdhc3 at SDR104 mode can work under 200MHz. But if imx93 work under Low Drive mode, the usdhc3 pad signal is not good under 200MHz, SDR104 mode can't work stable. Need to downgrade to 133MHz to let WIFI work stable. To cover all the cases, for Norminal Drive mode, keep usdhc root at 400MHz, then card(SD/wifi) can work at SDR104 mode under 200MHz to get the best performance. For Low Drive mode, bootloader need override usdhc root clock to 266MHz, and the card(SD/wifi) work at SDR104 mode under 133MHz, can work stable. Reviewed-by: Sherry Sun <[email protected]> Signed-off-by: Haibo Chen <[email protected]> Signed-off-by: Peng Fan <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2024-04-25arm64: dts: imx93: add dma support for lpspi[1..8]Peng Fan1-0/+16
Add dma support for lpspi[1..8] Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Frank Li <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2024-04-25arm64: dts: imx93: add dma support for lpi2c[1..8]Peng Fan1-0/+16
Add dma support for lpi2c[1..8]. Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Frank Li <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2024-04-25arm64: dts: imx93: use FSL_EDMA_RX for rx channelPeng Fan1-12/+13
Use FSL_EDMA_RX for dma rx channel bitmask, which is intuitive. Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Frank Li <[email protected]> Signed-off-by: Shawn Guo <[email protected]>