Commit Graph

1185189 Commits

Author SHA1 Message Date
Oleksij Rempel
768b95f963 ARM: dts: imx6dl: alti6p: fix different USB related warnings
Fix USB-related warnings in imx6dl alti6p device tree by disabling
unused usbphynop1 and usbphynop2 USB PHYs and properly configuring
over-current detection on related ports. This fixes the following
warnings with the current kernel:
usb_phy_generic usbphynop1: dummy supplies not allowed for exclusive requests
usb_phy_generic usbphynop2: dummy supplies not allowed for exclusive requests
imx_usb 2184200.usb: No over-current polarity defined

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-06-04 21:07:15 +08:00
Oleksij Rempel
d5a17fb69f ARM: dts: imx6dl: vicut1: Address USB related warnings
This patch addresses several USB-related warnings in the device tree for
the imx6dl vicut1 system. Specifically, it disables the unused
usbphynop1 and usbphynop2 USB PHYs, and disables unsupported
over-current detection. This action mitigates the following kernel
warnings:
usb_phy_generic usbphynop1: dummy supplies not allowed for exclusive requests
usb_phy_generic usbphynop2: dummy supplies not allowed for exclusive requests
imx_usb 2184200.usb: No over-current polarity defined

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-06-04 21:07:12 +08:00
Oleksij Rempel
543b2064b2 ARM: dts: imx6dl: Add trip points to thermal zones on several devices
Kernel v6.3-rc1 prints errors due to missing trip points in thermal
zones. These errors indicate a lack of critical temperature threshold
settings, causing warnings at boot. To silence these errors, this patch
introduces trip points into the thermal zones of several imx6dl based
devices.

The following devices are updated:
- plym2m
- prtvt7
- victgo
- vicut1

These devices are automotive grade and expected to operate up to 105C.
An exception is the plym2m, an industrial grade device, which is
certified to work up to 85C.

The added trip points act as alert thresholds but do not trigger any
actions except warnings. This behavior is by design, as these devices
should maintain their performance until the end, without any thermal
throttling.

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-06-04 21:07:10 +08:00
Oleksij Rempel
5e7487d08d ARM: dts: imx6dl: lanmcu: Configure over-current polarity for USB OTG node
This commit adds the 'over-current-active-low' flag to the USB OTG node
in the imx6dl-lanmcu device tree. This flag is necessary because the
hardware signals over-current conditions by pulling the line low.
Without this flag, the kernel could misinterpret an over-current
condition, leading to unexpected behavior.

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-06-04 21:07:07 +08:00
Oleksij Rempel
bcadb70168 ARM: dts: imx6dl: lanmcu: Disable unused USB PHY nodes
In the imx6dl-lanmcu system, the usbh2 and usbh3 interfaces are not in
use. However, the related USB PHY nodes (usbphynop1 and usbphynop2) are
enabled by default in the imx6qdl.dtsi file, which can lead to confusion
and potential resource mismanagement.

This commit explicitly disables these unused USB PHY nodes in the
imx6dl-lanmcu device tree, aligning the configuration more accurately
with the actual hardware setup.

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-06-04 21:07:05 +08:00
Robin van der Gracht
fb9e67f279 ARM: dts: imx6q: prtwd2: Correct iomux configuration for ENET MDIO and MDC
This commit addresses a misconfiguration in the prtwd2 device tree
source. Specifically, the ENET MDIO and MDC pins were mistakenly
assigned to the Ethernet block, while they are actually used by the I2C4
interface.

Signed-off-by: Robin van der Gracht <robin@protonic.nl>
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-06-04 21:07:02 +08:00
David Jander
e76194fc6e ARM: dts: imx6dl: prtvt7: Remove touchscreen inversion
This touchscreen does not seem to be inverted in any axis, so remove these
DT properties.

Signed-off-by: David Jander <david@protonic.nl>
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-06-04 21:07:00 +08:00
Robin van der Gracht
b007934665 ARM: dts: imx6dl: prtvt7: Adjust default backlight brightness to 65
This commit changes the default brightness level of the backlight on the
prtvt7 device from 20 to 65, roughly equivalent to 75% of the maximum
brightness level defined in the "brightness-levels" property.

The adjustment provides a more optimal default brightness for the
device, improving the overall user experience.

Signed-off-by: Robin van der Gracht <robin@protonic.nl>
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-06-04 21:06:57 +08:00
Robin van der Gracht
49daa70b4f ARM: dts: imx6qdl: vicut1: The sgtl5000 uses i2s not ac97
According to Documentation/devicetree/bindings/sound/fsl,ssi.txt
'fsl,mode' should be specified for AC97 mode only.

