summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorAidan MacDonald <amachronic@protonmail.com>2021-06-10 23:54:07 +0100
committerAidan MacDonald <amachronic@protonmail.com>2021-06-14 20:45:14 +0100
commit89f40647431713b663e416329341a733c457df32 (patch)
treedba54c935784a53b0e9abc4ad45771c92ed89d84 /utils
parent2d6ddd0c5be78678ec2a349b9a912cc1999c1c68 (diff)
x1000: Extend CPM registers for dual boot
Change-Id: I283834a653506fd95ff8b56897e5f3afaf375cf5
Diffstat (limited to 'utils')
-rw-r--r--utils/reggen-ng/x1000.reggen37
1 files changed, 37 insertions, 0 deletions
diff --git a/utils/reggen-ng/x1000.reggen b/utils/reggen-ng/x1000.reggen
index f77f55b8b9..339deef483 100644
--- a/utils/reggen-ng/x1000.reggen
+++ b/utils/reggen-ng/x1000.reggen
@@ -509,6 +509,14 @@ node CPM {
fld 3 0 CLKDIV
}
+ reg MACCDR 0x54 {
+ bit 31 CLKSRC { enum SCLK_A 0; enum MPLL 1; }
+ bit 29 CE
+ bit 28 BUSY
+ bit 27 STOP
+ fld 7 0 CLKDIV
+ }
+
reg I2SCDR 0x60 {
bit 31 PCS { enum SCLK_A 0; enum MPLL 1; }
bit 30 CS { enum EXCLK 0; enum PLL 1; }
@@ -564,6 +572,35 @@ node CPM {
fld 7 0 CLKDIV
}
+ reg CIMCDR 0x7c {
+ bit 31 CLKSRC { enum SCLK_A 1; enum MPLL 1 }
+ bit 29 CE
+ bit 28 BUSY
+ bit 27 STOP
+ fld 7 0 CLKDIV
+ }
+
+ reg PCMCDR 0x84 {
+ # Hardware manual says this is the correct definition, but based
+ # on Ingenic's sources, the format is actually like I2SCDR.
+ #fld 31 30 CLKSRC { enum SCLK_A 0; enum EXCLK 1; enum MPLL 2 }
+
+ # Note this format hasn't been verified to work because none of
+ # the X1000 targets are using a PCM interface.
+ bit 31 PCS { enum SCLK_A 0; enum MPLL 1; }
+ bit 30 CS { enum EXCLK 0; enum PLL 1; }
+
+ bit 29 CE
+ fld 21 13 DIV_M
+ fld 12 0 DIV_N
+ }
+
+ reg PCMCDR1 0xe0 {
+ bit 31 N_EN
+ bit 30 D_EN
+ fld 12 0 DIV_D
+ }
+
reg INTR 0xb0 {
bit 1 VBUS
bit 0 ADEV