Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

dtb pin name for 1-wire

Featured Replies

Hello.
I am trying to have the 1-wire working on Rockpi4B+ on pin GPIO4_D6 (= number 158).
I have this /boot/armbianEnv.txt:

verbosity=1
bootlogo=true
overlay_prefix=rockchip
fdtfile=rockchip/rk3399-rock-pi-4b.dtb
rootdev=UUID=aa1f4e9a-bad9-4760-87c5-511247ef7227
rootfstype=ext4
overlays=w1-gpio
param_w1_pin=GPIO4_D6
param_w1_pin_int_pullup=1
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u

but when I check on my board:
 

sudo cat /sys/kernel/debug/gpio
GPIOs 0-31, platform/pinctrl, gpio0:
 gpio-4   (                    |bt_default_wake_host) in  lo
 gpio-9   (                    |bt_default_reset    ) out hi
 gpio-10  (                    |reset               ) out hi

GPIOs 32-63, platform/pinctrl, gpio1:
 gpio-35  (                    |vcc5v0_otg          ) out hi
 gpio-36  (                    |w1                  ) in  lo
 gpio-46  (                    |vsel                ) out lo
 gpio-49  (                    |vsel                ) out lo

GPIOs 64-95, platform/pinctrl, gpio2:
 gpio-83  (                    |bt_default_rts      ) out hi
 gpio-90  (                    |vcc3v3_pcie         ) out hi
 gpio-91  (                    |bt_default_wake     ) out hi

GPIOs 96-127, platform/pinctrl, gpio3:
 gpio-124 (                    |?                   ) out lo
 gpio-125 (                    |?                   ) out lo

GPIOs 128-159, platform/pinctrl, gpio4:
 gpio-153 (                    |vcc5v0_host         ) out hi

and if I check the dtb file:
 

Quote

 

pi@rockpi-4b:~$ fdtdump /boot/dtb-4.4.213-rockchip64/rockchip/overlay/rockchip-w1-gpio.dtbo

**** fdtdump is a low-level debugging tool, not meant for general use.
**** If you want to decompile a dtb, you probably want
****     dtc -I dtb -O dts <filename>

/dts-v1/;
// magic:               0xd00dfeed
// totalsize:           0x1eb (491)
// off_dt_struct:       0x38
// off_dt_strings:      0x1a8
// off_mem_rsvmap:      0x28
// version:             17
// last_comp_version:   16
// boot_cpuid_phys:     0x0
// size_dt_strings:     0x43
// size_dt_struct:      0x170

/ {
    compatible = "rockchip,rk3399";
    fragment@0 {
        target-path = "/";
        __overlay__ {
            onewire@0 {
                compatible = "w1-gpio";
                pinctrl-names = "default";
                gpios = <0xffffffff 0x00000004 0x00000000 0x000000ae>;
                status = "okay";
                phandle = <0x00000001>;
            };
        };
    };
    __symbols__ {
        w1 = "/fragment@0/__overlay__/onewire@0";
    };
    __fixups__ {
        gpio1 = "/fragment@0/__overlay__/onewire@0:gpios:0";
    };
};

 

 

It appears than the w1-gpio is connected to GPIO1_A5 (= number 36)
I guess something went wrong in the configuration of 1-wire pin, but what ?

  • Author

Ok, I found the problem. There is a bug in the w1-gpio.dtbo installed with armbian.
If I use it, I have a dmeg saying 'w1-pins' group missing.
I created my own dts file:

sudo nano w1-gpio.dts

and remove fragment@1 and pinctrl-0 = <&w1_pins>;

/dts-v1/;
/plugin/;

/ {
        compatible = "rockchip,rockpi","rockchip,rk3399";

        fragment@0 {
                target-path = "/";

                __overlay__ {

                        w1: onewire@0 {
                                compatible = "w1-gpio";
                                pinctrl-names = "default";
                                gpios = <&gpio4 30 0>;
                                status = "okay";
                        };
                };
        };

};

and compiled it:
 sudo dtc -I dts -O dtb -o /boot/dtb-5.15.63-rockchip64/rockchip/overlay/rockchip-w1-gpio.dtbo w1-gpio.dts

 

and I have my hardware working !

sudo dmesg | grep w1
[    7.553669] w1_master_driver w1_bus_master1: Attaching one wire slave 10.000802e5e4d1 crc 3c
 

Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.