The 'fsl,ssi' documentation doesn't say anything about specifying
'sound-dai-cells' so we'll remove that as well.

Signed-off-by: Robin van der Gracht <robin@protonic.nl>
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-06-04 21:06:45 +08:00
Fabio Estevam
17afe1a31b ARM: dts: imx: Use 'eeprom' as node name
Devicetree node names should be generic. Use 'eeprom' as node name
to avoid devicetree check warning from at24.yaml.

Signed-off-by: Fabio Estevam <festevam@denx.de>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-06-04 20:53:33 +08:00
Fabio Estevam
3c52e3e454 ARM: dts: imx6ul-ccimx6ulsom: Fix the "coin" regulator name
As documented in pfuze100.yaml, the correct name for the regulator is
"coin", so change it to fix the following DT check warning:

imx6ul-ccimx6ulsbcexpress.dtb: pmic@8: regulators: 'vcoin' does not match any of the regexes:

Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-06-04 20:21:41 +08:00
Fabio Estevam
1069247469 ARM: dts: imx: Use 'pmic' as node name
Devicetree node names should be generic. Use 'pmic' as node name
to avoid devicetree check warning from pfuze100.yaml.

Signed-off-by: Fabio Estevam <festevam@denx.de>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-06-04 20:20:59 +08:00
Fabio Estevam
6266a0198f ARM: dts: imx6: Use the mux- prefix
According to Documentation/devicetree/bindings/sound/imx-audmux.yaml,
there must be a "mux-" prefix in the audmux port nodes.

Add the "mux-" prefix to avoid devicetree schema warnings.

Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-06-04 20:14:11 +08:00
Fabio Estevam
ba5e46f762 ARM: dts: imx7d-sdb: Allow UHS modes
Describe the SD1_VSELECT pad, which is necessary to allow UHS modes.

Also, to support higher SD card speed modes, describe the 100MHz and
200MHz SD card pinctrl entries.

Suggested-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-06-04 20:09:37 +08:00
Fabio Estevam
dda66e99db ARM: dts: imx7d-sdb: Describe the SD card regulator
Improve the devicetree description by adding the SD card regulator
that is controlled via GPIO5_2.

Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-06-04 20:09:01 +08:00
Andrew Lunn
6390213bb5 ARM: dts: vf610: ZII: Add missing phy-mode and fixed links
The DSA framework has got more picky about always having a phy-mode
for the CPU port. The Vybrid FEC is a Fast Ethrnet using RMII.

Additionally, the cpu label has never actually been used in the
binding, so remove it.

Lastly, for DSA links between switches, add a fixed-link node
indicating the expected speed/duplex of the link.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-27 21:24:01 +08:00
Fabio Estevam
62c9f9c1d4 ARM: dts: imx6qdl-icore-rqs: Use the 'vmmc-supply' property
'vmcc-supply' is not a valid property.

Use 'vmmc-supply' supply instead.

Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-27 21:24:01 +08:00
Fabio Estevam
7fe4e51820 ARM: dts: vfxxx: Remove invalid wdog property
The 'clock-names' property is not a valid property for wdog.

Remove it to fix the following DT check warning:

vf610-zii-ssmb-dtu.dtb: watchdog@4003e000: Unevaluated properties are not allowed ('clock-names' was unexpected)
From schema: /Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml

Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-27 21:24:01 +08:00
Fabio Estevam
a211ff7477 ARM: dts: imx35: Remove invalid wdog property
The 'clock-names' property is not a valid property for wdog.

Remove it to fix the following DT check warning:

watchdog@53fdc000: Unevaluated properties are not allowed ('clock-names' was unexpected)
From schema: Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml

Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-27 21:24:01 +08:00
Fabio Estevam
b3cea72015 ARM: dts: imx7d-flex-concentrator: Remove invalid ecspi property
The 'num-chipselects' property is not a valid property for ecspi.

Remove it to fix the following DT check warning:

spi@30630000: Unevaluated properties are not allowed ('num-chipselects' was unexpected)
From schema: Documentation/devicetree/bindings/spi/fsl-imx-cspi.yaml

Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-27 21:24:01 +08:00
Fabio Estevam
80ad9b634e ARM: dts: imx6ull-phytec-tauri: Remove invalid property
The 'rs485-rts-active-high' property is not a valid property and is not
documented anywhere.

Remove it to fix the following DT schema warning:

