summaryrefslogtreecommitdiff
path: root/arch/arm
AgeCommit message (Collapse)Author
2024-05-01ARM: dts: aspeed: yosemite4: Enable ipmb device for OCP debug cardDelphine CC Chiu
Add OCP debug card devicetree config Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com> Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: ahe50dc: Update lm25066 regulator nameZev Weiss
A recent change to the lm25066 driver changed the name of its regulator from vout0 to vout; device-tree users of lm25066's regulator functionality (of which ahe50dc is the only one) thus require a corresponding update. Signed-off-by: Zev Weiss <zev@bewilderbeest.net> Cc: Conor Dooley <conor+dt@kernel.org> Cc: Guenter Roeck <linux@roeck-us.net> Acked-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: Add vendor prefixes to lm25066 compat stringsZev Weiss
Due to the way i2c driver matching works (falling back to the driver's id_table if of_match_table fails) this didn't actually cause any misbehavior, but let's add the vendor prefixes so things actually work the way they were intended to. Signed-off-by: Zev Weiss <zev@bewilderbeest.net> Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: asrock: Use MAC address from FRU EEPROMZev Weiss
Like the more recently added ASRock BMC platforms, e3c246d4i and romed8hm3 also have the BMC's MAC address available in the baseboard FRU EEPROM, so let's add support for using it. Signed-off-by: Zev Weiss <zev@bewilderbeest.net> Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: system1: IBM System1 BMC boardAndrew Geissler
Added a device tree for IBM system1 BMC board, which uses AST2600 SoC. Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Signed-off-by: Ninad Palsule <ninad@linux.ibm.com> Link: https://lore.kernel.org/r/20240125212154.4028640-3-ninad@linux.ibm.com Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: FSI interrupt supportEddie James
Enable FSI interrupt controllers for AST2600 and P10BMC hub master. Signed-off-by: Eddie James <eajames@linux.ibm.com> Link: https://lore.kernel.org/r/20240215220759.976998-27-eajames@linux.ibm.com Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: Harma: Modify GPIO line namePeter Yin
Add: "reset-cause-platrst", "cpu0-err-alert", "leakage-detect-alert", "presence-post-card", "ac-power-button", "P0_I3C_APML_ALERT_L", "irq-uv-detect-alert", "irq-hsc-alert", "cpu0-prochot-alert", "cpu0-thermtrip-alert", "reset-cause-pcie", "pvdd11-ocp-alert" Rename: "power-cpu-good" to "host0-ready", "host-ready-n" to "post-end-n Signed-off-by: Peter Yin <peteryin.openbmc@gmail.com> Link: https://lore.kernel.org/r/20240412091600.2534693-13-peteryin.openbmc@gmail.com Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: Harma: Add retimer devicePeter Yin
Add pt5161l device in i2c bus12 and bus21. Signed-off-by: Peter Yin <peteryin.openbmc@gmail.com> Link: https://lore.kernel.org/r/20240412091600.2534693-12-peteryin.openbmc@gmail.com Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: Harma: Revise node namePeter Yin
Revise max31790 and delta_brick node name. Signed-off-by: Peter Yin <peteryin.openbmc@gmail.com> Link: https://lore.kernel.org/r/20240412091600.2534693-11-peteryin.openbmc@gmail.com Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: Harma: Add ltc4286 devicePeter Yin
Add ltc4286 device. Signed-off-by: Peter Yin <peteryin.openbmc@gmail.com> Link: https://lore.kernel.org/r/20240412091600.2534693-10-peteryin.openbmc@gmail.com Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: Harma: Add NIC Fru devicePeter Yin
Add MB NIC Device Signed-off-by: Peter Yin <peteryin.openbmc@gmail.com> Link: https://lore.kernel.org/r/20240412091600.2534693-9-peteryin.openbmc@gmail.com Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: Harma: Revise max31790 addressPeter Yin
Revise max31790 address from 0x30 to 0x5e Signed-off-by: Peter Yin <peteryin.openbmc@gmail.com> Link: https://lore.kernel.org/r/20240412091600.2534693-8-peteryin.openbmc@gmail.com Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: Harma: Add PDB temperaturePeter Yin
Add PDB temperature sensor. Signed-off-by: Peter Yin <peteryin.openbmc@gmail.com> Link: https://lore.kernel.org/r/20240412091600.2534693-7-peteryin.openbmc@gmail.com Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: Harma: Add spi-gpioPeter Yin
Add spi-gpio for tpm device. Signed-off-by: Peter Yin <peteryin.openbmc@gmail.com> Link: https://lore.kernel.org/r/20240412091600.2534693-6-peteryin.openbmc@gmail.com Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: Harma: Add cpu power good line namePeter Yin
Add a line name for cpu power good. Signed-off-by: Peter Yin <peteryin.openbmc@gmail.com> Link: https://lore.kernel.org/r/20240412091600.2534693-5-peteryin.openbmc@gmail.com Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: Harma: Remove VuartPeter Yin
Remove vuart to avoid port conflict with uart2 Signed-off-by: Peter Yin <peteryin.openbmc@gmail.com> Link: https://lore.kernel.org/r/20240412091600.2534693-4-peteryin.openbmc@gmail.com Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: Harma: mapping ttyS2 to UART4.Peter Yin
Change routing to match SOL(Serial Over LAN) settings. Signed-off-by: Peter Yin <peteryin.openbmc@gmail.com> Link: https://lore.kernel.org/r/20240412091600.2534693-3-peteryin.openbmc@gmail.com Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: Harma: Revise SGPIO line name.Peter Yin
The same name as reset-control-smb-e1s change to reset-control-smb-e1s-0 and reset-control-smb-e1s-0. Signed-off-by: Peter Yin <peteryin.openbmc@gmail.com> Link: https://lore.kernel.org/r/20240412091600.2534693-2-peteryin.openbmc@gmail.com Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: minerva: add sgpio line nameYang Chen
Add the SGPIO line name that the project's function can use by the meaningful name. Signed-off-by: Yang Chen <yangchen.openbmc@gmail.com> Reviewed-by: Joel Stanley <joel@jms.id.au> Link: https://lore.kernel.org/r/20231212075200.983536-12-yangchen.openbmc@gmail.com Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: minerva: add gpio line nameYang Chen
Add the GPIO line name that the project's function can use by the meaningful name. Signed-off-by: Yang Chen <yangchen.openbmc@gmail.com> Reviewed-by: Joel Stanley <joel@jms.id.au> Link: https://lore.kernel.org/r/20231212075200.983536-11-yangchen.openbmc@gmail.com Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: minerva: Add led-fan-fault gpioYang Chen
Add led-fan-fault gpio pin on the PCA9555 on the i2c bus 0. Signed-off-by: Yang Chen <yangchen.openbmc@gmail.com> Reviewed-by: Joel Stanley <joel@jms.id.au> Link: https://lore.kernel.org/r/20231212075200.983536-10-yangchen.openbmc@gmail.com Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: minerva: add fan rpm controllerYang Chen
Add fan rpm controller max31790 on all bus of FCB. Signed-off-by: Yang Chen <yangchen.openbmc@gmail.com> Reviewed-by: Joel Stanley <joel@jms.id.au> Link: https://lore.kernel.org/r/20231212075200.983536-9-yangchen.openbmc@gmail.com Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: minerva: add bus labels and aliasesYang Chen
Add bus labels and aliases for the fan control board. Signed-off-by: Yang Chen <yangchen.openbmc@gmail.com> Reviewed-by: Joel Stanley <joel@jms.id.au> Link: https://lore.kernel.org/r/20231212075200.983536-8-yangchen.openbmc@gmail.com Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: minerva: correct the address of eepromYang Chen
Correct the address from 0x51 to 0x54 of eeprom on the i2c bus 1 Signed-off-by: Yang Chen <yangchen.openbmc@gmail.com> Reviewed-by: Joel Stanley <joel@jms.id.au> Link: https://lore.kernel.org/r/20231212075200.983536-7-yangchen.openbmc@gmail.com Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: minerva: Add temperature sensorYang Chen
Add one temperature sensor on i2c bus 1 Signed-off-by: Yang Chen <yangchen.openbmc@gmail.com> Reviewed-by: Joel Stanley <joel@jms.id.au> Link: https://lore.kernel.org/r/20231212075200.983536-6-yangchen.openbmc@gmail.com Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: minerva: Enable power monitor deviceYang Chen
Enable power monitor device ina230 and ltc2945 on the i2c bus 0 Signed-off-by: Yang Chen <yangchen.openbmc@gmail.com> Reviewed-by: Joel Stanley <joel@jms.id.au> Link: https://lore.kernel.org/r/20231212075200.983536-5-yangchen.openbmc@gmail.com Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: minerva: Change sgpio useYang Chen
Correct the sgpio use from sgpiom1 to sgpiom0 Signed-off-by: Yang Chen <yangchen.openbmc@gmail.com> Reviewed-by: Joel Stanley <joel@jms.id.au> Link: https://lore.kernel.org/r/20231212075200.983536-4-yangchen.openbmc@gmail.com Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: minerva: Modify mac3 settingYang Chen
Remove the unuse setting and fix the link to 100 M Signed-off-by: Yang Chen <yangchen.openbmc@gmail.com> Reviewed-by: Joel Stanley <joel@jms.id.au> Link: https://lore.kernel.org/r/20231212075200.983536-3-yangchen.openbmc@gmail.com Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: minerva: Revise the name of DTSYang Chen
The project Minerva which is the platform used by Meta has two boards: the Chassis Management Module (Minerva) and the Motherboard (Harma), so change the DTS name to minerva here for CMM use. Signed-off-by: Yang Chen <yangchen.openbmc@gmail.com> Reviewed-by: Joel Stanley <joel@jms.id.au> Link: https://lore.kernel.org/r/20231212075200.983536-2-yangchen.openbmc@gmail.com Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: Harma: Add Meta Harma (AST2600) BMCPeter Yin
Add linux device tree entry related to the Meta(Facebook) computer-node system use an AT2600 BMC. This node is named "Harma". Signed-off-by: Peter Yin <peteryin.openbmc@gmail.com> Reviewed-by: Joel Stanley <joel@jms.id.au> Link: https://lore.kernel.org/r/20231211162656.2564267-3-peteryin.openbmc@gmail.com Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: asrock: Add ASRock X570D4U BMCRenze Nicolai
This is a relatively low-cost AST2500-based Amd Ryzen 5000 Series micro-ATX board that we hope can provide a decent platform for OpenBMC development. This initial device-tree provides the necessary configuration for basic BMC functionality such as serial console, KVM support and POST code snooping. Signed-off-by: Renze Nicolai <renze@rnplus.nl> Reviewed-by: Joel Stanley <joel@jms.id.au> Link: https://lore.kernel.org/r/20231202003908.3635695-3-renze@rnplus.nl Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-05-01ARM: dts: aspeed: Add ASRock SPC621D8HM3 BMCZev Weiss
This is a Xeon board broadly similar (aside from CPU vendor) to the already-support romed8hm3 (half-width, single-socket, ast2500). It doesn't require anything terribly special for OpenBMC support, so this device-tree should provide everything necessary for basic functionality with it. Signed-off-by: Zev Weiss <zev@bewilderbeest.net> Link: https://lore.kernel.org/r/20231120121954.19926-6-zev@bewilderbeest.net Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2024-04-30Merge tag 'arm-soc/for-6.10/devicetree' of ↵Arnd Bergmann
https://github.com/Broadcom/stblinux into soc/dt This pull request contains Broadcom ARM-based SoCs Device Tree changes for 6.10, please pull the following: - Laurent converts the Raspberry Pi firmware DT binding to YAML, updates the firmware driver to use the proper 'struct device' reference for DMA mappings and drops unneeded properties from the DT node and finishes by removing the duplicate firmware-clocks property to bcm2835-rpi.dtsi. He also added support for the CAM1 camera interface regulator. - Uwe adds a pinctrl-based multiplexing description to allow the use of I2C0 pins to allow usage between the 40-pin Raspberry Pi header and the CSI and DSI connectors. He then describes the PCF85063 RTC device available on the CM4 I/O board making use of that pinctrl-based muxing. - Arinc updates the Asus RT-AC3100 and RT-AC88U DTs to have proper LED colors and function properties, NVMEM MAC addresses and removes duplicates and unnecessary properties and does a few Device Tree cleanups.. He then adds support for the Asus RT-AC3200 (BCM4709-based) and RT-AC3500 routers. - Jean-Michel adds DT nodes for the CSI Unicam camera interfaces on the Raspberry Pi 4 / BCM2711 SoCs - Florian adds support for the Ethernet LEDs on Raspberry Pi 4 B and Raspberry Pi 4 CM boards. * tag 'arm-soc/for-6.10/devicetree' of https://github.com/Broadcom/stblinux: arm: dts: bcm2711: Describe Ethernet LEDs ARM: dts: BCM5301X: Conform to DTS Coding Style on ASUS RT-AC3100 & AC88U ARM: dts: BCM5301X: Add DT for ASUS RT-AC5300 ARM: dts: BCM5301X: Add DT for ASUS RT-AC3200 dt-bindings: arm: bcm: add bindings for ASUS RT-AC5300 dt-bindings: arm: bcm: add bindings for ASUS RT-AC3200 ARM: dts: bcm2835: Add Unicam CSI nodes ARM: dts: BCM5301X: remove earlycon on ASUS RT-AC3100 and ASUS RT-AC88U ARM: dts: BCM5301X: remove duplicate compatible on ASUS RT-AC3100 & AC88U ARM: dts: BCM5301X: provide address for SoC MACs on ASUS RT-AC3100 & AC88U ARM: dts: BCM5301X: use color and function on ASUS RT-AC3100 and RT-AC88U ARM: dts: bcm2711-rpi-4-b: Add CAM1 regulator ARM: dts: bcm2711-rpi-cm4-io: Add RTC on I2C0 ARM: dts: bcm2711-rpi: Add pinctrl-based multiplexing for I2C0 ARM: dts: bcm2835-rpi: Move duplicate firmware-clocks to bcm2835-rpi.dtsi ARM: dts: bcm283x: Drop unneeded properties in the bcm2835-firmware node firmware: raspberrypi: Use correct device for DMA mappings dt-bindings: arm: bcm: raspberrypi,bcm2835-firmware: Add gpio child node Link: https://lore.kernel.org/r/20240429213703.2327834-2-florian.fainelli@broadcom.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-30Merge tag 'renesas-arm-defconfig-for-v6.10-tag1' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/defconfig Renesas ARM defconfig updates for v6.10 - Enable support for the Renesas RZ/G2L display unit, DA9062 PMIC, and RZ/V2H (R9A09G057) SoC in the ARM64 defconfig, - Refresh shmobile_defconfig for v6.9-rc1. * tag 'renesas-arm-defconfig-for-v6.10-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: ARM: shmobile: defconfig: Refresh for v6.9-rc1 arm64: defconfig: Enable R9A09G057 SoC arm64: defconfig: Enable Renesas DA9062 PMIC arm64: defconfig: Enable Renesas RZ/G2L display unit DRM driver Link: https://lore.kernel.org/r/cover.1712915530.git.geert+renesas@glider.be Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29Merge tag 'stm32-bus-firewall-for-v6.10-1' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32 into soc/drivers STM32 Firewall bus for v6.10, round 1 Highlights: --------- Introduce STM32 Firewall framework for STM32MP1x and STM32MP2x platforms. STM32MP1x(ETZPC) and STM32MP2x(RIFSC) Firewall controllers register to the framework to offer firewall services such as access granting. This series of patches is a new approach on the previous STM32 system bus, history is available here: https://lore.kernel.org/lkml/20230127164040.1047583/ The need for such framework arises from the fact that there are now multiple hardware firewalls implemented across multiple products. Drivers are shared between different products, using the same code. When it comes to firewalls, the purpose mostly stays the same: Protect hardware resources. But the implementation differs, and there are multiple types of firewalls: peripheral, memory, ... Some hardware firewall controllers such as the RIFSC implemented on STM32MP2x platforms may require to take ownership of a resource before being able to use it, hence the requirement for firewall services to take/release the ownership of such resources. On the other hand, hardware firewall configurations are becoming more and more complex. These mecanisms prevent platform crashes or other firewall-related incoveniences by denying access to some resources. The stm32 firewall framework offers an API that is defined in firewall controllers drivers to best fit the specificity of each firewall. For every peripherals protected by either the ETZPC or the RIFSC, the firewall framework checks the firewall controlelr registers to see if the peripheral's access is granted to the Linux kernel. If not, the peripheral is configured as secure, the node is marked populated, so that the driver is not probed for that device. The firewall framework relies on the access-controller device tree binding. It is used by peripherals to reference a domain access controller. In this case a firewall controller. The bus uses the ID referenced by the access-controller property to know where to look in the firewall to get the security configuration for the peripheral. This allows a device tree description rather than a hardcoded peripheral table in the bus driver. The STM32 ETZPC device is responsible for filtering accesses based on security level, or co-processor isolation for any resource connected to it. The RIFSC is responsible for filtering accesses based on Compartment ID / security level / privilege level for any resource connected to it. * tag 'stm32-bus-firewall-for-v6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32: bus: stm32_firewall: fix off by one in stm32_firewall_get_firewall() bus: etzpc: introduce ETZPC firewall controller driver bus: rifsc: introduce RIFSC firewall controller driver of: property: fw_devlink: Add support for "access-controller" firewall: introduce stm32_firewall framework dt-bindings: bus: document ETZPC dt-bindings: bus: document RIFSC dt-bindings: treewide: add access-controllers description dt-bindings: document generic access controllers Link: https://lore.kernel.org/r/7dc64226-5429-4ab7-a8c8-6053b12e3cf5@foss.st.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29Merge tag 'imx-soc-6.10' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/arm i.MX SoC changes for 6.10: - Assign the pmu->dev parent to be the platform device for MMDC driver, so that it doesn't appear directly under /sys/devices/. * tag 'imx-soc-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx: Assign parents for mmdc event_source devices Link: https://lore.kernel.org/r/20240428121247.10370-1-shawnguo2@yeah.net Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29Merge tag 'imx-defconfig-6.10' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/defconfig i.MX defconfig changes for 6.10: - Enable DW HDMI bridge driver for i.MX8M Plus SoC in arm64 defconfig - Enable ONBOAD_USB_DEV driver in imx_v6_v7_defconfig to support USB2514 Hub found on imx6qdl-udoo board * tag 'imx-defconfig-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx_v6_v7_defconfig: Update ONBOARD_USB_HUB to ONBOAD_USB_DEV ARM: imx_v6_v7_defconfig: Select CONFIG_USB_ONBOARD_HUB arm64: defconfig: Enable DRM_IMX8MP_DW_HDMI_BRIDGE as module Link: https://lore.kernel.org/r/20240428121247.10370-5-shawnguo2@yeah.net Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29Merge tag 'sunxi-config-for-6.10-1' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/defconfig - add dependency for DRM_SUN8I_DW_HDMI in sunxi defconfig * tag 'sunxi-config-for-6.10-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: ARM: configs: sunxi: Enable DRM_DW_HDMI Link: https://lore.kernel.org/r/20240426164354.GA101098@jernej-laptop Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29Merge tag 'dt-cleanup-6.10' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt into soc/dt Minor improvements in ARM DTS for v6.10 1. TI: add missing white-spaces for code readability. 2. Aspeed: add vendor prefix to compatibles, to properly describe hardware, even though Linux drivers match by device name. * tag 'dt-cleanup-6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt: ARM: dts: aspeed: Add vendor prefixes to lm25066 compat strings ARM: dts: ti: omap: minor whitespace cleanup Link: https://lore.kernel.org/r/20240428163316.28955-2-krzysztof.kozlowski@linaro.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29Merge tag 'imx-dt-6.10' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/dt i.MX ARM device tree for 6.10: - New board support: Seeed Studio NPi dev board, UNI-T UTi260B thermal camera board. - A couple of IRQ config correction for touchscreen and RC5T619 on tolino-shine2hd device. - Add snvs-poweroff support for i.MX7. - A couple of dtb_check warning fixes on i.MX6SX and i.MX6QDL ESAI. - Enable USB support for imx6qdl-udoo and imx27-phytec. - A big series from Uwe Kleine-König to adopt #pwm-cells = <3> for i.MX devices. - Other small changes and clean-ups. * tag 'imx-dt-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (64 commits) ARM: dts: imx6ul-pico: Use #pwm-cells = <3> for imx27-pwm device ARM: dts: imx6ul-kontron-bl-common: Use #pwm-cells = <3> for imx27-pwm device ARM: dts: imx6ul-kontron-bl-43: Use #pwm-cells = <3> for imx27-pwm device ARM: dts: imx6ul-isiot: Use #pwm-cells = <3> for imx27-pwm device ARM: dts: imx6ul-imx6ull-opos6uldev: Use #pwm-cells = <3> for imx27-pwm device ARM: dts: imx6ul-geam: Use #pwm-cells = <3> for imx27-pwm device ARM: dts: imx6ul-ccimx6ulsbcpro: Use #pwm-cells = <3> for imx27-pwm device ARM: dts: imx6ul-14x14-evk: Use #pwm-cells = <3> for imx27-pwm device ARM: dts: imx6sx-softing-vining-2000: Use #pwm-cells = <3> for imx27-pwm device ARM: dts: imx6sx-sdb: Use #pwm-cells = <3> for imx27-pwm device ARM: dts: imx6sx-nitrogen6sx: Use #pwm-cells = <3> for imx27-pwm device ARM: dts: imx6sll-evk: Use #pwm-cells = <3> for imx27-pwm device ARM: dts: imx6sl-evk: Use #pwm-cells = <3> for imx27-pwm device ARM: dts: imx6q-var-dt6customboard: Use #pwm-cells = <3> for imx27-pwm device ARM: dts: imx6q-prti6q: Use #pwm-cells = <3> for imx27-pwm device ARM: dts: imx6q-pistachio: Use #pwm-cells = <3> for imx27-pwm device ARM: dts: imx6q-novena: Use #pwm-cells = <3> for imx27-pwm device ARM: dts: imx6q-kp: Use #pwm-cells = <3> for imx27-pwm device ARM: dts: imx6qdl-skov-cpu: Use #pwm-cells = <3> for imx27-pwm device ARM: dts: imx6qdl-savageboard: Use #pwm-cells = <3> for imx27-pwm device ... Link: https://lore.kernel.org/r/20240428121247.10370-3-shawnguo2@yeah.net Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29Merge tag 'qcom-arm32-for-6.10' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt Qualcomm Arm32 DeviceTree updates for v6.10 The QCA8074 PHY package found in IPQ4019 is properly described. The Sony Xperia Z2 Tablet is cleaned up and improved, vibrator support is added, upon support for Sony Xperia Z3 is added. Also based on MSM8974, support for Samsung Galaxy S5 China is introduced. The WiFi board type is added for these "klte" Samsung devices, to select appropriate NVRAM firmware file. Based on MSM8226, support for Motorola Moto G (2013) is added. Nodes representing the PCIe bridges under existing controllers are added for APQ8064, IPQ4019, IPQ8064, and SDX55. A number of fixes throughout to improve compliance with DeviceTree bindings. * tag 'qcom-arm32-for-6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (22 commits) ARM: dts: qcom: msm8974: Add DTS for Samsung Galaxy S5 China (kltechn) ARM: dts: qcom: msm8974-klte-common: Pin WiFi board type ARM: dts: qcom: msm8974: Split out common part of samsung-klte ARM: dts: qcom: sdx55: Add PCIe bridge node ARM: dts: qcom: apq8064: Add PCIe bridge node ARM: dts: qcom: ipq4019: Add PCIe bridge node ARM: dts: qcom: ipq8064: Add PCIe bridge node ARM: dts: qcom: msm8974-sony-shinano: Enable vibrator ARM: dts: qcom: ipq4019: add QCA8075 PHY Package nodes ARM: dts: qcom: Add support for Motorola Moto G (2013) dt-bindings: arm: qcom: Add Motorola Moto G (2013) ARM: dts: qcom: msm8974: Add empty chosen node ARM: dts: qcom: msm8974: Add @0 to memory node name ARM: dts: qcom: Add Sony Xperia Z3 smartphone ARM: dts: qcom: msm8974-sony-castor: Split into shinano-common ARM: dts: qcom: msm8916: idle-state compatible require the generic idle-state ARM: dts: qcom: include cpu in idle-state node names ARM: dts: qcom: msm8974pro-castor: Rename wifi node name ARM: dts: qcom: msm8974pro-castor: Add debounce-interval for keys ARM: dts: qcom: msm8974pro-castor: Remove camera button definitions ... Link: https://lore.kernel.org/r/20240427163625.1432458-1-andersson@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29Merge tag 'tegra-for-6.10-arm-dt' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt ARM: tegra: Changes for v6.10-rc1 Adds support for EMC frequency scaling on PAZ100 devices with RAM code 1 and cleans up deprecated device tree properties. * tag 'tegra-for-6.10-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ARM: tegra: tegra20-ac97: Replace deprecated "gpio" suffix ARM: tegra: paz00: Add emc-tables for ram-code 1 Link: https://lore.kernel.org/r/20240426180519.3972626-3-thierry.reding@gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29ARM: 9392/2: Support CLANG CFILinus Walleij
Support Control Flow Integrity (CFI) when compiling with CLANG. In the as-of-writing LLVM CLANG implementation (v17) the 32-bit ARM platform is supported by the generic CFI implementation, which isn't tailored specifically for ARM32 but works well enough to enable the feature. Tested-by: Kees Cook <keescook@chromium.org> Reviewed-by: Sami Tolvanen <samitolvanen@google.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
2024-04-29ARM: 9391/2: hw_breakpoint: Handle CFI breakpointsLinus Walleij
This registers a breakpoint handler for the new breakpoint type (0x03) inserted by LLVM CLANG for CFI breakpoints. If we are in permissive mode, just print a backtrace and continue. Example with CONFIG_CFI_PERMISSIVE enabled: > echo CFI_FORWARD_PROTO > /sys/kernel/debug/provoke-crash/DIRECT lkdtm: Performing direct entry CFI_FORWARD_PROTO lkdtm: Calling matched prototype ... lkdtm: Calling mismatched prototype ... CFI failure at lkdtm_indirect_call+0x40/0x4c (target: 0x0; expected type: 0x00000000) WARNING: CPU: 1 PID: 112 at lkdtm_indirect_call+0x40/0x4c CPU: 1 PID: 112 Comm: sh Not tainted 6.8.0-rc1+ #150 Hardware name: ARM-Versatile Express (...) lkdtm: FAIL: survived mismatched prototype function call! lkdtm: Unexpected! This kernel (6.8.0-rc1+ armv7l) was built with CONFIG_CFI_CLANG=y As you can see the LKDTM test fails, but I expect that this would be expected behaviour in the permissive mode. We are currently not implementing target and type for the CFI breakpoint as this requires additional operand bundling compiler extensions. CPUs without breakpoint support cannot handle breakpoints naturally, in these cases the permissive mode will not work, CFI will fall over on an undefined instruction: Internal error: Oops - undefined instruction: 0 [#1] PREEMPT ARM CPU: 0 PID: 186 Comm: ash Tainted: G W 6.9.0-rc1+ #7 Hardware name: Gemini (Device Tree) PC is at lkdtm_indirect_call+0x38/0x4c LR is at lkdtm_CFI_FORWARD_PROTO+0x30/0x6c This is reasonable I think: it's the best CFI can do to ascertain the the control flow is not broken on these CPUs. Reviewed-by: Kees Cook <keescook@chromium.org> Tested-by: Kees Cook <keescook@chromium.org> Reviewed-by: Sami Tolvanen <samitolvanen@google.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
2024-04-29ARM: 9390/2: lib: Annotate loop delay instructions for CFILinus Walleij
When we annotate the loop delay code with SYM_TYPED_FUNC_START() a function prototype signature will be emitted into the object file above each site called from C, and the delay loop code is using "fallthroughs" from the different assembly callbacks. This will not work as the execution flow will run into the prototype signatures. Rewrite the code to use explicit branches to the other code segments and annotate the code using SYM_TYPED_FUNC_START(). Tested on the ARM Versatile which uses the calibrated loop delay. Tested-by: Kees Cook <keescook@chromium.org> Reviewed-by: Sami Tolvanen <samitolvanen@google.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
2024-04-29ARM: 9389/2: mm: Define prototypes for all per-processor callsLinus Walleij
Each CPU type ("proc") has assembly calls for initializing and setting up the MM context, idle and so forth. These calls have the C form of e.g.: void cpu_arm920_init(void); However this prototype is not really specified, instead it is generated by the glue code in <asm/glue-proc.h> and the prototype is implicit from the generic prototype defined in <asm/proc-fns.h> such as cpu_proc_init() in this case. (This is a bit similar to the "interface" or inheritance concept in other languages.) To be able to annotate these assembly calls for CFI, they all need to have a proper C prototype per CPU call. Define these in a new C file that is only compiled when we use CFI, and add __ADDRESSABLE() to each so the compiler knows that these will be addressed (they are not explicitly called in C, they are called by way of cpu_proc_init() etc). It is a bit of definitions, but we do not expect new ARM32 CPUs to appear very much so it should be pretty static. Tested-by: Kees Cook <keescook@chromium.org> Reviewed-by: Sami Tolvanen <samitolvanen@google.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
2024-04-29ARM: 9388/2: mm: Type-annotate all per-processor assembly routinesLinus Walleij
Type tag the remaining per-processor assembly using the CFI symbol macros, in addition to those that were previously tagged for cache maintenance calls. This will be used to finally provide proper C prototypes for all these calls as well so that CFI can be made to work. Tested-by: Kees Cook <keescook@chromium.org> Acked-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Sami Tolvanen <samitolvanen@google.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
2024-04-29ARM: 9387/2: mm: Rewrite cacheflush vtables in CFI safe CLinus Walleij
Instead of defining all cache flush operations with an assembly macro in proc-macros.S, provide an explicit struct cpu_cache_fns for each CPU cache type in mm/cache.c. As a side effect from rewriting the vtables in C, we can avoid the aliasing for the "louis" cache callback, instead we can just assign the NN_flush_kern_cache_all() function to the louis callback in the C vtable. As the louis cache callback is called explicitly (not through the vtable) if we only have one type of cache support compiled in, we need an ifdef quirk for this in the !MULTI_CACHE case. Feroceon and XScale have some dma mapping quirk, in this case we can just define two structs and assign all but one callback to the main implementation; since each of them invoked define_cache_functions twice they require MULTI_CACHE by definition so the compiled-in shortcut is not used on these variants. Tested-by: Kees Cook <keescook@chromium.org> Reviewed-by: Sami Tolvanen <samitolvanen@google.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
2024-04-29ARM: 9386/2: mm: Use symbol alias for cache functionsLinus Walleij
The cache functions to flush user cache (*_flush_user_cache_all) are in many cases just a branch to the corresponfing userspace or kernelspace function. These functions also have the same arguments. Simplify these by using SYM_FUNC_ALIAS() in all affected sites. The NOP cache has very many similar calls which are just returns, but it would be confusing to use aliases here, so leave all the explicit returns and drop a comment on why we are not using aliases. Reviewed-by: Sami Tolvanen <samitolvanen@google.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
2024-04-29ARM: 9385/2: mm: Type-annotate all cache assembly routinesLinus Walleij
Tag all references to assembly functions with SYM_TYPED_FUNC_START() and SYM_FUNC_END() so they also become CFI-safe. When we add SYM_TYPED_FUNC_START() to assembly calls, a function prototype signature will be emitted into the object file at (pc-4) at the call site, so that the KCFI runtime check can compare this to the expected call. Example: 8011ae38: a540670c .word 0xa540670c 8011ae3c <v7_flush_icache_all>: 8011ae3c: e3a00000 mov r0, #0 8011ae40: ee070f11 mcr 15, 0, r0, cr7, cr1, {0} 8011ae44: e12fff1e bx lr This means no "fallthrough" code can enter a SYM_TYPED_FUNC_START() call from above it: there will be a function prototype signature there, so those are consistently converted to a branch or ret lr depending on context. Tested-by: Kees Cook <keescook@chromium.org> Reviewed-by: Sami Tolvanen <samitolvanen@google.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>