NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: NetBSD as an NTP stratum 1 server



> Greg Troxel <gdt%lexort.com@localhost> writes:
>
>> Brad Spencer <brad%anduin.eldar.org@localhost> writes:
>>
>> (The advice about "use gpio" is good - I am just trying to clarify USB
>> PPS.)
>
> It has worked very well for me, assuming that the GPS module is stable.
> I had one that would have a tendency to crash in its firmware after
> being up for a while and totally lose its mind.
>

Thanks for the detailed information and discussion.

I built a kernel for my Rock64 on its bigger sibling RockPro64 (has a PCIe
SSD card) -- sorry, okay, that was me just saying how much I enjoy these 2
devices! Anyway...I ran into a problem initializing gpiopps. Here is the
Rock64 output when initializing with gpio.conf:
    [1.000004] gpiopps0 at gpio1 pins 28
    [1.000004] gpiopps0: autoconfiguration error: positive edge interrupt
not supported for ASSERT
I also booted single user and it fails using gpioctl. Taking a peek at
src/sys/dev/gpio/gpiopps.c this would be in the second if-block (1 pin) in
gpiopps_attach:
        if (!gpio_intr_str(sc->sc_gpio, &sc->sc_map, 0,
                   sc->sc_intrs[0].sc_irqmode,
                   sc->sc_intrs[0].sc_intrstr,
                   sizeof(sc->sc_intrs[0].sc_intrstr))) {
            aprint_error_dev(self,
                "failed to decode interrupt\n");
            gpio_pin_unmap(sc->sc_gpio, &sc->sc_map);
            return;
Here's what I added to evbarm/conf/GENERIC64:
    gpiopps* at gpio1 offset 28 mask 0x1 flag 0x2
This is for physical pin 7 which per pine64 wiki is GPIO1_D4. So gpio1 and
D=3, so 3*8 + 4 = port 28.

I tried also modifying the RockPro64 kernel -- similar issue.

Any idea what am I doing wrong?

Thanks - Joel




Home | Main Index | Thread Index | Old Index