serial@21f0000: Unevaluated properties are not allowed ('rs485-rts-active-high' was unexpected)

Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-27 21:23:58 +08:00
Fabio Estevam
f9acd1a110 ARM: dts: imx7d-smegw01: Pass Ethernet aliases
Pass Ethernet aliases, so that the bootloader can properly pass MAC address
to Linux.

This fixes the problem of getting a random MAC address for eth1 in Linux.

Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-27 21:06:51 +08:00
Fabio Estevam
353791ce48 ARM: dts: imx7d-smegw01: Use pinctrl-0 for pinctrl_rfkill
Use pinctrl-0 for pinctrl_rfkill to fix the following
'make CHECK_DTBS=y imx7d-smegw01.dtb' warning:

regulator-wlan-rfkill: 'pinctrl-0' is a dependency of 'pinctrl-names'

Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-27 21:06:49 +08:00
Fabio Estevam
1b2b6039bd ARM: dts: imx7d-smegw01: Pass 'gpr' to the pinctrl groups
Pass 'gpr' to the pinctrl groups to fix the following
'make CHECK_DTBS=y imx7d-smegw01.dtb' warning:

pinctrl@30330000: 'rfkillrp', 'usbotg1', 'usbotg1-pwr', 'usbotg1-pwr-gpio' do not match any of the regexes: 'grp$', 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/pinctrl/fsl,imx7d-pinctrl.yaml

Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-27 21:06:47 +08:00
Fabio Estevam
0cf099dfe4 ARM: dts: imx7d-smegw01: Remove unneeded #address-cells/#size-cells
Remove the unneeded #address-cells/#size-cells from sram@0 to fix
the following 'make CHECK_DTBS=y imx7d-smegw01.dtb' warning:

sram@0: Unevaluated properties are not allowed ('#address-cells', '#size-cells' were unexpected)
From schema: Documentation/devicetree/bindings/mtd/microchip,mchp48l640.yaml

Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-27 21:06:36 +08:00
Tim Harvey
785167f21d ARM: dts: imx6qdl-gw5912: remove invalid nodes from fan-controller
Remove the invalid #address-cells and #size-cells nodes from
the fan-controller.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-27 20:52:10 +08:00
Tim Harvey
64719d28a3 ARM: dts: imx6qdl-gw54xx: remove invalid nodes from fan-controller
Remove the invalid #address-cells and #size-cells nodes from
the fan-controller.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-27 20:52:00 +08:00
Fabio Estevam
b74edf626c ARM: dts: imx6sx: Add LDB support
i.MX6SX has an LVDS controller that is connected to the eLCDIF.

Add support for it.

Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-27 20:51:37 +08:00
Haibo Chen
eb2a7d92dd ARM: dts: imx6sll-evk: avoid underscores in node name
usdhc1 and usdhc3 node name contain underscores, so replace the
'_' by '-'.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-27 19:27:14 +08:00
Haibo Chen
c5e341aacd ARM: dts: imx6sll-evk: add eMMC node support
On imx6sll-evk board, eMMC is connect on the usdhc2.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-27 19:27:02 +08:00
Alexander Stein
a101ba8587 ARM: dts: imx6qdl: Add HDMI to TQMa6x/MBa6
This adds support for a COTS monitor connected to X17.
4k monitors can be used, but are limited to 1080p.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-27 19:01:10 +08:00
Alexander Stein
171342e6af ARM: dts: imx6qdl-mba6: add mac address for USB ethernet controller
The mac address is stored in mainboard eeprom.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-27 16:13:13 +08:00
Krzysztof Kozlowski
6de27598cf ARM: dts: imx7ulp: add address/size-cells to OCOTP
The OCOTP node should have address/size-cells so the cells can have unit
address:

  imx7ulp-evk.dtb: efuse@410a6000: '#address-cells' is a required property
  imx7ulp-evk.dtb: efuse@410a6000: '#size-cells' is a required property

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-15 08:58:21 +08:00
Alexander Stein
6d81b2f20c ARM: dts: mba6ulx: add missing vcc supplies to i2c devices
This fixes the warnings:
pca953x 3-0020: supply vcc not found, using dummy regulator
pca953x 3-0021: supply vcc not found, using dummy regulator
pca953x 3-0022: supply vcc not found, using dummy regulator
at24 3-0051: supply vcc not found, using dummy regulator

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-14 11:45:37 +08:00
Stefan Wahren
ac0d46d5e3 ARM: dts: imx6ul: Add clock and PGC node to GPC
According to fsl,imx-gpc.yaml the General Power Control requires
a ipg clock and a Power Gating Control node. So add them to fix
the dtbs_check warnings on i.MX6UL boards:

