Without this property the next node can't be hogged: &r_pio { test_hog { gpio-hog; gpios = <0 6 GPIO_ACTIVE_HIGH>; output-high; }; }; And the appropriate error message: "requesting hog GPIO test_hog (chip 1f02c00.pinctrl, offset 6) failed, -517" This problem occurs because the "pinctrl-sunxi" calls "gpiochip_add_data" that parses "gpio-ranges" (using "of_gpiochip_add_pin_range") and registers hogs (using "of_gpiochip_scan_gpios"). So when the gpiolib tries to register hogs it can't find any ranges and fails. Signed-off-by: Andrei Lalaev <andrey.lalaev@xxxxxxxxx> --- arch/arm/boot/dts/sunxi-h3-h5.dtsi | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi index d7e9f977f986..4193bf962b7d 100644 --- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi +++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi @@ -404,6 +404,9 @@ pio: pinctrl@1c20800 { #gpio-cells = <3>; interrupt-controller; #interrupt-cells = <3>; + gpio-ranges = <&pio 0 0 22>, <&pio 64 64 17>, + <&pio 96 96 18>, <&pio 128 128 16>, + <&pio 160 160 7>, <&pio 192 192 14>; csi_pins: csi-pins { pins = "PE0", "PE2", "PE3", "PE4", "PE5", @@ -937,6 +940,7 @@ r_pio: pinctrl@1f02c00 { #gpio-cells = <3>; interrupt-controller; #interrupt-cells = <3>; + gpio-ranges = <&r_pio 0 352 12>; r_ir_rx_pin: r-ir-rx-pin { pins = "PL11"; -- 2.25.1