GPIO on Olimex A64 board. Bank E not working.
Gary Otten
gdotten at gmail.com
Mon Oct 28 00:45:16 UTC 2019
I have set boot-on on aldo1 I didn't have any success in getting the E bank
to have voltage. I turned on a few other voltage regulators as well hoping
one of those might be powering the E bank instead, but no luck. I do have
voltage on the B bank of gpios and the pins that are exposed do function
correctly with the gpioctl command. For output see below. Thanks again
for everyone's help.
root at generic:~ # sysctl hw.regulator
hw.regulator.dc1sw.uvolt: 0
hw.regulator.dc1sw.always_on: 0
hw.regulator.dc1sw.boot_on: 0
hw.regulator.dc1sw.enable_cnt: 0
hw.regulator.dc1sw.enable_delay: 0
hw.regulator.dc1sw.ramp_delay: 0
hw.regulator.dc1sw.max_uamp: 0
hw.regulator.dc1sw.min_uamp: 0
hw.regulator.dc1sw.max_uvolt: 0
hw.regulator.dc1sw.min_uvolt: 0
hw.regulator.ldo-io1.always_on: 0
hw.regulator.ldo-io1.boot_on: 0
hw.regulator.ldo-io1.enable_cnt: 0
hw.regulator.ldo-io1.enable_delay: 0
hw.regulator.ldo-io1.ramp_delay: 0
hw.regulator.ldo-io1.max_uamp: 0
hw.regulator.ldo-io1.min_uamp: 0
hw.regulator.ldo-io1.max_uvolt: 3300000
hw.regulator.ldo-io1.min_uvolt: 700000
hw.regulator.ldo-io0.always_on: 0
hw.regulator.ldo-io0.boot_on: 0
hw.regulator.ldo-io0.enable_cnt: 0
hw.regulator.ldo-io0.enable_delay: 0
hw.regulator.ldo-io0.ramp_delay: 0
hw.regulator.ldo-io0.max_uamp: 0
hw.regulator.ldo-io0.min_uamp: 0
hw.regulator.ldo-io0.max_uvolt: 3300000
hw.regulator.ldo-io0.min_uvolt: 700000
hw.regulator.vdd-cpus.uvolt: 1100000
hw.regulator.vdd-cpus.always_on: 1
hw.regulator.vdd-cpus.boot_on: 0
hw.regulator.vdd-cpus.enable_cnt: 0
hw.regulator.vdd-cpus.enable_delay: 0
hw.regulator.vdd-cpus.ramp_delay: 0
hw.regulator.vdd-cpus.max_uamp: 0
hw.regulator.vdd-cpus.min_uamp: 0
hw.regulator.vdd-cpus.max_uvolt: 1100000
hw.regulator.vdd-cpus.min_uvolt: 1100000
hw.regulator.vcc-1v2-hsic.uvolt: 1200000
hw.regulator.vcc-1v2-hsic.always_on: 0
hw.regulator.vcc-1v2-hsic.boot_on: 0
hw.regulator.vcc-1v2-hsic.enable_cnt: 0
hw.regulator.vcc-1v2-hsic.enable_delay: 0
hw.regulator.vcc-1v2-hsic.ramp_delay: 0
hw.regulator.vcc-1v2-hsic.max_uamp: 0
hw.regulator.vcc-1v2-hsic.min_uamp: 0
hw.regulator.vcc-1v2-hsic.max_uvolt: 1200000
hw.regulator.vcc-1v2-hsic.min_uvolt: 1200000
hw.regulator.eldo3.always_on: 0
hw.regulator.eldo3.boot_on: 0
hw.regulator.eldo3.enable_cnt: 0
hw.regulator.eldo3.enable_delay: 0
hw.regulator.eldo3.ramp_delay: 0
hw.regulator.eldo3.max_uamp: 0
hw.regulator.eldo3.min_uamp: 0
hw.regulator.eldo3.max_uvolt: 1900000
hw.regulator.eldo3.min_uvolt: 700000
hw.regulator.vcc-dvdd-csi.uvolt: 1800000
hw.regulator.vcc-dvdd-csi.always_on: 1
hw.regulator.vcc-dvdd-csi.boot_on: 1
hw.regulator.vcc-dvdd-csi.enable_cnt: 0
hw.regulator.vcc-dvdd-csi.enable_delay: 0
hw.regulator.vcc-dvdd-csi.ramp_delay: 0
hw.regulator.vcc-dvdd-csi.max_uamp: 0
hw.regulator.vcc-dvdd-csi.min_uamp: 0
hw.regulator.vcc-dvdd-csi.max_uvolt: 1800000
hw.regulator.vcc-dvdd-csi.min_uvolt: 1800000
hw.regulator.cpvdd.uvolt: 1800000
hw.regulator.cpvdd.always_on: 0
hw.regulator.cpvdd.boot_on: 0
hw.regulator.cpvdd.enable_cnt: 0
hw.regulator.cpvdd.enable_delay: 0
hw.regulator.cpvdd.ramp_delay: 0
hw.regulator.cpvdd.max_uamp: 0
hw.regulator.cpvdd.min_uamp: 0
hw.regulator.cpvdd.max_uvolt: 1800000
hw.regulator.cpvdd.min_uvolt: 1800000
hw.regulator.vcc-pll-avcc.uvolt: 3000000
hw.regulator.vcc-pll-avcc.always_on: 1
hw.regulator.vcc-pll-avcc.boot_on: 1
hw.regulator.vcc-pll-avcc.enable_cnt: 0
hw.regulator.vcc-pll-avcc.enable_delay: 0
hw.regulator.vcc-pll-avcc.ramp_delay: 0
hw.regulator.vcc-pll-avcc.max_uamp: 0
hw.regulator.vcc-pll-avcc.min_uamp: 0
hw.regulator.vcc-pll-avcc.max_uvolt: 3000000
hw.regulator.vcc-pll-avcc.min_uvolt: 3000000
hw.regulator.vcc-pl.uvolt: 3300000
hw.regulator.vcc-pl.always_on: 1
hw.regulator.vcc-pl.boot_on: 1
hw.regulator.vcc-pl.enable_cnt: 0
hw.regulator.vcc-pl.enable_delay: 0
hw.regulator.vcc-pl.ramp_delay: 0
hw.regulator.vcc-pl.max_uamp: 0
hw.regulator.vcc-pl.min_uamp: 0
hw.regulator.vcc-pl.max_uvolt: 3300000
hw.regulator.vcc-pl.min_uvolt: 3300000
hw.regulator.vcc-pe.uvolt: 2800000
hw.regulator.vcc-pe.always_on: 1
hw.regulator.vcc-pe.boot_on: 1
hw.regulator.vcc-pe.enable_cnt: 0
hw.regulator.vcc-pe.enable_delay: 0
hw.regulator.vcc-pe.ramp_delay: 0
hw.regulator.vcc-pe.max_uamp: 0
hw.regulator.vcc-pe.min_uamp: 0
hw.regulator.vcc-pe.max_uvolt: 2800000
hw.regulator.vcc-pe.min_uvolt: 2800000
hw.regulator.vcc-wifi-io.uvolt: 3300000
hw.regulator.vcc-wifi-io.always_on: 0
hw.regulator.vcc-wifi-io.boot_on: 0
hw.regulator.vcc-wifi-io.enable_cnt: 0
hw.regulator.vcc-wifi-io.enable_delay: 0
hw.regulator.vcc-wifi-io.ramp_delay: 0
hw.regulator.vcc-wifi-io.max_uamp: 0
hw.regulator.vcc-wifi-io.min_uamp: 0
hw.regulator.vcc-wifi-io.max_uvolt: 3300000
hw.regulator.vcc-wifi-io.min_uvolt: 3300000
hw.regulator.vcc-avdd-csi.uvolt: 2800000
hw.regulator.vcc-avdd-csi.always_on: 1
hw.regulator.vcc-avdd-csi.boot_on: 1
hw.regulator.vcc-avdd-csi.enable_cnt: 0
hw.regulator.vcc-avdd-csi.enable_delay: 0
hw.regulator.vcc-avdd-csi.ramp_delay: 0
hw.regulator.vcc-avdd-csi.max_uamp: 0
hw.regulator.vcc-avdd-csi.min_uamp: 0
hw.regulator.vcc-avdd-csi.max_uvolt: 2800000
hw.regulator.vcc-avdd-csi.min_uvolt: 2800000
hw.regulator.vcc-mipi.uvolt: 3300000
hw.regulator.vcc-mipi.always_on: 1
hw.regulator.vcc-mipi.boot_on: 1
hw.regulator.vcc-mipi.enable_cnt: 0
hw.regulator.vcc-mipi.enable_delay: 0
hw.regulator.vcc-mipi.ramp_delay: 0
hw.regulator.vcc-mipi.max_uamp: 0
hw.regulator.vcc-mipi.min_uamp: 0
hw.regulator.vcc-mipi.max_uvolt: 3300000
hw.regulator.vcc-mipi.min_uvolt: 3300000
hw.regulator.vcc-hdmi.uvolt: 3300000
hw.regulator.vcc-hdmi.always_on: 0
hw.regulator.vcc-hdmi.boot_on: 0
hw.regulator.vcc-hdmi.enable_cnt: 0
hw.regulator.vcc-hdmi.enable_delay: 0
hw.regulator.vcc-hdmi.ramp_delay: 0
hw.regulator.vcc-hdmi.max_uamp: 0
hw.regulator.vcc-hdmi.min_uamp: 0
hw.regulator.vcc-hdmi.max_uvolt: 3300000
hw.regulator.vcc-hdmi.min_uvolt: 3300000
hw.regulator.vdd-sys.uvolt: 1100000
hw.regulator.vdd-sys.always_on: 1
hw.regulator.vdd-sys.boot_on: 0
hw.regulator.vdd-sys.enable_cnt: 0
hw.regulator.vdd-sys.enable_delay: 0
hw.regulator.vdd-sys.ramp_delay: 0
hw.regulator.vdd-sys.max_uamp: 0
hw.regulator.vdd-sys.min_uamp: 0
hw.regulator.vdd-sys.max_uvolt: 1100000
hw.regulator.vdd-sys.min_uvolt: 1100000
hw.regulator.vcc-ddr3.uvolt: 1360000
hw.regulator.vcc-ddr3.always_on: 1
hw.regulator.vcc-ddr3.boot_on: 0
hw.regulator.vcc-ddr3.enable_cnt: 0
hw.regulator.vcc-ddr3.enable_delay: 0
hw.regulator.vcc-ddr3.ramp_delay: 0
hw.regulator.vcc-ddr3.max_uamp: 0
hw.regulator.vcc-ddr3.min_uamp: 0
hw.regulator.vcc-ddr3.max_uvolt: 1360000
hw.regulator.vcc-ddr3.min_uvolt: 1360000
hw.regulator.dcdc4.uvolt: 1100000
hw.regulator.dcdc4.always_on: 0
hw.regulator.dcdc4.boot_on: 0
hw.regulator.dcdc4.enable_cnt: 0
hw.regulator.dcdc4.enable_delay: 0
hw.regulator.dcdc4.ramp_delay: 0
hw.regulator.dcdc4.max_uamp: 0
hw.regulator.dcdc4.min_uamp: 0
hw.regulator.dcdc4.max_uvolt: 1300000
hw.regulator.dcdc4.min_uvolt: 500000
hw.regulator.dcdc3.uvolt: 1100000
hw.regulator.dcdc3.always_on: 0
hw.regulator.dcdc3.boot_on: 0
hw.regulator.dcdc3.enable_cnt: 0
hw.regulator.dcdc3.enable_delay: 0
hw.regulator.dcdc3.ramp_delay: 0
hw.regulator.dcdc3.max_uamp: 0
hw.regulator.dcdc3.min_uamp: 0
hw.regulator.dcdc3.max_uvolt: 1300000
hw.regulator.dcdc3.min_uvolt: 500000
hw.regulator.vdd-cpux.uvolt: 1100000
hw.regulator.vdd-cpux.always_on: 1
hw.regulator.vdd-cpux.boot_on: 0
hw.regulator.vdd-cpux.enable_cnt: 0
hw.regulator.vdd-cpux.enable_delay: 0
hw.regulator.vdd-cpux.ramp_delay: 0
hw.regulator.vdd-cpux.max_uamp: 0
hw.regulator.vdd-cpux.min_uamp: 0
hw.regulator.vdd-cpux.max_uvolt: 1300000
hw.regulator.vdd-cpux.min_uvolt: 1040000
hw.regulator.vcc-3v3.uvolt: 3300000
hw.regulator.vcc-3v3.always_on: 1
hw.regulator.vcc-3v3.boot_on: 1
hw.regulator.vcc-3v3.enable_cnt: 2
hw.regulator.vcc-3v3.enable_delay: 0
hw.regulator.vcc-3v3.ramp_delay: 0
hw.regulator.vcc-3v3.max_uamp: 0
hw.regulator.vcc-3v3.min_uamp: 0
hw.regulator.vcc-3v3.max_uvolt: 3300000
hw.regulator.vcc-3v3.min_uvolt: 3300000
hw.regulator.usb1-vbus.uvolt: 5000000
hw.regulator.usb1-vbus.always_on: 0
hw.regulator.usb1-vbus.boot_on: 1
hw.regulator.usb1-vbus.enable_cnt: 1
hw.regulator.usb1-vbus.enable_delay: 0
hw.regulator.usb1-vbus.ramp_delay: 0
hw.regulator.usb1-vbus.max_uamp: 0
hw.regulator.usb1-vbus.min_uamp: 0
hw.regulator.usb1-vbus.max_uvolt: 5000000
hw.regulator.usb1-vbus.min_uvolt: 5000000
***************************************************************************************
pin 00: 1 PB0<OUT>
pin 01: 0 PB1<>
pin 02: 0 PB2<>
pin 03: 0 PB3<>
pin 04: 0 PB4<>
pin 05: 0 PB5<>
pin 06: 0 PB6<>
pin 07: 0 PB7<>
pin 08: 0 PB8<>
pin 09: 0 PB9<PU>
pin 10: 0 PC0<>
pin 11: 0 PC1<>
pin 12: 0 PC2<>
pin 13: 0 PC3<PU>
pin 14: 0 PC4<PU>
pin 15: 0 PC5<PU>
pin 16: 0 PC6<PU>
pin 17: 0 PC7<PU>
pin 18: 0 PC8<PU>
pin 19: 0 PC9<PU>
pin 20: 0 PC10<PU>
pin 21: 0 PC11<PU>
pin 22: 0 PC12<PU>
pin 23: 0 PC13<PU>
pin 24: 0 PC14<PU>
pin 25: 0 PC15<PU>
pin 26: 0 PC16<PU>
pin 27: 0 PD0<>
pin 28: 0 PD1<>
pin 29: 0 PD2<>
pin 30: 0 PD3<>
pin 31: 0 PD4<>
pin 32: 0 PD5<>
pin 33: 0 PD6<>
pin 34: 0 PD7<>
pin 35: 0 PD8<>
pin 36: 0 PD9<>
pin 37: 0 PD10<>
pin 38: 0 PD11<>
pin 39: 0 PD12<>
pin 40: 0 PD13<>
pin 41: 0 PD14<>
pin 42: 0 PD15<>
pin 43: 0 PD16<>
pin 44: 0 PD17<>
pin 45: 0 PD18<>
pin 46: 0 PD19<>
pin 47: 0 PD20<>
pin 48: 0 PD21<>
pin 49: 0 PD22<>
pin 50: 0 PD23<>
pin 51: 0 PD24<>
pin 52: 1 PE0<OUT>
pin 53: 0 PE1<>
pin 54: 0 PE2<>
pin 55: 0 PE3<>
pin 56: 0 PE4<>
pin 57: 0 PE5<>
pin 58: 0 PE6<>
On Tue, Oct 22, 2019 at 9:57 AM Emmanuel Vadot <manu at bidouilliste.com>
wrote:
> On Fri, 18 Oct 2019 13:43:26 +0200
> Emmanuel Vadot <manu at bidouilliste.com> wrote:
>
> > On Fri, 18 Oct 2019 13:31:31 +0200
> > Emmanuel Vadot <manu at bidouilliste.com> wrote:
> >
> > > On Tue, 15 Oct 2019 13:26:46 -0400
> > > Gary Otten <gdotten at gmail.com> wrote:
> > >
> > > > Ok, I placed hw.regulator.disable_unused=0 in /boot/loader.conf.
> Here is
> > > > the results, also still no output on the E bank.
> > > >
> > > > root@:/dev # sysctl hw.regulator
> > > > hw.regulator.dc1sw.uvolt: 0
> > > > hw.regulator.dc1sw.always_on: 0
> > > > hw.regulator.dc1sw.boot_on: 0
> > > > hw.regulator.dc1sw.enable_cnt: 0
> > > > hw.regulator.dc1sw.enable_delay: 0
> > > > hw.regulator.dc1sw.ramp_delay: 0
> > > > hw.regulator.dc1sw.max_uamp: 0
> > > > hw.regulator.dc1sw.min_uamp: 0
> > > > hw.regulator.dc1sw.max_uvolt: 0
> > > > hw.regulator.dc1sw.min_uvolt: 0
> > > > hw.regulator.ldo-io1.always_on: 0
> > > > hw.regulator.ldo-io1.boot_on: 0
> > > > hw.regulator.ldo-io1.enable_cnt: 0
> > > > hw.regulator.ldo-io1.enable_delay: 0
> > > > hw.regulator.ldo-io1.ramp_delay: 0
> > > > hw.regulator.ldo-io1.max_uamp: 0
> > > > hw.regulator.ldo-io1.min_uamp: 0
> > > > hw.regulator.ldo-io1.max_uvolt: 3300000
> > > > hw.regulator.ldo-io1.min_uvolt: 700000
> > > > hw.regulator.ldo-io0.always_on: 0
> > > > hw.regulator.ldo-io0.boot_on: 0
> > > > hw.regulator.ldo-io0.enable_cnt: 0
> > > > hw.regulator.ldo-io0.enable_delay: 0
> > > > hw.regulator.ldo-io0.ramp_delay: 0
> > > > hw.regulator.ldo-io0.max_uamp: 0
> > > > hw.regulator.ldo-io0.min_uamp: 0
> > > > hw.regulator.ldo-io0.max_uvolt: 3300000
> > > > hw.regulator.ldo-io0.min_uvolt: 700000
> > > > hw.regulator.vdd-cpus.uvolt: 1100000
> > > > hw.regulator.vdd-cpus.always_on: 1
> > > > hw.regulator.vdd-cpus.boot_on: 0
> > > > hw.regulator.vdd-cpus.enable_cnt: 0
> > > > hw.regulator.vdd-cpus.enable_delay: 0
> > > > hw.regulator.vdd-cpus.ramp_delay: 0
> > > > hw.regulator.vdd-cpus.max_uamp: 0
> > > > hw.regulator.vdd-cpus.min_uamp: 0
> > > > hw.regulator.vdd-cpus.max_uvolt: 1100000
> > > > hw.regulator.vdd-cpus.min_uvolt: 1100000
> > > > hw.regulator.vcc-1v2-hsic.uvolt: 1200000
> > > > hw.regulator.vcc-1v2-hsic.always_on: 0
> > > > hw.regulator.vcc-1v2-hsic.boot_on: 0
> > > > hw.regulator.vcc-1v2-hsic.enable_cnt: 0
> > > > hw.regulator.vcc-1v2-hsic.enable_delay: 0
> > > > hw.regulator.vcc-1v2-hsic.ramp_delay: 0
> > > > hw.regulator.vcc-1v2-hsic.max_uamp: 0
> > > > hw.regulator.vcc-1v2-hsic.min_uamp: 0
> > > > hw.regulator.vcc-1v2-hsic.max_uvolt: 1200000
> > > > hw.regulator.vcc-1v2-hsic.min_uvolt: 1200000
> > > > hw.regulator.eldo3.always_on: 0
> > > > hw.regulator.eldo3.boot_on: 0
> > > > hw.regulator.eldo3.enable_cnt: 0
> > > > hw.regulator.eldo3.enable_delay: 0
> > > > hw.regulator.eldo3.ramp_delay: 0
> > > > hw.regulator.eldo3.max_uamp: 0
> > > > hw.regulator.eldo3.min_uamp: 0
> > > > hw.regulator.eldo3.max_uvolt: 1900000
> > > > hw.regulator.eldo3.min_uvolt: 700000
> > > > hw.regulator.vcc-dvdd-csi.uvolt: 1800000
> > > > hw.regulator.vcc-dvdd-csi.always_on: 0
> > > > hw.regulator.vcc-dvdd-csi.boot_on: 0
> > > > hw.regulator.vcc-dvdd-csi.enable_cnt: 0
> > > > hw.regulator.vcc-dvdd-csi.enable_delay: 0
> > > > hw.regulator.vcc-dvdd-csi.ramp_delay: 0
> > > > hw.regulator.vcc-dvdd-csi.max_uamp: 0
> > > > hw.regulator.vcc-dvdd-csi.min_uamp: 0
> > > > hw.regulator.vcc-dvdd-csi.max_uvolt: 1800000
> > > > hw.regulator.vcc-dvdd-csi.min_uvolt: 1800000
> > > > hw.regulator.cpvdd.uvolt: 1800000
> > > > hw.regulator.cpvdd.always_on: 0
> > > > hw.regulator.cpvdd.boot_on: 0
> > > > hw.regulator.cpvdd.enable_cnt: 0
> > > > hw.regulator.cpvdd.enable_delay: 0
> > > > hw.regulator.cpvdd.ramp_delay: 0
> > > > hw.regulator.cpvdd.max_uamp: 0
> > > > hw.regulator.cpvdd.min_uamp: 0
> > > > hw.regulator.cpvdd.max_uvolt: 1800000
> > > > hw.regulator.cpvdd.min_uvolt: 1800000
> > > > hw.regulator.vcc-pll-avcc.uvolt: 3000000
> > > > hw.regulator.vcc-pll-avcc.always_on: 1
> > > > hw.regulator.vcc-pll-avcc.boot_on: 0
> > > > hw.regulator.vcc-pll-avcc.enable_cnt: 0
> > > > hw.regulator.vcc-pll-avcc.enable_delay: 0
> > > > hw.regulator.vcc-pll-avcc.ramp_delay: 0
> > > > hw.regulator.vcc-pll-avcc.max_uamp: 0
> > > > hw.regulator.vcc-pll-avcc.min_uamp: 0
> > > > hw.regulator.vcc-pll-avcc.max_uvolt: 3000000
> > > > hw.regulator.vcc-pll-avcc.min_uvolt: 3000000
> > > > hw.regulator.vcc-pl.uvolt: 3300000
> > > > hw.regulator.vcc-pl.always_on: 1
> > > > hw.regulator.vcc-pl.boot_on: 0
> > > > hw.regulator.vcc-pl.enable_cnt: 0
> > > > hw.regulator.vcc-pl.enable_delay: 0
> > > > hw.regulator.vcc-pl.ramp_delay: 0
> > > > hw.regulator.vcc-pl.max_uamp: 0
> > > > hw.regulator.vcc-pl.min_uamp: 0
> > > > hw.regulator.vcc-pl.max_uvolt: 3300000
> > > > hw.regulator.vcc-pl.min_uvolt: 3300000
> > > > hw.regulator.vcc-pe.uvolt: 2800000
> > > > hw.regulator.vcc-pe.always_on: 1
> > > > hw.regulator.vcc-pe.boot_on: 0
> > > > hw.regulator.vcc-pe.enable_cnt: 0
> > > > hw.regulator.vcc-pe.enable_delay: 0
> > > > hw.regulator.vcc-pe.ramp_delay: 0
> > > > hw.regulator.vcc-pe.max_uamp: 0
> > > > hw.regulator.vcc-pe.min_uamp: 0
> > > > hw.regulator.vcc-pe.max_uvolt: 2800000
> > > > hw.regulator.vcc-pe.min_uvolt: 2800000
> > >
> > > I've just realized that boot_on isn't 1 so u-boot will not enabled the
> > > regulator and we won't too.
> > > I guess that Linux (or armbian) hack on this. We are not supposed to
> > > enable a regulator if boot-on is set, only the bootloader is supposed
> > > to do that. And the always-on property is only there so we don't
> > > disable it if no device "claimed" it.
> >
> > So, after asking on some linux-related irc channel, it seems that
> > the Linux kernel enable a regulator if always-on or boot-on is set
> > which doesn't reflect what the binding docs says and the regulator
> > framework on FreeBSD is based on what the doc says ... I guess we
> > should do the same.
> > mmel@ what's your view on this ?
>
> You might want to try https://reviews.freebsd.org/D22106
>
> I haven't tested, only compile the code.
>
> > > The proper patch would be to set the boot-on property in the dts used
> > > by u-boot. Easiest way to test that is to :
> > >
> > > $ cd freebsd-ports/sysutils/u-boot-a64-olinuxino/
> > > $ make patch
> > > ...
> > > $ edit work/u-boot-2019.07/arch/arm/dts/sun50i-a64-olinuxino.dts and
> > > add 'regulator-boot-on;' under the '®_aldo1' node.
> > > $ make
> > > $ dd the new u-boot
> > >
> > > > hw.regulator.vcc-wifi-io.uvolt: 3300000
> > > > hw.regulator.vcc-wifi-io.always_on: 0
> > > > hw.regulator.vcc-wifi-io.boot_on: 0
> > > > hw.regulator.vcc-wifi-io.enable_cnt: 0
> > > > hw.regulator.vcc-wifi-io.enable_delay: 0
> > > > hw.regulator.vcc-wifi-io.ramp_delay: 0
> > > > hw.regulator.vcc-wifi-io.max_uamp: 0
> > > > hw.regulator.vcc-wifi-io.min_uamp: 0
> > > > hw.regulator.vcc-wifi-io.max_uvolt: 3300000
> > > > hw.regulator.vcc-wifi-io.min_uvolt: 3300000
> > > > hw.regulator.vcc-avdd-csi.uvolt: 2800000
> > > > hw.regulator.vcc-avdd-csi.always_on: 0
> > > > hw.regulator.vcc-avdd-csi.boot_on: 0
> > > > hw.regulator.vcc-avdd-csi.enable_cnt: 0
> > > > hw.regulator.vcc-avdd-csi.enable_delay: 0
> > > > hw.regulator.vcc-avdd-csi.ramp_delay: 0
> > > > hw.regulator.vcc-avdd-csi.max_uamp: 0
> > > > hw.regulator.vcc-avdd-csi.min_uamp: 0
> > > > hw.regulator.vcc-avdd-csi.max_uvolt: 2800000
> > > > hw.regulator.vcc-avdd-csi.min_uvolt: 2800000
> > > > hw.regulator.vcc-mipi.uvolt: 3300000
> > > > hw.regulator.vcc-mipi.always_on: 0
> > > > hw.regulator.vcc-mipi.boot_on: 0
> > > > hw.regulator.vcc-mipi.enable_cnt: 0
> > > > hw.regulator.vcc-mipi.enable_delay: 0
> > > > hw.regulator.vcc-mipi.ramp_delay: 0
> > > > hw.regulator.vcc-mipi.max_uamp: 0
> > > > hw.regulator.vcc-mipi.min_uamp: 0
> > > > hw.regulator.vcc-mipi.max_uvolt: 3300000
> > > > hw.regulator.vcc-mipi.min_uvolt: 3300000
> > > > hw.regulator.vcc-hdmi.uvolt: 3300000
> > > > hw.regulator.vcc-hdmi.always_on: 0
> > > > hw.regulator.vcc-hdmi.boot_on: 0
> > > > hw.regulator.vcc-hdmi.enable_cnt: 0
> > > > hw.regulator.vcc-hdmi.enable_delay: 0
> > > > hw.regulator.vcc-hdmi.ramp_delay: 0
> > > > hw.regulator.vcc-hdmi.max_uamp: 0
> > > > hw.regulator.vcc-hdmi.min_uamp: 0
> > > > hw.regulator.vcc-hdmi.max_uvolt: 3300000
> > > > hw.regulator.vcc-hdmi.min_uvolt: 3300000
> > > > hw.regulator.vdd-sys.uvolt: 1100000
> > > > hw.regulator.vdd-sys.always_on: 1
> > > > hw.regulator.vdd-sys.boot_on: 0
> > > > hw.regulator.vdd-sys.enable_cnt: 0
> > > > hw.regulator.vdd-sys.enable_delay: 0
> > > > hw.regulator.vdd-sys.ramp_delay: 0
> > > > hw.regulator.vdd-sys.max_uamp: 0
> > > > hw.regulator.vdd-sys.min_uamp: 0
> > > > hw.regulator.vdd-sys.max_uvolt: 1100000
> > > > hw.regulator.vdd-sys.min_uvolt: 1100000
> > > > hw.regulator.vcc-ddr3.uvolt: 1360000
> > > > hw.regulator.vcc-ddr3.always_on: 1
> > > > hw.regulator.vcc-ddr3.boot_on: 0
> > > > hw.regulator.vcc-ddr3.enable_cnt: 0
> > > > hw.regulator.vcc-ddr3.enable_delay: 0
> > > > hw.regulator.vcc-ddr3.ramp_delay: 0
> > > > hw.regulator.vcc-ddr3.max_uamp: 0
> > > > hw.regulator.vcc-ddr3.min_uamp: 0
> > > > hw.regulator.vcc-ddr3.max_uvolt: 1360000
> > > > hw.regulator.vcc-ddr3.min_uvolt: 1360000
> > > > hw.regulator.dcdc4.uvolt: 1100000
> > > > hw.regulator.dcdc4.always_on: 0
> > > > hw.regulator.dcdc4.boot_on: 0
> > > > hw.regulator.dcdc4.enable_cnt: 0
> > > > hw.regulator.dcdc4.enable_delay: 0
> > > > hw.regulator.dcdc4.ramp_delay: 0
> > > > hw.regulator.dcdc4.max_uamp: 0
> > > > hw.regulator.dcdc4.min_uamp: 0
> > > > hw.regulator.dcdc4.max_uvolt: 1300000
> > > > hw.regulator.dcdc4.min_uvolt: 500000
> > > > hw.regulator.dcdc3.uvolt: 1100000
> > > > hw.regulator.dcdc3.always_on: 0
> > > > hw.regulator.dcdc3.boot_on: 0
> > > > hw.regulator.dcdc3.enable_cnt: 0
> > > > hw.regulator.dcdc3.enable_delay: 0
> > > > hw.regulator.dcdc3.ramp_delay: 0
> > > > hw.regulator.dcdc3.max_uamp: 0
> > > > hw.regulator.dcdc3.min_uamp: 0
> > > > hw.regulator.dcdc3.max_uvolt: 1300000
> > > > hw.regulator.dcdc3.min_uvolt: 500000
> > > > hw.regulator.vdd-cpux.uvolt: 1100000
> > > > hw.regulator.vdd-cpux.always_on: 1
> > > > hw.regulator.vdd-cpux.boot_on: 0
> > > > hw.regulator.vdd-cpux.enable_cnt: 0
> > > > hw.regulator.vdd-cpux.enable_delay: 0
> > > > hw.regulator.vdd-cpux.ramp_delay: 0
> > > > hw.regulator.vdd-cpux.max_uamp: 0
> > > > hw.regulator.vdd-cpux.min_uamp: 0
> > > > hw.regulator.vdd-cpux.max_uvolt: 1300000
> > > > hw.regulator.vdd-cpux.min_uvolt: 1040000
> > > > hw.regulator.vcc-3v3.uvolt: 3300000
> > > > hw.regulator.vcc-3v3.always_on: 1
> > > > hw.regulator.vcc-3v3.boot_on: 0
> > > > hw.regulator.vcc-3v3.enable_cnt: 2
> > > > hw.regulator.vcc-3v3.enable_delay: 0
> > > > hw.regulator.vcc-3v3.ramp_delay: 0
> > > > hw.regulator.vcc-3v3.max_uamp: 0
> > > > hw.regulator.vcc-3v3.min_uamp: 0
> > > > hw.regulator.vcc-3v3.max_uvolt: 3300000
> > > > hw.regulator.vcc-3v3.min_uvolt: 3300000
> > > > hw.regulator.usb1-vbus.uvolt: 5000000
> > > > hw.regulator.usb1-vbus.always_on: 0
> > > > hw.regulator.usb1-vbus.boot_on: 1
> > > > hw.regulator.usb1-vbus.enable_cnt: 1
> > > > hw.regulator.usb1-vbus.enable_delay: 0
> > > > hw.regulator.usb1-vbus.ramp_delay: 0
> > > > hw.regulator.usb1-vbus.max_uamp: 0
> > > > hw.regulator.usb1-vbus.min_uamp: 0
> > > > hw.regulator.usb1-vbus.max_uvolt: 5000000
> > > > hw.regulator.usb1-vbus.min_uvolt: 5000000
> > > >
> > > > On Tue, Oct 15, 2019 at 11:59 AM Emmanuel Vadot <
> manu at bidouilliste.com>
> > > > wrote:
> > > >
> > > > > On Tue, 15 Oct 2019 11:46:14 -0400
> > > > > Gary Otten <gdotten at gmail.com> wrote:
> > > > >
> > > > > > Thanks for your response.
> > > > > >
> > > > > > Freebsd Version 12.0-STABLE
> > > > > >
> > > > > > root@:/dev # sysctl hw.regulator.vcc-pe
> > > > > > hw.regulator.vcc-pe.uvolt: 2800000
> > > > > > hw.regulator.vcc-pe.always_on: 1
> > > > > > hw.regulator.vcc-pe.boot_on: 0
> > > > > > hw.regulator.vcc-pe.enable_cnt: 0
> > > > >
> > > > > That's the problem.
> > > > > Can you try with hw.regulator.disable_unused=0 in
> /boot/loader.conf ?
> > > > > Something is wrong somewhere as we should enable this regulator
> as the
> > > > > always-on prop is set. I'll try to have a look this week.
> > > > >
> > > > > > hw.regulator.vcc-pe.enable_delay: 0
> > > > > > hw.regulator.vcc-pe.ramp_delay: 0
> > > > > > hw.regulator.vcc-pe.max_uamp: 0
> > > > > > hw.regulator.vcc-pe.min_uamp: 0
> > > > > > hw.regulator.vcc-pe.max_uvolt: 2800000
> > > > > > hw.regulator.vcc-pe.min_uvolt: 2800000
> > > > > >
> > > > > > Yes I am testing the pins with a multimeter, I am not seeing any
> voltage
> > > > > > swings at all on Port E. On the external connector I see 5V on
> pin 1,
> > > > > 3.3
> > > > > > on pin 3 and the correct voltage( software setting) on the other
> pins,
> > > > > > except bank E.
> > > > > >
> > > > > > PB0-PB4 voltage corresponds to software setting.
> > > > > > PC4,PC7 voltage corresponds to software setting.
> > > > > > PE0-PE17 no voltage swings, doesn't work.
> > > > > > PL7-PL12 voltage corresponds to software setting.
> > > > > >
> > > > > > I don't know if it will help, but if I make output on a pin
> low, still
> > > > > > when I switch the that pin from In to out, , I see a small
> voltage swing
> > > > > > in the milli volt range, but when I switch the PE pins from in
> to out, I
> > > > > > don't see that small swing. Its as if they is no software
> connection to
> > > > > > the PE pins.
> > > > > >
> > > > > > On Tue, Oct 15, 2019 at 7:18 AM Emmanuel Vadot <
> manu at bidouilliste.com>
> > > > > > wrote:
> > > > > >
> > > > > > >
> > > > > > > Hi Gary,
> > > > > > >
> > > > > > > On Mon, 14 Oct 2019 14:46:12 -0400
> > > > > > > Gary Otten <gdotten at gmail.com> wrote:
> > > > > > >
> > > > > > > > I have successfully booted the FreeBSD on the Olimex board
> which has
> > > > > the
> > > > > > > > Allwinner A64. I have been experimenting with the gpios,
> again with
> > > > > > > > success. However the 40 pin connector on the Olimex board
> exposes
> > > > > GPIO
> > > > > > > pins
> > > > > > > > PB0 - PB4 which function normally (voltage corresponds to
> software
> > > > > > > setting
> > > > > > > > for that pin) and then PE0-PE17 which don't. I have
> played with
> > > > > most
> > > > > > > > of the PE0- PE17 pins with various settings, again nothing
> works, no
> > > > > > > signs
> > > > > > > > of activity. I have successfully lit the LED (PE17) with the
> armbian
> > > > > > > > (linux) distribution for this board so I know it should work.
> > > > > > > >
> > > > > > > > Example
> > > > > > > > gpioctl -f /dev/gpioc0 -c PB0 OUT
> > > > > > > > gpioctl -f /dev/gpioc0 PB0 1
> > > > > > > >
> > > > > > > > The pin PB0 then goes high (1) as expected.
> > > > > > > >
> > > > > > > > gpioctl -f /dev/gpioc0 -c PE17 OUT
> > > > > > > > gpioctl -f /dev/gpioc0 PE17 1
> > > > > > > >
> > > > > > > > No activity on PE17
> > > > > > > >
> > > > > > > >
> > > > > > > > I have dug into the the driver code a bit and the files
> containing
> > > > > the
> > > > > > > > settings for this board/processor, but I have had no luck
> figuring it
> > > > > > > out.
> > > > > > > > I have studied the Allwinner a64 manual but I haven't had
> luck
> > > > > figuring
> > > > > > > > out any other settings that might work. I think I am
> missing a
> > > > > simple
> > > > > > > > setting but can't figure it out, does anyone know how to get
> pins
> > > > > PE0 to
> > > > > > > > PE17 to work? Thanks.
> > > > > > >
> > > > > > > What version of FreeBSD are you booting on this board ?
> > > > > > > PE is a bit special on the Olinuxino as it's also used for
> MIPI-CSI
> > > > > > > and it's drived at 2.8V by default. It's using the regulator
> ALDO1 from
> > > > > > > the AXP PMIC and you should be able to confirm that it's
> enabled by
> > > > > > > doing sysctl hw.regulator.vcc-pe
> > > > > > > Check for the .enable sysctl
> > > > > > > It should be on as there is the always-on property in the DTS.
> > > > > > > By default I think that the gpio pins are configured for 20mA
> so I
> > > > > > > don't know if it would be enough for this led. If you have a
> multimeter
> > > > > > > it would be good to confirm if you have any voltage on the ext
> > > > > > > connector (you can use any PE pins, from what I see from the
> schematics
> > > > > > > they are all safe to play with).
> > > > > > >
> > > > > > > --
> > > > > > > Emmanuel Vadot <manu at bidouilliste.com>
> > > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Emmanuel Vadot <manu at bidouilliste.com>
> > > > >
> > >
> > >
> > > --
> > > Emmanuel Vadot <manu at bidouilliste.com> <manu at freebsd.org>
> > > _______________________________________________
> > > freebsd-arm at freebsd.org mailing list
> > > https://lists.freebsd.org/mailman/listinfo/freebsd-arm
> > > To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"
> >
> >
> > --
> > Emmanuel Vadot <manu at bidouilliste.com> <manu at freebsd.org>
>
>
> --
> Emmanuel Vadot <manu at bidouilliste.com> <manu at freebsd.org>
>
More information about the freebsd-arm
mailing list