Date: Sun, 05 Apr 2020 14:33:12 +0400 From: mishin@mh.net.ru To: freebsd-arm@freebsd.org Subject: pinctrl is not working for RPI2 Message-ID: <db482bddfd5fd0c3ea7b000df623425d@mh.net.ru>
index | next in thread | raw e-mail
Hi!
I write a character device driver for tm1637-display and want to
initialize pins for it as output pins.
Now I do it by gpio_pin_setflags() from dev_attach(). But I wonder if I
could do it from a fdt-overlay?
For OPI PC an overlay I wrote works fine (&pio instead &gpio) but RPI2
seems to be ignoring its overlay:
/dts-v1/;
/plugin/;
/ {
compatible = "brcm,bcm2836";
};
&gpio {
tm1637_pins: tm1637_pins {
brcm,pins = <20 21>; // GPIO20, GPIO21
brcm,function = <0x1>; // out (initially)
brcm,pull = <0x0>;
};
};
&{/soc} {
tm1637@0 {
compatible = "tm1637";
pinctrl-names = "default";
pinctrl-0 = <&tm1637_pins>;
gpios = <&gpio 20 0
&gpio 21 0
>;
scl = <0>; // GPIO20 (38)
sda = <1>; // GPIO21 (40)
status = "okay";
};
};
And after reboot "sysctl -b hw.fdt.dtb | dtc -O dts -I dtb" says:
soc {
.........
tm1637@0 {
status = "okay";
sda = <0x1>;
scl = <0x0>;
gpios = <0x6 0x14 0x0 0x6 0x15 0x0>;
pinctrl-0 = <0x67>;
pinctrl-names = "default";
compatible = "tm1637";
};
.... skipped ....
gpio@7e200000 {
.......
tm1637_pins {
phandle = <0x67>;
brcm,pull = <0x0>;
brcm,function = <0x1>;
brcm,pins = <0x14 0x15>;
};
But a "gpioctl -l" output reads:
....
pin 20: 1 pin 20<>
pin 21: 0 pin 21<>
.....
What have I done wrong?
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?db482bddfd5fd0c3ea7b000df623425d>
