Comments (16)
@farfromrefug During boot first the microkernel starts (from ROM), then U-Boot, then (as it is now) after pressing you manually boot the kernel with initramsfs which then switchroots to the rootfs on the sd card. Eventually the manual intervention will go away (but currently I want always to automatically fall back to a working original image). But I think the fastest point in time to reset a gpio is in U-Boot. I don't know if you feel like patching U-Boot for this? I will be working on getting U-Boot to provide acpi tables to an acpi enabled kernel. It might be possible to get his done by providing some acpi stuff to U-Boot. As I understand U-Boot has an interpreter for that. More info here: https://edison.internet-share.com/wiki/ACPI
from meta-intel-edison.
Newer u-boot still boots the original edison image. You can read in the wiki for this repo how to upgrade. I few env variables need to be manually modified. Likely jubilinux will also still boot, otherwise you can always go back to the original u-boot.
from meta-intel-edison.
@htot Yes that s what i was thinking too. I also talked with @esialb and that s what he said too.
Now about patching U-Boot i think i can do it. But honestly i don't know anything about it or ACPI.
If you are willing to help me a bit that would be great!
If i understand correctly the ACPI stuff is not working yet but you are working on it?
If so let me know if i can help in anyway too.
Thanks
from meta-intel-edison.
No it works (but not everything is there yet). Andy Shevchenko works on that. I just trying to make it build with yocto.
from meta-intel-edison.
Ok great do you have a sample code anywhere? I or maybe I should ask @andy-shev directly?
Thanks again
from meta-intel-edison.
The acpi code is linked from here https://edison.internet-share.com/wiki/ACPI
from meta-intel-edison.
U-Boot does not have any ACPI interpreter. It just provides a minimum tables needed to boot a board on certain OS(es). Basically what you, @farfromrefug, need is to create a pinctrl/GPIO driver for Merrifield in U-Boot (followed by enabling of gpio
command there) where you control pins as needed. You may take Linux' driver as a base.
It doesn't have anything to do with ACPI per se.
from meta-intel-edison.
@andy-shev thanks it is what i was afraid of when i first started to look at this.
Linux driver is something totally new to me but i might try(don't really have a choice).
That's what you are talking about right?
https://github.com/torvalds/linux/blob/master/drivers/gpio/gpio-merrifield.c
I even see you are a contributor !
I might try with this.
Thanks @andy-shev for pointing me there.
from meta-intel-edison.
@andy-shev Made a a little bit of research about how i could achieve this.
I think i figured it out:
- adding the merrifield driver to you u-boot edison branch
- update
edison_defconfig
to enable GPIO command
Now from what i have seen i can simply upgrade my u-boot without touching my kernel or linux, is that right?
I am currently using jubilinux. Would upgrading the u-boot still work?
Thanks and sorry for all the questions
from meta-intel-edison.
@htot thanks just pushed a compile uboot with success! Now i have a final question. If i want to update my "flash image" with that u-boot. Simply copying the u-boot.bin
is enough? I see a u-boot.img
in my "flash image" which is not built by u-boot.
from meta-intel-edison.
That one would be used by flashall --recovery (xfstk). And of course the env still needs to be fixed up.
from meta-intel-edison.
@farfromrefug
There are two parts, pin control or Family-Level Interface Shim (FLIS) and GPIO. Thus, if you want to switch function of the pin (pin muxing) you need pin control stuff to do it, GPIO drivers works only on GPIO function itself.
You need to consider pinctrl-merrifield.c and gpio-merrifield.c.
from meta-intel-edison.
@andy-shev thanks for the info. I will to look deeper at this. To be honest for now i have no idea on how to do this. Will dig deeper.
from meta-intel-edison.
@farfromrefug Have you gotten any further with this issue? If so would you like to share the result?
from meta-intel-edison.
To support I²C #6 @staroselskii added minimal pin control stubs. You perhaps may extend this.
from meta-intel-edison.
This is a U-Boot related question and since we are switched to upstream, this should be asked in official mailing list of U-Boot project. Closing here.
from meta-intel-edison.
Related Issues (20)
- BTRFS rebooted crash HOT 2
- boot failure HOT 12
- Preempt-RT support HOT 4
- ACPI table is not loaded HOT 8
- Integration with Azure HOT 1
- How to use PWM mode? HOT 5
- altering the partition table prevents subsequent dfu updates HOT 3
- requirement for sudo to use flashall.sh HOT 4
- `make debian` broken on master and dunfell HOT 4
- SD card does not work on dunfell branch HOT 69
- SD card not detected properly in U-Boot HOT 9
- Can't use "configure_edison --setup" HOT 9
- Intel Edison can't boot new flashed image HOT 3
- There is no issue with the network, but numactl cannot be downloaded. HOT 2
- Initramfs unpacking failed: invalid magic at start of compressed archive HOT 4
- Issue Building Sumo Branch HOT 1
- Expired gpg keys HOT 3
- [Kirstone] List of required packages does not match YP
- npm i mraa fails HOT 3
- [Kirkstone] missing elfutils-native while building linux-yocto HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from meta-intel-edison.