Difference between revisions of "PinePhone Power Management"

From PINE64
Jump to navigation Jump to search
(Add Port L Info)
Line 215: Line 215:


=== Current Modem Pin Assignments ===
=== Current Modem Pin Assignments ===
Note: only pins relevant to power management are included in this table.


=== Current Port L Pin Assignments ===
=== Current Port L Pin Assignments ===
{| class="wikitable"
|-
! Pin
! Signal Name
! Description
! Direction
! Needed in suspend?
|-
| PL0
| <tt>PMU-SCK</tt>
| AXP803 I2C/RSB Clock
| O
| Yes
|-
| PL1
| <tt>PMU-SDA</tt>
| AXP803 I2C/RSB Data
| I/O
| Yes
|-
| PL2
| <tt>WL-REG-ON</tt>
| Not Connected
| N/A
| N/A
|-
| PL3
| <tt>WL-WAKE-AP</tt>
| Wake-on-WLAN Interrupt
| I
| Yes
|-
| PL4
| <tt>BT-RST-N</tt>
| Bluetooth Reset Control
| O
| No (if held)
|-
| PL5
| <tt>BT-WAKE-AP</tt>
| Wake-on-BT Interrupt
| I
| Yes
|-
| PL6
| <tt>DTR</tt>
| Modem DTR (Wakeup Request)
| O
| No
|-
| PL7
| <tt>4G-PWR-BAT</tt>
| Modem Power Supply Control
| O
| No (if held)
|-
| PL8
| <tt>ANX7688-CABLE_DET</tt>
| ANX7688 Cable Detection Interrupt
| I
| Yes
|-
| PL9
| <tt>ANX_RESET</tt>
| ANX7688 Reset Control
| O
| No (if held)
|-
| PL10
| <tt>LCD-PWM</tt>
| LCD Backlight PWM Brightness Control
| O
| No
|-
| PL11
| <tt>ANX7688-INT</tt>
| ANX7688 Alert Interrupt
| I
| Yes
|-
| PL12
| <tt>POGO-INT</tt>
| Pogo Pin Interrupt
| I
| Yes
|}


=== Pins Held During Suspend ===
=== Pins Held During Suspend ===

Revision as of 07:28, 15 February 2020

The data on this page is based on the the PinePhone v1.1 - Braveheart.

Regulators

Current Assignments

Name/GPIO Output Voltage Disable at runtime? Disable in suspend? Uses (internal/external separated by semicolon)
DCDC1 3.3V No Yes (breaks MMC0) VCC-EFUSE, VCC-IO, VCC-PC (VQMMC2), VCC-PD, VCC-USB; Modem I2C/PCM/UART, Motor, Pogo I2C, UART0, VMMC0, VMMC2, WiFi CHIP_EN
DCDC2 DVFS No Yes VDD-CPUX
DCDC3 DVFS N/A N/A VDD-CPUX (polyphase with DCDC2)
DCDC4 N/A Yes Yes Not used
DCDC5 1.2V No Yes (future) VCC-DRAM; DRAM
DCDC6 1.1V No Yes (future) VDD-SYS
DC1SW N/A Yes Yes Not used
ALDO1 2.8V Yes Yes VCC-PE; Camera AFVCC, Camera DOVDD, CSI I2C, Pogo I2C
ALDO2 1.8V No No VCC-PL; Pogo INT
ALDO3 3.0V No Yes (future) AVCC, KEYADC, VCC-PLL
DLDO1 3.3V No (ANX7688 [AVDD33, VCONN_EN Disable Pull-up]) No HVCC, VCC-DSI; ANX7688 [AVDD33, HDMI_VT, I2C, ANX-V1.0 Enable, VCONN_EN Disable Pull-up], HDMI [DDC, HPD], Proximity LED, Sensor I2C, Sensor VDD
DLDO2 1.8V? 3.3V? Yes Yes MIPI-DSI VIO
DLDO3 2.8V Yes Yes Camera AVDD
DLDO4 1.8V-3.3V Yes Yes VCC-PG; VQMMC1
ELDO1 1.8V No No (DRAM) CPVDD; DRAM
ELDO2 N/A Yes Yes Not used
ELDO3 1.8V Yes Yes Camera DVDD
FLDO1 1.2V Yes Yes HSIC-VCC (not used)
FLDO2 1.1V No No (VDD-CPUS) VDD-CPUS
GPIO0-LDO 2.8V-3.3V Yes Yes Backlight PWM, LCD, Proximity sensor, Touchscreen [I2C, VCC]
GPIO1-LDO 1.8V No (ANX7688 DVDD1V8) No (ANX7688 DVDD1V8) ANX7688 [AVDD1V8, DVDD1V8, CC, HDMI DDC, I2C, Power/Reset pull-up]
PD6 5.0V Yes Yes USB OTG
PD8 5.0V Yes Yes Pogo supply, USB OTG via PD6
PD9 5.0V Yes Yes VCONN (USB Type C)
PH10 PWM Yes Yes Backlight
PL7 VBAT Yes Yes Modem
ANX-V1.0 1.0V Yes Yes ANX7688 [AVDD1V0, DVDD1V0]

