Comments (9)
and resetting the pmic (by I2C) should work exactly the same way
I agree that for as long as pmic is guaranteed to have that API (the I2C one) -- we're all good.
Yes, it has a (badly named) register just for this,
from beaglev-starlight.
@esmil is CTRL1 related to IRQB in #14?
from beaglev-starlight.
Not directly. In the v0.9 schematic the pmic has an output pin, GPO3, connected to the reset lines of the SoC, USB usb hub and the ethernet phy. The pmic also has a number of input pins CTL1 - CTL6. As far as I can tell the GPO3 output is set up to go high when the different voltage levels are good and CTL1 is high and CTL5 is high.
Both CTL1 and CTL5 are pulled high by the "LDO_3V3" power line, but the physical reset button is set up to pull CTL5 low when the button is pressed. This then results in the GPO3 output going low and thus resetting the SoC, USB hub and ethernet phy.
Having GPIO63 set up to pull CTL1 low would then reset everything the same way as the physical button just signalling CTL1 instead of CTL5.
However the way I reset the board in my starlight branch is that I just tell the pmic to reset itself over the I2C connection. This way the pmic also pulls GPO3 low while it goes through the startup sequence of turning on the different power rails and signalling "power good" by releasing GPO3 again.
So with this code in place we don't actually need GPIO63 to trigger CTL1 since telling the pmic to reset itself over I2C should pull GPO3 low and reset the SoC, USB hub and ethernet phy in exactly the same way. I'd rather have the IRQB line fixed so we can get interrupts from the pmic as described in #14. Having both won't hurt though.
from beaglev-starlight.
Wait, @esmil -- but it sounds like it almost works "by accident" (not that I'm complaining that it does!) so my question is -- shouldn't the board have an explicit "officially supported" reset functionality?
from beaglev-starlight.
I'm not sure why you think it sounds like it works by accident. I'm sure the board is designed such that the pmic "power good" output is connected to the various reset lines exactly such that they're kept in reset mode until the pmic upstart sequence is done and power levels are stable. I'm sure we can agree that the board resetting properly after being turned on is not "by accident", and resetting the pmic (by I2C) should work exactly the same way.
from beaglev-starlight.
I'm sure we can agree that the board resetting properly after being turned on is not "by accident"
absolutely!
and resetting the pmic (by I2C) should work exactly the same way
I agree that for as long as pmic is guaranteed to have that API (the I2C one) -- we're all good. I'm not just not enough into pmic's to know whether this is something that is expected to be a basic functionality of a pmic. Hence my question.
from beaglev-starlight.
@tekkamanninja @MichaelZhuxx please help update my explanation so that it is clear to @FionaYu20180326 what change we would like to see in the next PCB revision to allow GPIO reset to work
from beaglev-starlight.
@FionaYu20180326 this is the problem the @MichaelZhuxx found which should be fixed:
we found the reason why our board could reset and beta board couldnt is that the schmatic is updated. the beta board is remove the GPIO63 to trigger "CTRL1" on the pmic. Attached two version of schematic for your reference.
@esmil thanks. we will fix it.
BeagleV_v0.81.pdf
BeagleV_v0.9.pdf
from beaglev-starlight.
@esmil
Hi emil,
Here is the sequencing setup of the PMIC. CTL1 is the enable signal of all the power rails. CTL5 just affects the GPO3 of PMIC.
from beaglev-starlight.
Related Issues (16)
- RV Pi: thought: add 4 more LEDs HOT 1
- Insufficient clearance on mounting holes HOT 3
- suggestion to improve debug header signal levels HOT 10
- ensure JTAG signal level is handled safely
- Minor typo in schematic
- Enable TPS65086 restart interrupt HOT 2
- request for part information for KiCad conversion HOT 1
- RV Pi: thought: add TAGCONNECT to JTAG signals HOT 1
- RV Pi: question: will USB perform dual-role function? HOT 2
- HW: question/thought: how do you access the console UART? HOT 1
- RV Pi: question/thought: how do we avoid bricking? HOT 4
- RV Pi: question: can we make it look less like a Raspberry Pi? HOT 1
- BeagleV: can we have an EEPROM board ID? HOT 1
- BeagleV: add eMMC HOT 1
- [Info document] Wrong chip is marked as HDMI to MIPI converter
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 beaglev-starlight.