Wednesday, 2017-02-01

*** vstehle <vstehle!> has quit IRC00:04
*** jkridner <jkridner!~jkridner@pdpc/supporter/active/jkridner> has quit IRC02:18
*** jkridner <jkridner!~jkridner@pdpc/supporter/active/jkridner> has joined #minnowboard02:18
*** stephano <stephano!~stephano@> has quit IRC02:25
*** gonzopancho <gonzopancho!~Jim_Thomp@2610:160:11:33:9824:2181:4a8b:9194> has quit IRC03:11
*** vstehle <vstehle!> has joined #minnowboard06:00
*** bpankajl <bpankajl!~Pankaj@> has quit IRC06:02
*** bpankajl <bpankajl!~Pankaj@> has joined #minnowboard06:02
*** m_w <m_w!> has quit IRC06:28
*** agust <agust!> has joined #minnowboard07:08
*** Pierre1 <Pierre1!> has quit IRC07:55
*** Pierre1 <Pierre1!> has joined #minnowboard07:55
ALiciniohi guys, does someone test that with the minipcie lure (i have it) with the minnow ?08:45
*** bluelightning <bluelightning!~paul@pdpc/supporter/professional/bluelightning> has quit IRC11:16
*** stephano <stephano!stephano@nat/intel/x-mwsjpgvonbkluown> has joined #minnowboard11:35
*** dl9pf <dl9pf!~quassel@opensuse/member/dl9pf> has quit IRC13:03
*** dl9pf <dl9pf!~quassel@opensuse/member/dl9pf> has joined #minnowboard13:04
*** cbrake <cbrake!> has quit IRC13:22
*** cccyRegeaneWolfe <cccyRegeaneWolfe!~cccyRegea@> has quit IRC13:24
*** cbrake <cbrake!> has joined #minnowboard13:24
*** cccyRegeaneWolfe <cccyRegeaneWolfe!~cccyRegea@> has joined #minnowboard13:26
*** lamego <lamego!~jose@> has joined #minnowboard13:52
*** jkridner <jkridner!~jkridner@pdpc/supporter/active/jkridner> has quit IRC15:27
*** gonzopancho <gonzopancho!> has joined #minnowboard16:44
*** jkridner <jkridner!~jkridner@pdpc/supporter/active/jkridner> has joined #minnowboard17:10
*** jkridner <jkridner!~jkridner@pdpc/supporter/active/jkridner> has quit IRC17:14
warthog9ALicinio: haven't tried it, but it's mpci-e so it should just work18:20
*** m_w <m_w!> has joined #minnowboard18:44
*** gonzopancho <gonzopancho!> has quit IRC18:48
*** bluelightning <bluelightning!~paul@pdpc/supporter/professional/bluelightning> has joined #minnowboard19:04
ALicinioyeah warthog9  thanks :)19:34
*** gonzopancho <gonzopancho!~Jim_Thomp@2610:160:11:33:29b2:b700:330d:bfc> has joined #minnowboard20:32
*** lamego <lamego!~jose@> has quit IRC23:01
*** mbparsa <mbparsa!48ae5d92@gateway/web/freenode/ip.> has joined #minnowboard23:34
mbparsaHi guys how can I use MMAP for GPIO trigger on MinnowBoard Turbo ?23:34
Bitweasilmbparsa, what are you trying to do, exactly?23:38
BitweasilControl the state of the GPIOs through memory, or trigger some event on GPIO state change?23:38
BitweasilIn either case, if you're under Linux, look into the GPIO driver, and if you're not, look deeply into the e3800 datasheet.23:38
Bitweasil... and if you find yourself in SMM, ping me, as some of the registers are silly.23:38
mbparsaI have already looked in the e3800 datasheet23:40
mbparsabut I couldn't find the base address or any address of GPIO23:40
mbparsaI am very new with these device, really appreciate if you can direct me23:40
BitweasilAre you working from inside an OS, or from raw ring 0?23:41
mbparsaI am on Pulsar linux, and using driver to put 0/1 in /sys/gpio%d/value23:41
mbparsabut I need a faster way of doing it23:42
mbparsaThat's why I thought I should use mmap or direct register access23:42
BitweasilOk.  How much faster?  You don't have direct access to the hardware unless you write your own kernel module.  I'm pretty sure the GPIOs are ACPI devices per stock EFI settings, so you'd have to find the base addresses that way.23:43
mbparsacouple hunderds microseconds, I dont know what ACPI is or how can I get into EFI ?23:44
BitweasilIs it a regular pattern you need to output, or in response to events?23:45
BitweasilI'm somewhat surprised Linux can't handle a couple hundred microseconds.23:45
BitweasilBut you'd probably need to write a kernel module.23:45
BitweasilSorry, I play down in the weeds where I don't have Linux running, so I'm not sure how to help you from inside an OS.23:45
mbparsaso it is  basically reading packets (UDP) and when it sees a change in data within the packet just puts(1) and then (0)23:46
BitweasilI just put mine in PCI mode and enumerate the PCI bus. :/23:46
BitweasilYeah, you'll probably need a kernel module hooked into the networking stack to do that.23:46
BitweasilThat's a non-trivial development project if you haven't done work at that level before.23:46
mbparsathe first time I make GPIO -> 1 in a loop is very slow(500-800 microseconds), but after that first time it is very fast (25-50 microseconds)23:47
BitweasilEh, can you "prime" it with the value it's sitting at before data flows in?23:48
BitweasilI'm not sure userspace is the right place for that code, though.23:48
BitweasilAnd writing a bare metal network driver to GPIO interface is non-trivial. :)  I assume you want to do other stuff with the system as well.23:48
mbparsayeah exactly , following this post :
mbparsaI thought I can try the same thing in its second part when it uses mmap to map the file into the memory and access it way faster23:50
mbparsaI only need the base address of GPIO and memory block size23:51
BitweasilThat's only true if you're running as a kernel module.23:51
BitweasilA userspace process does not have direct access to the GPIO memory region.23:52
BitweasilAnd, unfortunately, that's not really the realm I play in.23:52
mbparsabut this tutorial eveything is in userspace23:52
mbparsaso I can't find the GPIO base addr any where ?23:53
BitweasilAre you running OpenWRT on a AR9331 SoC?23:53
mbparsaNo I am using MinnowBoard23:54
mbparsaMinnowBoard Turbo Dual23:54
BitweasilThose are /different things/23:54
BitweasilLinux, generally, doesn't allow mapping all of physical memory on x86 anymore.23:55
Bitweasil... though if you have CAP_SYS_ADMIN it might.23:55
BitweasilYou'll need to parse the ACPI tables to find the address of the GPIO pins, then read the e3800 datasheet to work out the exact offsets.23:56
BitweasilInstructions for controlling the GPIOs on an ARM SoC are not directly translatable to the GPIO on an x86 SoC.23:56
mbparsaCan you tell me where is ACPI and what is it?23:57
BitweasilNot unless you're paying me hourly.23:57
mbparsa:D sure23:57
Bitweasil... and I don't have any free time for billable work in the next few weeks.23:58
mbparsaDon't worry , I will figure it out, thanks for the help23:58
BitweasilYou'll probably need to modify the Linux GPIO driver to print the base address.23:58
BitweasilI put mine in PCI mode to avoid the ACPI table nonsense and I just parse PCI config space directly to find the base address.23:58
BitweasilThe datasheet, if you're familiar with Intel nomenclature, is sufficient, though an awful lot of digging around for the right registers.23:59
BitweasilIf you can't figure it out, hunt me down in a few weeks and I might have time for some contract dev.23:59

Generated by 2.11.0 by Marius Gedminas - find it at!