Suggested Hardware Changes

ANX7688

  1. Move ANX7688 AVDD33 (the chip input only, not the other things connected to 3v3) and ANX7688 I2C Level Shift (3.3V side) from DLD01 to DCDC1
  2. Move ANX7688 DVDD1V8 (the chip input only, not the other things labeled DVDD1V8) from GPIO1-LDO to ALDO2
  3. Move ANX7688 ANX-V1.0 Regulator Enable and ANX7688 VCONN_EN Disable Pull-up from DLDO1 to GPIO1-LDO

The result of these changes would be that:

  1. The always-on part of the ANX7688 chip will always be powered
  2. GPIO1-LDO only needs to be powered when a USB cable is detected, and is enough to power the rest of the chip (except HDMI)
  3. DLDO1 only needs to be enabled if the display pipeline or sensors are active, even if a USB cable is plugged in

Open Questions

  • How is ANX1.8V actually powered? from GPIO1-LDO or PS or both?
  • Is DLDO2 supposed to be 1.8V or 3.3V? The schematic says both in different places.
  • If DLDO2 is 3.3V, can we spread the HDMI/DSI/Sensors better across DLDO1 and DLDO2 so they can be more independent?

Software Updates Needed

Drivers that Need Regulator Consumers

  • LCD Panel for VCC-LCD
  • MIPI-DSI/DPHY/Panel for MIPI-DSI VIO
  • STK3311-A

Drivers that Need to Suspend Regulators

  • STK3311-A
  • LIS3MDL
  • MPU6050
  • Goodix touchscreen
  • sunxi pinctrl (maybe)
  • USB PHY

GPIO

Current Modem Pin Assignments

Note: only pins relevant to power management are included in this table.

Current Port L Pin Assignments

Pin Signal Name Description Direction Needed in suspend?
PL0 PMU-SCK AXP803 I2C/RSB Clock O Yes
PL1 PMU-SDA AXP803 I2C/RSB Data I/O Yes
PL2 WL-REG-ON Not Connected N/A N/A
PL3 WL-WAKE-AP Wake-on-WLAN Interrupt I Yes
PL4 BT-RST-N Bluetooth Reset Control O No (if held)
PL5 BT-WAKE-AP Wake-on-BT Interrupt I Yes
PL6 DTR Modem DTR (Wakeup Request) O No
PL7 4G-PWR-BAT Modem Power Supply Control O No (if held)
PL8 ANX7688-CABLE_DET ANX7688 Cable Detection Interrupt I Yes
PL9 ANX_RESET ANX7688 Reset Control O No (if held)
PL10 LCD-PWM LCD Backlight PWM Brightness Control O No
PL11 ANX7688-INT ANX7688 Alert Interrupt I Yes
PL12 POGO-INT Pogo Pin Interrupt I Yes

Pins Held During Suspend

Pins Active During Suspend

Suggested Hardware Changes

Open Questions

  • What exactly is the modem PWRKEY connected to?