Changes

117 bytes removed ,  17:43, 19 January 2021
Small cleanup
Line 8: Line 8:  
|-
 
|-
 
| style="background: green" | Yes
 
| style="background: green" | Yes
| [[#PDN_CNT|PDN_CNT]]
+
| [[#PDN_SLEEP_CNT|PDN_SLEEP_CNT]]
 
| 0x10141000
 
| 0x10141000
 
| 2
 
| 2
| Kernel11, TwlBg
+
| Kernel11
 
|-
 
|-
 
| style="background: green" | Yes
 
| style="background: green" | Yes
Line 129: Line 129:  
|-style="border-top: double"
 
|-style="border-top: double"
 
| style="background: red" | No
 
| style="background: red" | No
| [[#PDN_MPCORE_SOCMODE|PDN_MPCORE_SOCMODE]]
+
| [[#PDN_LGR_SOCMODE|PDN_LGR_SOCMODE]]
 
| 0x10141300
 
| 0x10141300
 
| 2
 
| 2
Line 135: Line 135:  
|-
 
|-
 
| style="background: red" | No
 
| style="background: red" | No
| [[#PDN_MPCORE_CNT|PDN_MPCORE_CNT]]
+
| [[#PDN_LGR_CNT|PDN_LGR_CNT]]
 
| 0x10141304
 
| 0x10141304
 
| 2
 
| 2
Line 141: Line 141:  
|-
 
|-
 
| style="background: red" | No
 
| style="background: red" | No
| [[#PDN_MPCORE_BOOTCNT<0-3>|PDN_MPCORE_BOOTCNT]]<0-3>
+
| [[#PDN_LGR_CPU_CNT<0-3>|PDN_LGR_CPU_CNT]]<0-3>
 
| 0x10141310
 
| 0x10141310
 
| 1*4
 
| 1*4
Line 147: Line 147:  
|}
 
|}
   −
==PDN_CNT==
+
==PDN_SLEEP_CNT==
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
!  Bits
 
!  Bits
Line 159: Line 159:  
|-
 
|-
 
| 15
 
| 15
| 1 = VRAM is in self-refresh mode
+
| 1 = VRAM is powered down
 
|}
 
|}
   −
Kernel11 puts VRAM in self-refresh mode (before going to sleep) by first disabling the 8 banks using [[GPU/External_Registers#Map|GX register 0x10400030]], then by disabling the GPU clock using [[#PDN_GPU_CNT|PDN_GPU_CNT]] bit 16 and finally polls this register.
+
Kernel11 powers down VRAM (it's unclear whether bit15 is power-down or self-refresh mode) by first disabling the 8 banks using [[GPU/External_Registers#Map|GX register 0x10400030]], then by disabling the GPU clock using [[#PDN_GPU_CNT|PDN_GPU_CNT]] bit 16 and finally writes to and polls this register.
    
==PDN_WAKE_ENABLE==
 
==PDN_WAKE_ENABLE==
Line 204: Line 204:     
For each bit, write 1 to acknowledge, and 0 to clear (?).
 
For each bit, write 1 to acknowledge, and 0 to clear (?).
  −
==PDN_WIFICNT==
  −
{| class="wikitable" border="1"
  −
!  Old3DS
  −
!  Bits
  −
!  Description
  −
|-
  −
| style="background: green" | Yes
  −
| 0
  −
| Enable wifi subsystem
  −
|}
      
==LGY_MODE==
 
==LGY_MODE==
Line 360: Line 349:  
PDN services holds reset for 0x30 Arm11 cycles.
 
PDN services holds reset for 0x30 Arm11 cycles.
   −
== PDN_MPCORE_SOCMODE ==
+
== PDN_LGR_SOCMODE ==
 
This is used for configuring the New3DS ARM11 CPU clock-rate. This register is New3DS-only: reading from here on Old3DS always returns all-zeros even when one tried writing data here prior to the read.
 
This is used for configuring the New3DS ARM11 CPU clock-rate. This register is New3DS-only: reading from here on Old3DS always returns all-zeros even when one tried writing data here prior to the read.
   Line 443: Line 432:  
* 0x1F, 0x2F, 0x4F, 0x8F, 0xFF: Same result as 0x05.
 
* 0x1F, 0x2F, 0x4F, 0x8F, 0xFF: Same result as 0x05.
   −
== PDN_MPCORE_CNT ==
+
== PDN_LGR_CNT ==
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
!  Bits
 
!  Bits
Line 455: Line 444:  
|}
 
|}
   −
Kernel11 sets this to 0x101 when bit 2 in [[CONFIG11 Registers#CFG11_SOCINFO|CFG11_SOCINFO]] is set otherwise 1.
+
Kernel11 sets this to 0x101 when bit 2 in [[CONFIG11 Registers#CFG11_SOCINFO|CFG11_SOCINFO]] (LGR2 supported) is set otherwise 1.
   −
== PDN_MPCORE_BOOTCNT<0-3> ==
+
== PDN_LGR_CPU_CNT<0-3> ==
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
!  Bits
 
!  Bits