Tool/software:
Hi,
I am trying to set the pinmux for USB0_DRVVBUS (0x000F4268) and USB1_DRVVBUS (0x000F4280), and am unable to do so because the maximum range of main_pmx0 is set the 0x25c.
[ 0.321675] pinctrl-single f4000.pinctrl: mux offset out of range: 0x268 (0x25c) [ 0.329174] pinctrl-single f4000.pinctrl: could not add functions for main-gpio1-phy-pins-default 616x
The relevant part in the device tree looks like this:
main_gpio1_phy_pins_default: main-gpio1-phy-pins-default { pinctrl-single,pins = < AM62AX_IOPAD(0x268, PIN_OUTPUT, 7) /* (C20) USB0_DRVVBUS.GPIO1_50 ETH_INT_PWDNn */ AM62AX_IOPAD(0x280, PIN_OUTPUT, 7) /* (D19) USB1_DRVVBUS.GPIO1_51 ETH_RSTn */ >; };
Am I doing something, or am I hitting a bug here?
I've already tried modifying the reg entry with the following patch:
From 16760a05dc5e86acb8dbbeba3f1c8611e9c34b0e Mon Sep 17 00:00:00 2001 From: Bas Vermeulen <sebastiaan.vermeulen@bench.com> Date: Tue, 3 Jun 2025 12:09:35 +0200 Subject: [PATCH] 4kcam-protoa: modify register range for main_pmx0 This allows us to set the pinmux for all pins. Signed-off-by: Bas Vermeulen <sebastiaan.vermeulen@bench.com> --- arch/arm64/boot/dts/ti/k3-am62a7-4kcam-protoa.dts | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/boot/dts/ti/k3-am62a7-4kcam-protoa.dts b/arch/arm64/boot/dts/ti/k3-am62a7-4kcam-protoa.dts index 3bb38643bb5b..7820ca8cfb11 100644 --- a/arch/arm64/boot/dts/ti/k3-am62a7-4kcam-protoa.dts +++ b/arch/arm64/boot/dts/ti/k3-am62a7-4kcam-protoa.dts @@ -184,6 +184,7 @@ edgeai_core_heaps: edgeai-core-heap-memory@ae000000 { }; &main_pmx0 { + reg = <0x00 0xf4000 0x00 0x280>; main_i2c2_pins_default: main-i2c2-pins-default { pinctrl-single,pins = < AM62AX_IOPAD(0x0b0, PIN_INPUT_PULLUP, 1) /* (B17) GPMC0_CSn2.I2C2_SCL I2C2_SCL */ -- 2.34.1
But that caused an oops during boot.
Any help would be appreciated, as I need those pins for my PHY.
Regards,
Bas Vermeulen