gpc@20dc000: 'clocks' is a required property
gpc@20dc000: 'clock-names' is a required property
gpc@20dc000: 'pgc' is a required property

Suggested-by: Jacky Bai <ping.bai@nxp.com>
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-14 10:30:11 +08:00
Stefan Wahren
e9f5cd85f1 ARM: dts: imx: Adjust dma-apbh node name
Currently the dtbs_check generates warnings like this:

$nodename:0: 'dma-apbh@110000' does not match '^dma-controller(@.*)?$'

So fix all affected dma-apbh node names.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-14 10:29:51 +08:00
Andrew Lunn
0eea5c60c1 ARM: dts: imx6qdl: Add missing phy-mode and fixed links
The DSA framework has got more picky about always having a phy-mode
for the CPU port. Add a phy-mode based on what the SoC ethernet is
using. For RGMII mode, have the switch add the delays.

Additionally, the cpu label has never actually been used in the
binding, so remove it.

Lastly add a fixed-link node indicating the expected speed/duplex of
the link to the SoC.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-13 11:25:59 +08:00
Andrew Lunn
5c9347e80b ARM: dts: imx51: ZII: Add missing phy-mode
The DSA framework has got more picky about always having a phy-mode
for the CPU port. The imx51 Ethernet supports MII, and RMII. Set the
switch phy-mode based on how the SoC Ethernet port has been
configured.

Additionally, the cpu label has never actually been used in the
binding, so remove it.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-13 11:25:43 +08:00
Fabio Estevam
63a208bf7c ARM: dts: imx28-cfa: Replace deprecated spi-gpio properties
As stated in Documentation/devicetree/bindings/spi/spi-gpio.yaml,
'gpio-miso', 'gpio-mosi' and 'gpio-sck' are deprecated properties.

Use the recommeded 'miso-gpios', 'mosi-gpios' and 'sck-gpios' instead.

Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-13 11:14:38 +08:00
Fabio Estevam
49855ff5da ARM: dts: imx28-tx28: Replace deprecated spi-gpio properties
As stated in Documentation/devicetree/bindings/spi/spi-gpio.yaml,
'gpio-miso', 'gpio-mosi' and 'gpio-sck' are deprecated properties.

Use the recommeded 'miso-gpios', 'mosi-gpios' and 'sck-gpios' instead.

Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-13 11:14:28 +08:00
Fabio Estevam
7aac4615ea ARM: dts: imx6ul-tx6ul: Replace deprecated spi-gpio properties
As stated in Documentation/devicetree/bindings/spi/spi-gpio.yaml,
'gpio-miso', 'gpio-mosi' and 'gpio-sck' are deprecated properties.

Use the recommeded 'miso-gpios', 'mosi-gpios' and 'sck-gpios' instead.

Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-13 11:14:26 +08:00
Fabio Estevam
b5b5d74068 ARM: dts: vf610-zii-dev-rev-b: Replace deprecated spi-gpio properties
As stated in Documentation/devicetree/bindings/spi/spi-gpio.yaml,
'gpio-miso', 'gpio-mosi' and 'gpio-sck' are deprecated properties.

Use the recommeded 'miso-gpios', 'mosi-gpios' and 'sck-gpios' instead.

Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-13 11:14:23 +08:00
Fabio Estevam
48800d49c9 ARM: dts: imx51-zii-rdu1: Replace deprecated spi-gpio properties
As stated in Documentation/devicetree/bindings/spi/spi-gpio.yaml,
'gpio-miso', 'gpio-mosi' and 'gpio-sck' are deprecated properties.

Use the recommeded 'miso-gpios', 'mosi-gpios' and 'sck-gpios' instead.

Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-13 11:14:21 +08:00
Fabio Estevam
b5ed975048 ARM: dts: imx6ul-14x14-evk: Replace deprecated spi-gpio properties
As stated in Documentation/devicetree/bindings/spi/spi-gpio.yaml,
'gpio-mosi' and 'gpio-sck' are deprecated properties.

Use the recommeded 'mosi-gpios' and 'sck-gpios' instead.

Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-13 11:14:18 +08:00
Fabio Estevam
969dd087b9 ARM: dts: imx7d-sdb: Replace deprecated spi-gpio properties
As stated in Documentation/devicetree/bindings/spi/spi-gpio.yaml,
'gpio-mosi' and 'gpio-sck' are deprecated properties.

Use the recommeded 'mosi-gpios' and 'sck-gpios' instead.

Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-13 11:14:06 +08:00
Christoph Niedermaier
145e2732a5 ARM: dts: imx6ull-dhcor: Add Marantec maveo box
Add support for Marantec maveo box. The system is used to get a
smart conntection to a door drive. It has USB, WiFi, Bluetooth,
Zigbee and NFC interfaces. The core of this system is a soldered
i.MX6ULL DHCOR SoM from DH electronics.

Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-13 11:02:41 +08:00
Christoph Niedermaier
97dadebe5f ARM: dts: imx6ull-dhcor: Remove mmc aliases from DHCOR SoM
To be able to define mmc aliases correctly for a DHCOR board
remove mmc aliases from the DHCOR SoM layer.

All DHCOM SoM boards are based on the DHCOR SoM, as the DHCOR
SoM is soldered on top of the DHCOM SoM. As a result, remove
the mmc /delete-property/ entries from the aliases node in
the DHCOM SoM layer, because this is already removed in the
DHCOR SoM layer below.

Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-05-13 11:02:31 +08:00
Linus Torvalds
ac9a78681b Linux 6.4-rc1 v6.4-rc1 2023-05-07 13:34:35 -07:00
Linus Torvalds
f085df1be6 Merge tag 'perf-tools-for-v6.4-3-2023-05-06' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
Pull perf tool updates from Arnaldo Carvalho de Melo:
 "Third version of perf tool updates, with the build problems with with
  using a 'vmlinux.h' generated from the main build fixed, and the bpf
  skeleton build disabled by default.

  Build:

   - Require libtraceevent to build, one can disable it using
     NO_LIBTRACEEVENT=1.

     It is required for tools like 'perf sched', 'perf kvm', 'perf
     trace', etc.

     libtraceevent is available in most distros so installing
     'libtraceevent-devel' should be a one-time event to continue
     building perf as usual.

     Using NO_LIBTRACEEVENT=1 produces tooling that is functional and
     sufficient for lots of users not interested in those libtraceevent
     dependent features.

   - Allow Python support in 'perf script' when libtraceevent isn't
     linked, as not all features requires it, for instance Intel PT does
     not use tracepoints.

   - Error if the python interpreter needed for jevents to work isn't
     available and NO_JEVENTS=1 isn't set, preventing a build without
     support for JSON vendor events, which is a rare but possible
     condition. The two check error messages:

        $(error ERROR: No python interpreter needed for jevents generation. Install python or build with NO_JEVENTS=1.)
        $(error ERROR: Python interpreter needed for jevents generation too old (older than 3.6). Install a newer python or build with NO_JEVENTS=1.)

   - Make libbpf 1.0 the minimum required when building with out of
     tree, distro provided libbpf.

   - Use libsdtc++'s and LLVM's libcxx's __cxa_demangle, a portable C++
     demangler, add 'perf test' entry for it.

   - Make binutils libraries opt in, as distros disable building with it
     due to licensing, they were used for C++ demangling, for instance.

   - Switch libpfm4 to opt-out rather than opt-in, if libpfm-devel (or
     equivalent) isn't installed, we'll just have a build warning:

       Makefile.config:1144: libpfm4 not found, disables libpfm4 support. Please install libpfm4-dev

   - Add a feature test for scandirat(), that is not implemented so far
     in musl and uclibc, disabling features that need it, such as
     scanning for tracepoints in /sys/kernel/tracing/events.

  perf BPF filters:

   - New feature where BPF can be used to filter samples, for instance:

      $ sudo ./perf record -e cycles --filter 'period > 1000' true
      $ sudo ./perf script
           perf-exec 2273949 546850.708501:       5029 cycles:  ffffffff826f9e25 finish_wait+0x5 ([kernel.kallsyms])
           perf-exec 2273949 546850.708508:      32409 cycles:  ffffffff826f9e25 finish_wait+0x5 ([kernel.kallsyms])
           perf-exec 2273949 546850.708526:     143369 cycles:  ffffffff82b4cdbf xas_start+0x5f ([kernel.kallsyms])
           perf-exec 2273949 546850.708600:     372650 cycles:  ffffffff8286b8f7 __pagevec_lru_add+0x117 ([kernel.kallsyms])
           perf-exec 2273949 546850.708791:     482953 cycles:  ffffffff829190de __mod_memcg_lruvec_state+0x4e ([kernel.kallsyms])
                true 2273949 546850.709036:     501985 cycles:  ffffffff828add7c tlb_gather_mmu+0x4c ([kernel.kallsyms])
                true 2273949 546850.709292:     503065 cycles:      7f2446d97c03 _dl_map_object_deps+0x973 (/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2)

   - In addition to 'period' (PERF_SAMPLE_PERIOD), the other
     PERF_SAMPLE_ can be used for filtering, and also some other sample
     accessible values, from tools/perf/Documentation/perf-record.txt:

        Essentially the BPF filter expression is:

        <term> <operator> <value> (("," | "||") <term> <operator> <value>)*

     The <term> can be one of:
        ip, id, tid, pid, cpu, time, addr, period, txn, weight, phys_addr,
        code_pgsz, data_pgsz, weight1, weight2, weight3, ins_lat, retire_lat,
        p_stage_cyc, mem_op, mem_lvl, mem_snoop, mem_remote, mem_lock,
        mem_dtlb, mem_blk, mem_hops

     The <operator> can be one of:
        ==, !=, >, >=, <, <=, &

     The <value> can be one of:
        <number> (for any term)
        na, load, store, pfetch, exec (for mem_op)
        l1, l2, l3, l4, cxl, io, any_cache, lfb, ram, pmem (for mem_lvl)
        na, none, hit, miss, hitm, fwd, peer (for mem_snoop)
        remote (for mem_remote)
        na, locked (for mem_locked)
        na, l1_hit, l1_miss, l2_hit, l2_miss, any_hit, any_miss, walk, fault (for mem_dtlb)
        na, by_data, by_addr (for mem_blk)
        hops0, hops1, hops2, hops3 (for mem_hops)

  perf lock contention:

   - Show lock type with address.

   - Track and show mmap_lock, siglock and per-cpu rq_lock with address.
     This is done for mmap_lock by following the current->mm pointer:

      $ sudo ./perf lock con -abl -- sleep 10
       contended   total wait     max wait     avg wait            address   symbol
       ...
           16344    312.30 ms      2.22 ms     19.11 us   ffff8cc702595640
           17686    310.08 ms      1.49 ms     17.53 us   ffff8cc7025952c0
               3     84.14 ms     45.79 ms     28.05 ms   ffff8cc78114c478   mmap_lock
            3557     76.80 ms     68.75 us     21.59 us   ffff8cc77ca3af58
               1     68.27 ms     68.27 ms     68.27 ms   ffff8cda745dfd70
               9     54.53 ms      7.96 ms      6.06 ms   ffff8cc7642a48b8   mmap_lock
           14629     44.01 ms     60.00 us      3.01 us   ffff8cc7625f9ca0
            3481     42.63 ms    140.71 us     12.24 us   ffffffff937906ac   vmap_area_lock
           16194     38.73 ms     42.15 us      2.39 us   ffff8cd397cbc560
              11     38.44 ms     10.39 ms      3.49 ms   ffff8ccd6d12fbb8   mmap_lock
               1      5.43 ms      5.43 ms      5.43 ms   ffff8cd70018f0d8
            1674      5.38 ms    422.93 us      3.21 us   ffffffff92e06080   tasklist_lock
             581      4.51 ms    130.68 us      7.75 us   ffff8cc9b1259058
               5      3.52 ms      1.27 ms    703.23 us   ffff8cc754510070
             112      3.47 ms     56.47 us     31.02 us   ffff8ccee38b3120
             381      3.31 ms     73.44 us      8.69 us   ffffffff93790690   purge_vmap_area_lock
             255      3.19 ms     36.35 us     12.49 us   ffff8d053ce30c80

   - Update default map size to 16384.

   - Allocate single letter option -M for --map-nr-entries, as it is
     proving being frequently used.

   - Fix struct rq lock access for older kernels with BPF's CO-RE
     (Compile once, run everywhere).

   - Fix problems found with MSAn.

  perf report/top:

   - Add inline information when using --call-graph=fp or lbr, as was
     already done to the --call-graph=dwarf callchain mode.

   - Improve the 'srcfile' sort key performance by really using an
     optimization introduced in 6.2 for the 'srcline' sort key that
     avoids calling addr2line for comparision with each sample.

  perf sched:

   - Make 'perf sched latency/map/replay' to use "sched:sched_waking"
     instead of "sched:sched_waking", consistent with 'perf record'
     since d566a9c2d4 ("perf sched: Prefer sched_waking event when it
     exists").

  perf ftrace:

   - Make system wide the default target for latency subcommand, run the
     following command then generate some network traffic and press
     control+C:

       # perf ftrace latency -T __kfree_skb
     ^C
         DURATION     |      COUNT | GRAPH                                          |
          0 - 1    us |         27 | #############                                  |
          1 - 2    us |         22 | ###########                                    |
          2 - 4    us |          8 | ####                                           |
          4 - 8    us |          5 | ##                                             |
          8 - 16   us |         24 | ############                                   |
         16 - 32   us |          2 | #                                              |
         32 - 64   us |          1 |                                                |
         64 - 128  us |          0 |                                                |
        128 - 256  us |          0 |                                                |
        256 - 512  us |          0 |                                                |
        512 - 1024 us |          0 |                                                |
          1 - 2    ms |          0 |                                                |
          2 - 4    ms |          0 |                                                |
          4 - 8    ms |          0 |                                                |
          8 - 16   ms |          0 |                                                |
         16 - 32   ms |          0 |                                                |
         32 - 64   ms |          0 |                                                |
         64 - 128  ms |          0 |                                                |
        128 - 256  ms |          0 |                                                |
        256 - 512  ms |          0 |                                                |
        512 - 1024 ms |          0 |                                                |
          1 - ...   s |          0 |                                                |
       #

  perf top:

   - Add --branch-history (LBR: Last Branch Record) option, just like
     already available for 'perf record'.

   - Fix segfault in thread__comm_len() where thread->comm was being
     used outside thread->comm_lock.

  perf annotate:

   - Allow configuring objdump and addr2line in ~/.perfconfig., so that
     you can use alternative binaries, such as llvm's.

  perf kvm:

   - Add TUI mode for 'perf kvm stat report'.

  Reference counting:

   - Add reference count checking infrastructure to check for use after
     free, done to the 'cpumap', 'namespaces', 'maps' and 'map' structs,
     more to come.

     To build with it use -DREFCNT_CHECKING=1 in the make command line
     to build tools/perf. Documented at:

       https://perf.wiki.kernel.org/index.php/Reference_Count_Checking

   - The above caught, for instance, fix, present in this series:

        - Fix maps use after put in 'perf test "Share thread maps"':

          'maps' is copied from leader, but the leader is put on line 79
          and then 'maps' is used to read the reference count below - so
          a use after put, with the put of maps happening within
          thread__put.

     Fixed by reversing the order of puts so that the leader is put
     last.

   - Also several fixes were made to places where reference counts were
     not being held.

   - Make this one of the tests in 'make -C tools/perf build-test' to
     regularly build test it and to make sure no direct access to the
     reference counted structs are made, doing that via accessors to
     check the validity of the struct pointer.

  ARM64:

   - Fix 'perf report' segfault when filtering coresight traces by
     sparse lists of CPUs.

   - Add support for 'simd' as a sort field for 'perf report', to show
     ARM's NEON SIMD's predicate flags: "partial" and "empty".

  arm64 vendor events:

   - Add N1 metrics.

  Intel vendor events:

   - Add graniterapids, grandridge and sierraforrest events.

   - Refresh events for: alderlake, aldernaken, broadwell, broadwellde,
     broadwellx, cascadelakx, haswell, haswellx, icelake, icelakex,
     jaketown, meteorlake, knightslanding, sandybridge, sapphirerapids,
     silvermont, skylake, tigerlake and westmereep-dp

   - Refresh metrics for alderlake-n, broadwell, broadwellde,
     broadwellx, haswell, haswellx, icelakex, ivybridge, ivytown and
     skylakex.

  perf stat:

   - Implement --topdown using JSON metrics.

   - Add TopdownL1 JSON metric as a default if present, but disable it
     for now for some Intel hybrid architectures, a series of patches
     addressing this is being reviewed and will be submitted for v6.5.

   - Use metrics for --smi-cost.

   - Update topdown documentation.

  Vendor events (JSON) infrastructure:

   - Add support for computing and printing metric threshold values. For
     instance, here is one found in thesapphirerapids json file:

       {
           "BriefDescription": "Percentage of cycles spent in System Management Interrupts.",
           "MetricExpr": "((msr@aperf@ - cycles) / msr@aperf@ if msr@smi@ > 0 else 0)",
           "MetricGroup": "smi",
           "MetricName": "smi_cycles",
           "MetricThreshold": "smi_cycles > 0.1",
           "ScaleUnit": "100%"
       },

   - Test parsing metric thresholds with the fake PMU in 'perf test
     pmu-events'.

   - Support for printing metric thresholds in 'perf list'.

   - Add --metric-no-threshold option to 'perf stat'.

   - Add rand (reverse and) and has_pmem (optane memory) support to
     metrics.

   - Sort list of input files to avoid depending on the order from
     readdir() helping in obtaining reproducible builds.

  S/390:

   - Add common metrics: - CPI (cycles per instruction), prbstate (ratio
     of instructions executed in problem state compared to total number
     of instructions), l1mp (Level one instruction and data cache misses
     per 100 instructions).

   - Add cache metrics for z13, z14, z15 and z16.

   - Add metric for TLB and cache.

  ARM:

   - Add raw decoding for SPE (Statistical Profiling Extension) v1.3 MTE
     (Memory Tagging Extension) and MOPS (Memory Operations) load/store.

  Intel PT hardware tracing:

   - Add event type names UINTR (User interrupt delivered) and UIRET
     (Exiting from user interrupt routine), documented in table 32-50
     "CFE Packet Type and Vector Fields Details" in the Intel Processor
     Trace chapter of The Intel SDM Volume 3 version 078.

   - Add support for new branch instructions ERETS and ERETU.

   - Fix CYC timestamps after standalone CBR

  ARM CoreSight hardware tracing:

   - Allow user to override timestamp and contextid settings.

   - Fix segfault in dso lookup.

   - Fix timeless decode mode detection.

   - Add separate decode paths for timeless and per-thread modes.

  auxtrace:

   - Fix address filter entire kernel size.

  Miscellaneous:

   - Fix use-after-free and unaligned bugs in the PLT handling routines.

   - Use zfree() to reduce chances of use after free.

   - Add missing 0x prefix for addresses printed in hexadecimal in 'perf
     probe'.

   - Suppress massive unsupported target platform errors in the unwind
     code.

   - Fix return incorrect build_id size in elf_read_build_id().

   - Fix 'perf scripts intel-pt-events.py' IPC output for Python 2 .

   - Add missing new parameter in kfree_skb tracepoint to the python
     scripts using it.

   - Add 'perf bench syscall fork' benchmark.

   - Add support for printing PERF_MEM_LVLNUM_UNC (Uncached access) in
     'perf mem'.

   - Fix wrong size expectation for perf test 'Setup struct
     perf_event_attr' caused by the patch adding
     perf_event_attr::config3.

   - Fix some spelling mistakes"

* tag 'perf-tools-for-v6.4-3-2023-05-06' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (365 commits)
  Revert "perf build: Make BUILD_BPF_SKEL default, rename to NO_BPF_SKEL"
  Revert "perf build: Warn for BPF skeletons if endian mismatches"
  perf metrics: Fix SEGV with --for-each-cgroup
  perf bpf skels: Stop using vmlinux.h generated from BTF, use subset of used structs + CO-RE
  perf stat: Separate bperf from bpf_profiler
  perf test record+probe_libc_inet_pton: Fix call chain match on x86_64
  perf test record+probe_libc_inet_pton: Fix call chain match on s390
  perf tracepoint: Fix memory leak in is_valid_tracepoint()
  perf cs-etm: Add fix for coresight trace for any range of CPUs
  perf build: Fix unescaped # in perf build-test
  perf unwind: Suppress massive unsupported target platform errors
  perf script: Add new parameter in kfree_skb tracepoint to the python scripts using it
  perf script: Print raw ip instead of binary offset for callchain
  perf symbols: Fix return incorrect build_id size in elf_read_build_id()
  perf list: Modify the warning message about scandirat(3)
  perf list: Fix memory leaks in print_tracepoint_events()
  perf lock contention: Rework offset calculation with BPF CO-RE
  perf lock contention: Fix struct rq lock access
  perf stat: Disable TopdownL1 on hybrid
  perf stat: Avoid SEGV on counter->name
  ...
2023-05-07 11:32:18 -07:00
Linus Torvalds
17784de648 Merge tag 'core-debugobjects-2023-05-06' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull debugobjects fix from Thomas Gleixner:
 "A single fix for debugobjects:

  The recent fix to ensure atomicity of lookup and allocation
  inadvertently broke the pool refill mechanism, so that debugobject
  OOMs now in certain situations. The reason is that the functions which
  got updated no longer invoke debug_objecs_init(), which is now the
  only place to care about refilling the tracking object pool.

  Restore the original behaviour by adding explicit refill opportunities
  to those places"

* tag 'core-debugobjects-2023-05-06' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  debugobject: Ensure pool refill (again)
2023-05-07 11:04:26 -07:00