2 "schemaVersion": "0.2.4",
\r
3 "contentVersion": "0.2.0",
\r
4 "headerVersion": "0.2.0",
\r
7 "displayName": "Freedom E310-G000",
\r
8 "description": "The FE310-G000 is the first Freedom E300 SoC, and is the industry's first commercially available RISC-V SoC. The FE310-G000 is built around the E31 Core Complex instantiated in the Freedom E300 platform.",
\r
12 "displayName": "SiFive",
\r
13 "fullName": "SiFive, Inc.",
\r
14 "contact": "info@sifive.com"
\r
18 "resetValue": "0x00000000",
\r
20 "headerGuardPrefix": "SIFIVE_DEVICES_FE310_",
\r
21 "headerTypePrefix": "sifive_fe310_",
\r
22 "headerInterruptPrefix": "sifive_fe310_interrupt_global_",
\r
23 "headerInterruptEnumPrefix": "riscv_interrupts_global_",
\r
25 "numInterrupts": "51",
\r
26 "priorityBits": "3",
\r
32 "isaVersion": "2.2",
\r
35 "localInterrupts": {
\r
36 "machine_software": {
\r
37 "description": "Machine Software Interrupt",
\r
41 "description": "Machine Timer Interrupt",
\r
45 "description": "Machine External Interrupt",
\r
49 "numLocalInterrupts": "0"
\r
54 "description": "Core Complex Local Interruptor (CLINT) Peripheral",
\r
55 "baseAddress": "0x02000000",
\r
59 "description": "MSIP (Machine-mode Software Interrupts) Register per Hart",
\r
60 "addressOffset": "0x0000",
\r
66 "description": "Machine Time Compare Registers per Hart",
\r
67 "addressOffset": "0x4000",
\r
71 "description": "Machine Compare Register Low",
\r
72 "addressOffset": "0x0000"
\r
75 "description": "Machine Compare Register High",
\r
76 "addressOffset": "0x0004"
\r
81 "description": "Machine Time Register",
\r
82 "addressOffset": "0xBFF8",
\r
86 "description": "Machine Time Register Low",
\r
87 "addressOffset": "0x0000"
\r
90 "description": "Machine Time Register High",
\r
91 "addressOffset": "0x0004"
\r
98 "description": "Platform-Level Interrupt Controller (PLIC) Peripheral",
\r
99 "baseAddress": "0x0C000000",
\r
100 "size": "0x4000000",
\r
104 "description": "Interrupt Priorities Registers; 0 is reserved.",
\r
105 "addressOffset": "0x0000",
\r
108 "description": "The priority for a given global interrupt",
\r
111 "resetMask": "all",
\r
112 "resetValue": "0x0"
\r
118 "description": "Interrupt Pending Bits Registers",
\r
119 "addressOffset": "0x1000",
\r
124 "enablestarget0": {
\r
125 "description": "Hart 0 Interrupt Enable Bits",
\r
126 "addressOffset": "0x00002000",
\r
129 "addressOffset": "0x0000",
\r
130 "description": "Hart 0 M-mode Interrupt Enable Bits",
\r
134 "description": "Interrupt Enable Bits Registers",
\r
135 "addressOffset": "0x0000"
\r
142 "description": "Hart 0 Interrupt Thresholds",
\r
143 "addressOffset": "0x00200000",
\r
146 "addressOffset": "0x0000",
\r
147 "description": "Hart 0 M-Mode Interrupt Threshold",
\r
150 "description": "The Priority Threshold Register",
\r
151 "addressOffset": "0x0000",
\r
154 "description": "The priority threshold value",
\r
157 "resetMask": "all",
\r
158 "resetValue": "0x0"
\r
163 "description": "The Interrupt Claim/Completion Register",
\r
164 "addressOffset": "0x0004"
\r
173 "description": "Watchdog Timer (WDT), part of Always-On Domain",
\r
174 "baseAddress": "0x10000000",
\r
176 "resetMask": "none",
\r
179 "description": "Watchdog Configuration Register",
\r
180 "addressOffset": "0x0000",
\r
183 "description": "Watchdog counter scale",
\r
188 "description": "Watchdog full reset enable",
\r
191 "resetMask": "all",
\r
192 "resetValue": "0x0"
\r
195 "description": "Watchdog zero on comparator",
\r
200 "description": "Watchdog enable counter always",
\r
203 "resetMask": "all",
\r
204 "resetValue": "0x0"
\r
207 "description": "Watchdog counter only when awake",
\r
210 "resetMask": "all",
\r
211 "resetValue": "0x0"
\r
214 "description": "Watchdog interrupt pending",
\r
221 "description": "Watchdog Count Register",
\r
222 "addressOffset": "0x0008"
\r
225 "description": "Watchdog Scale Register",
\r
226 "addressOffset": "0x0010",
\r
229 "description": "Watchdog scale value",
\r
236 "description": "Watchdog Feed Address Register",
\r
237 "addressOffset": "0x0018"
\r
240 "description": "Watchdog Key Register",
\r
241 "addressOffset": "0x001C"
\r
244 "description": "Watchdog Compare Register",
\r
245 "addressOffset": "0x0020",
\r
248 "description": "Watchdog compare value",
\r
257 "description": "Watchdog Compare Interrupt",
\r
263 "description": "Real-Time Clock (RTC), part of Always-On Domain",
\r
264 "baseAddress": "0x10000040",
\r
266 "resetMask": "none",
\r
269 "description": "RTC Configuration Register",
\r
270 "addressOffset": "0x0000",
\r
273 "description": "RTC clock rate scale",
\r
278 "description": "RTC counter enable",
\r
281 "resetMask": "all",
\r
282 "resetValue": "0x0"
\r
285 "description": "RTC comparator interrupt pending",
\r
293 "description": "RTC Counter Register Low",
\r
294 "addressOffset": "0x0008"
\r
297 "description": "RTC Counter Register High",
\r
298 "addressOffset": "0x000C",
\r
301 "description": "RTC counter register, high bits",
\r
308 "description": "RTC Scale Register",
\r
309 "addressOffset": "0x0010"
\r
312 "description": "RTC Compare Register",
\r
313 "addressOffset": "0x0020"
\r
318 "description": "RTC Compare Interrupt",
\r
324 "description": "Power-Management Unit (PMU), part of Always-On Domain",
\r
325 "baseAddress": "0x10000100",
\r
327 "resetMask": "none",
\r
330 "description": "Wakeup program instruction Registers",
\r
331 "addressOffset": "0x0000",
\r
335 "description": "Sleep Program Instruction Registers",
\r
336 "addressOffset": "0x0020",
\r
340 "description": "PMU Interrupt Enables Register",
\r
341 "addressOffset": "0x0040",
\r
344 "description": "RTC Comparator active",
\r
349 "description": "dwakeup_n pin active",
\r
356 "description": "PMU Wakeup Cause Register",
\r
357 "addressOffset": "0x0044",
\r
360 "description": "Wakeup cause",
\r
365 "wakeupcause-enum": {
\r
366 "description": "Wakeup Cause Values Enumeration",
\r
369 "displayName": "reset",
\r
370 "description": "Reset Wakeup"
\r
373 "displayName": "rtc",
\r
374 "description": "RTC Wakeup"
\r
377 "displayName": "dwakeup",
\r
378 "description": "Digital input Wakeup"
\r
381 "displayName": "undefined"
\r
388 "description": "Reset cause",
\r
393 "resetcause-enum": {
\r
394 "description": "Reset Cause Values Enumeration",
\r
397 "displayName": "external",
\r
398 "description": "External reset"
\r
401 "displayName": "watchdog",
\r
402 "description": "Watchdog timer reset"
\r
405 "displayName": "undefined"
\r
414 "description": "PMU Initiate Sleep Sequence Register",
\r
415 "addressOffset": "0x0048"
\r
418 "description": "PMU Key Register",
\r
419 "addressOffset": "0x004C"
\r
424 "description": "Always-On (AON) Domain",
\r
425 "baseAddress": "0x10000070",
\r
427 "resetMask": "none",
\r
430 "description": "Internal Programmable Low-Frequency Ring Oscillator Register",
\r
431 "addressOffset": "0x0000",
\r
434 "description": "LFROSC divider",
\r
437 "resetMask": "all",
\r
438 "resetValue": "0x04"
\r
441 "description": "LFROSC trim value",
\r
444 "resetMask": "all",
\r
445 "resetValue": "0x10"
\r
448 "description": "LFROSC enable",
\r
451 "resetMask": "all",
\r
452 "resetValue": "0x1"
\r
455 "description": "LFROSC ready",
\r
463 "description": "Backup Registers",
\r
464 "addressOffset": "0x0010",
\r
470 "description": "Power, Reset, Clock, Interrupt (PRCI) Peripheral",
\r
471 "baseAddress": "0x10008000",
\r
475 "description": "Internal Trimmable Programmable 72 MHz Oscillator Register",
\r
476 "addressOffset": "0x0000",
\r
479 "description": "HFROSC divider",
\r
482 "resetMask": "all",
\r
483 "resetValue": "0x04"
\r
486 "description": "HFROSC trim value",
\r
489 "resetMask": "all",
\r
490 "resetValue": "0x10"
\r
493 "description": "HFROSC enable",
\r
496 "resetMask": "all",
\r
497 "resetValue": "0x1"
\r
500 "description": "HFROSC ready",
\r
508 "description": "External 16 MHz Crystal Oscillator Register",
\r
509 "addressOffset": "0x0004",
\r
512 "description": "HFXOSC enable",
\r
515 "resetMask": "all",
\r
516 "resetValue": "0x1"
\r
519 "description": "HFXOSC ready",
\r
527 "description": "Internal High-Frequency PLL (HFPLL) Register",
\r
528 "addressOffset": "0x0008",
\r
531 "description": "PLL R input divider value",
\r
534 "resetMask": "all",
\r
535 "resetValue": "0x1",
\r
538 "description": "Reference Clock R Divide Ratio Enumeration",
\r
541 "displayName": "/1",
\r
542 "headerName": "div1",
\r
543 "description": "Unchanged"
\r
546 "displayName": "/2",
\r
547 "headerName": "div2",
\r
548 "description": "Divided by 2"
\r
551 "displayName": "/3",
\r
552 "headerName": "div3",
\r
553 "description": "Divided by 3"
\r
556 "displayName": "/4",
\r
557 "headerName": "div4",
\r
558 "description": "Divided by 4"
\r
565 "description": "PLL F multiplier value",
\r
568 "resetMask": "all",
\r
569 "resetValue": "0x1F",
\r
572 "description": "Reference Clock F Multiplier Ratio Enumeration",
\r
575 "displayName": "*2",
\r
576 "headerName": "mul2",
\r
577 "description": "Multiplied by 2"
\r
580 "displayName": "*4",
\r
581 "headerName": "mul4",
\r
582 "description": "Multiplied by 4"
\r
585 "displayName": "*6",
\r
586 "headerName": "mul6",
\r
587 "description": "Multiplied by 6"
\r
590 "displayName": "*8",
\r
591 "headerName": "mul8",
\r
592 "description": "Multiplied by 8"
\r
595 "displayName": "*10",
\r
596 "headerName": "mul10",
\r
597 "description": "Multiplied by 10"
\r
600 "displayName": "*12",
\r
601 "headerName": "mul12",
\r
602 "description": "Multiplied by 12"
\r
605 "displayName": "*14",
\r
606 "headerName": "mul14",
\r
607 "description": "Multiplied by 14"
\r
610 "displayName": "*16",
\r
611 "headerName": "mul16",
\r
612 "description": "Multiplied by 16"
\r
615 "displayName": "*18",
\r
616 "headerName": "mul18",
\r
617 "description": "Multiplied by 18"
\r
620 "displayName": "*20",
\r
621 "headerName": "mul20",
\r
622 "description": "Multiplied by 20"
\r
625 "displayName": "*22",
\r
626 "headerName": "mul22",
\r
627 "description": "Multiplied by 22"
\r
630 "displayName": "*24",
\r
631 "headerName": "mul24",
\r
632 "description": "Multiplied by 24"
\r
635 "displayName": "*26",
\r
636 "headerName": "mul26",
\r
637 "description": "Multiplied by 26"
\r
640 "displayName": "*28",
\r
641 "headerName": "mul28",
\r
642 "description": "Multiplied by 28"
\r
645 "displayName": "*30",
\r
646 "headerName": "mul30",
\r
647 "description": "Multiplied by 30"
\r
650 "displayName": "*32",
\r
651 "headerName": "mul32",
\r
652 "description": "Multiplied by 32"
\r
655 "displayName": "*34",
\r
656 "headerName": "mul34",
\r
657 "description": "Multiplied by 34"
\r
660 "displayName": "*36",
\r
661 "headerName": "mul36",
\r
662 "description": "Multiplied by 36"
\r
665 "displayName": "*38",
\r
666 "headerName": "mul38",
\r
667 "description": "Multiplied by 38"
\r
670 "displayName": "*40",
\r
671 "headerName": "mul40",
\r
672 "description": "Multiplied by 40"
\r
675 "displayName": "*42",
\r
676 "headerName": "mul42",
\r
677 "description": "Multiplied by 42"
\r
680 "displayName": "*44",
\r
681 "headerName": "mul44",
\r
682 "description": "Multiplied by 44"
\r
685 "displayName": "*46",
\r
686 "headerName": "mul46",
\r
687 "description": "Multiplied by 46"
\r
690 "displayName": "*48",
\r
691 "headerName": "mul48",
\r
692 "description": "Multiplied by 48"
\r
695 "displayName": "*50",
\r
696 "headerName": "mul50",
\r
697 "description": "Multiplied by 50"
\r
700 "displayName": "*52",
\r
701 "headerName": "mul52",
\r
702 "description": "Multiplied by 52"
\r
705 "displayName": "*54",
\r
706 "headerName": "mul54",
\r
707 "description": "Multiplied by 54"
\r
710 "displayName": "*56",
\r
711 "headerName": "mul56",
\r
712 "description": "Multiplied by 56"
\r
715 "displayName": "*58",
\r
716 "headerName": "mul58",
\r
717 "description": "Multiplied by 58"
\r
720 "displayName": "*60",
\r
721 "headerName": "mul60",
\r
722 "description": "Multiplied by 60"
\r
725 "displayName": "*62",
\r
726 "headerName": "mul62",
\r
727 "description": "Multiplied by 62"
\r
730 "displayName": "*64",
\r
731 "headerName": "mul64",
\r
732 "description": "Multiplied by 64"
\r
735 "displayName": "*66",
\r
736 "headerName": "mul66",
\r
737 "description": "Multiplied by 66"
\r
740 "displayName": "*68",
\r
741 "headerName": "mul68",
\r
742 "description": "Multiplied by 68"
\r
745 "displayName": "*70",
\r
746 "headerName": "mul70",
\r
747 "description": "Multiplied by 70"
\r
750 "displayName": "*72",
\r
751 "headerName": "mul72",
\r
752 "description": "Multiplied by 72"
\r
755 "displayName": "*74",
\r
756 "headerName": "mul74",
\r
757 "description": "Multiplied by 74"
\r
760 "displayName": "*76",
\r
761 "headerName": "mul76",
\r
762 "description": "Multiplied by 76"
\r
765 "displayName": "*78",
\r
766 "headerName": "mul78",
\r
767 "description": "Multiplied by 78"
\r
770 "displayName": "*80",
\r
771 "headerName": "mul80",
\r
772 "description": "Multiplied by 80"
\r
775 "displayName": "*82",
\r
776 "headerName": "mul82",
\r
777 "description": "Multiplied by 82"
\r
780 "displayName": "*84",
\r
781 "headerName": "mul84",
\r
782 "description": "Multiplied by 84"
\r
785 "displayName": "*86",
\r
786 "headerName": "mul86",
\r
787 "description": "Multiplied by 86"
\r
790 "displayName": "*88",
\r
791 "headerName": "mul88",
\r
792 "description": "Multiplied by 88"
\r
795 "displayName": "*90",
\r
796 "headerName": "mul90",
\r
797 "description": "Multiplied by 90"
\r
800 "displayName": "*92",
\r
801 "headerName": "mul92",
\r
802 "description": "Multiplied by 92"
\r
805 "displayName": "*94",
\r
806 "headerName": "mul94",
\r
807 "description": "Multiplied by 94"
\r
810 "displayName": "*96",
\r
811 "headerName": "mul96",
\r
812 "description": "Multiplied by 96"
\r
815 "displayName": "*98",
\r
816 "headerName": "mul98",
\r
817 "description": "Multiplied by 98"
\r
820 "displayName": "*100",
\r
821 "headerName": "mul100",
\r
822 "description": "Multiplied by 100"
\r
825 "displayName": "*102",
\r
826 "headerName": "mul102",
\r
827 "description": "Multiplied by 102"
\r
830 "displayName": "*104",
\r
831 "headerName": "mul104",
\r
832 "description": "Multiplied by 104"
\r
835 "displayName": "*106",
\r
836 "headerName": "mul106",
\r
837 "description": "Multiplied by 106"
\r
840 "displayName": "*108",
\r
841 "headerName": "mul108",
\r
842 "description": "Multiplied by 108"
\r
845 "displayName": "*110",
\r
846 "headerName": "mul110",
\r
847 "description": "Multiplied by 110"
\r
850 "displayName": "*112",
\r
851 "headerName": "mul112",
\r
852 "description": "Multiplied by 112"
\r
855 "displayName": "*114",
\r
856 "headerName": "mul114",
\r
857 "description": "Multiplied by 114"
\r
860 "displayName": "*116",
\r
861 "headerName": "mul116",
\r
862 "description": "Multiplied by 116"
\r
865 "displayName": "*118",
\r
866 "headerName": "mul118",
\r
867 "description": "Multiplied by 118"
\r
870 "displayName": "*120",
\r
871 "headerName": "mul120",
\r
872 "description": "Multiplied by 120"
\r
875 "displayName": "*122",
\r
876 "headerName": "mul122",
\r
877 "description": "Multiplied by 122"
\r
880 "displayName": "*124",
\r
881 "headerName": "mul124",
\r
882 "description": "Multiplied by 124"
\r
885 "displayName": "*126",
\r
886 "headerName": "mul126",
\r
887 "description": "Multiplied by 126"
\r
890 "displayName": "*128",
\r
891 "headerName": "mul128",
\r
892 "description": "Multiplied by 128"
\r
899 "description": "PLL Q output divider value",
\r
902 "resetMask": "all",
\r
903 "resetValue": "0x3",
\r
906 "description": "Reference Clock Q Divide Ratio Enumeration",
\r
909 "displayName": "n/a",
\r
910 "description": "Not supported"
\r
913 "displayName": "/2",
\r
914 "headerName": "div2",
\r
915 "description": "Divided by 2"
\r
918 "displayName": "/4",
\r
919 "headerName": "div4",
\r
920 "description": "Divided by 4"
\r
923 "displayName": "/8",
\r
924 "headerName": "div8",
\r
925 "description": "Divided by 8"
\r
932 "description": "PLL select",
\r
935 "resetMask": "all",
\r
936 "resetValue": "0x0"
\r
939 "description": "PLL reference select",
\r
942 "resetMask": "all",
\r
943 "resetValue": "0x1"
\r
946 "description": "PLL bypass",
\r
949 "resetMask": "all",
\r
950 "resetValue": "0x1"
\r
953 "description": "PLL lock indicator",
\r
961 "description": "PLL Output Divider",
\r
962 "addressOffset": "0x000C"
\r
967 "description": "One-Time Programmable Memory (OTP) Peripheral",
\r
968 "baseAddress": "0x10010000",
\r
972 "description": "Programmed-I/O Lock Register",
\r
973 "addressOffset": "0x0000"
\r
976 "description": "Device Clock Signal Register",
\r
977 "addressOffset": "0x0004"
\r
980 "description": "Device Output-Enable Signal Register",
\r
981 "addressOffset": "0x0008"
\r
984 "description": "Device Chip-Select Signal Register",
\r
985 "addressOffset": "0x000C"
\r
988 "description": "Device Write-Enable Signal Register",
\r
989 "addressOffset": "0x0010"
\r
992 "description": "Device Mode Register",
\r
993 "addressOffset": "0x0014"
\r
996 "description": "Read-Voltage Regulator Control Register",
\r
997 "addressOffset": "0x0018"
\r
1000 "description": "Write-Voltage Charge Pump Control Register",
\r
1001 "addressOffset": "0x001C"
\r
1004 "description": "Read-Voltage Enable Register",
\r
1005 "addressOffset": "0x0020"
\r
1008 "description": "Write-Voltage Enable Register",
\r
1009 "addressOffset": "0x0024"
\r
1012 "description": "Device Address Register",
\r
1013 "addressOffset": "0x0028"
\r
1016 "description": "Device Data Input Register",
\r
1017 "addressOffset": "0x002C"
\r
1020 "description": "Device Data Output Register",
\r
1021 "addressOffset": "0x0030"
\r
1024 "description": "Read Sequencer Control Register",
\r
1025 "addressOffset": "0x0034",
\r
1028 "description": "OTP timescale",
\r
1031 "resetMask": "all",
\r
1032 "resetValue": "0x1"
\r
1035 "description": "Address setup time",
\r
1038 "resetMask": "all",
\r
1039 "resetValue": "0x0"
\r
1042 "description": "Read pulse time",
\r
1047 "description": "Read access time",
\r
1056 "description": "General Purpose Input/Output Controller (GPIO) Peripheral",
\r
1057 "baseAddress": "0x10012000",
\r
1061 "description": "Pin Value Register",
\r
1062 "addressOffset": "0x000",
\r
1065 "repeatGenerator": "0-31",
\r
1066 "description": "Value Bit Field",
\r
1074 "description": "Pin Input Enable Register",
\r
1075 "addressOffset": "0x004",
\r
1078 "repeatGenerator": "0-31",
\r
1079 "description": "Pin Input Enable Bit Field",
\r
1087 "description": "Pin Output Enable Register",
\r
1088 "addressOffset": "0x008",
\r
1091 "repeatGenerator": "0-31",
\r
1092 "description": "Pin Output Enable Bit Field",
\r
1100 "description": "Output Port Value Register",
\r
1101 "addressOffset": "0x00C",
\r
1104 "repeatGenerator": "0-31",
\r
1105 "description": "Output Port Value Bit Field",
\r
1113 "description": "Internal Pull-up Enable Register",
\r
1114 "addressOffset": "0x010",
\r
1117 "repeatGenerator": "0-31",
\r
1118 "description": "Internal Pull-up Enable Bit Field",
\r
1126 "description": "Pin Drive Strength Register",
\r
1127 "addressOffset": "0x014",
\r
1130 "repeatGenerator": "0-31",
\r
1131 "description": "Pin Drive Strength Bit Field",
\r
1139 "description": "Rise Interrupt Enable Register",
\r
1140 "addressOffset": "0x018",
\r
1143 "repeatGenerator": "0-31",
\r
1144 "description": "Rise Interrupt Enable Bit Field",
\r
1152 "description": "Rise Interrupt Pending Register",
\r
1153 "addressOffset": "0x01C",
\r
1156 "repeatGenerator": "0-31",
\r
1157 "description": "Rise Interrupt Pending Bit Field",
\r
1165 "description": "Fall Interrupt Enable Register",
\r
1166 "addressOffset": "0x020",
\r
1169 "repeatGenerator": "0-31",
\r
1170 "description": "Fall Interrupt Enable Bit Field",
\r
1178 "description": "Fall Interrupt Pending Register",
\r
1179 "addressOffset": "0x024",
\r
1182 "repeatGenerator": "0-31",
\r
1183 "description": "Fall Interrupt Pending Bit Field",
\r
1191 "description": "High Interrupt Enable Register",
\r
1192 "addressOffset": "0x028",
\r
1195 "repeatGenerator": "0-31",
\r
1196 "description": "High Interrupt Enable Bit Field",
\r
1204 "description": "High Interrupt Pending Register",
\r
1205 "addressOffset": "0x02C",
\r
1208 "repeatGenerator": "0-31",
\r
1209 "description": "High Interrupt Pending Bit Field",
\r
1217 "description": "Low Interrupt Enable Register",
\r
1218 "addressOffset": "0x030",
\r
1221 "repeatGenerator": "0-31",
\r
1222 "description": "Low Interrupt Enable Bit Field",
\r
1230 "description": "Low Interrupt Pending Register",
\r
1231 "addressOffset": "0x034",
\r
1234 "repeatGenerator": "0-31",
\r
1235 "description": "Low Interrupt Pending Bit Field",
\r
1243 "description": "HW I/O Function Enable Register",
\r
1244 "addressOffset": "0x038",
\r
1247 "repeatGenerator": "0-31",
\r
1248 "description": "HW I/O Function Enable Bit Field",
\r
1256 "description": "HW I/O Function Select Register",
\r
1257 "addressOffset": "0x03C",
\r
1260 "repeatGenerator": "0-31",
\r
1261 "description": "HW I/O Function Select Bit Field",
\r
1269 "description": "Output XOR (invert) Register",
\r
1270 "addressOffset": "0x040",
\r
1273 "repeatGenerator": "0-31",
\r
1274 "description": "Output XOR Bit Field",
\r
1284 "description": "GPIO0 Interrupt",
\r
1288 "description": "GPIO1 Interrupt",
\r
1292 "description": "GPIO2 Interrupt",
\r
1296 "description": "GPIO3 Interrupt",
\r
1300 "description": "GPIO4 Interrupt",
\r
1304 "description": "GPIO5 Interrupt",
\r
1308 "description": "GPIO6 Interrupt",
\r
1312 "description": "GPIO7 Interrupt",
\r
1316 "description": "GPIO8 Interrupt",
\r
1320 "description": "GPIO9 Interrupt",
\r
1324 "description": "GPIO10 Interrupt",
\r
1328 "description": "GPIO11 Interrupt",
\r
1332 "description": "GPIO12 Interrupt",
\r
1336 "description": "GPIO13 Interrupt",
\r
1340 "description": "GPIO14 Interrupt",
\r
1344 "description": "GPIO15 Interrupt",
\r
1348 "description": "GPIO16 Interrupt",
\r
1352 "description": "GPIO17 Interrupt",
\r
1356 "description": "GPIO18 Interrupt",
\r
1360 "description": "GPIO19 Interrupt",
\r
1364 "description": "GPIO20 Interrupt",
\r
1368 "description": "GPIO21 Interrupt",
\r
1372 "description": "GPIO22 Interrupt",
\r
1376 "description": "GPIO23 Interrupt",
\r
1380 "description": "GPIO24 Interrupt",
\r
1384 "description": "GPIO25 Interrupt",
\r
1388 "description": "GPIO26 Interrupt",
\r
1392 "description": "GPIO27 Interrupt",
\r
1396 "description": "GPIO28 Interrupt",
\r
1400 "description": "GPIO29 Interrupt",
\r
1404 "description": "GPIO30 Interrupt",
\r
1408 "description": "GPIO31 Interrupt",
\r
1414 "description": "Universal Asynchronous Receiver/Transmitter (UART) Peripheral",
\r
1415 "baseAddress": "0x10013000",
\r
1417 "resetMask": "none",
\r
1418 "groupName": "uart",
\r
1421 "description": "Transmit Data Register",
\r
1422 "addressOffset": "0x000",
\r
1425 "description": "Transmit data",
\r
1430 "description": "Transmit FIFO full",
\r
1431 "bitOffset": "31",
\r
1437 "description": "Receive Data Register",
\r
1438 "addressOffset": "0x004",
\r
1439 "resetMask": "none",
\r
1442 "description": "Received data",
\r
1448 "description": "Receive FIFO empty",
\r
1449 "bitOffset": "31",
\r
1455 "description": "Transmit Control Register ",
\r
1456 "addressOffset": "0x008",
\r
1459 "description": "Transmit enable",
\r
1462 "resetMask": "all",
\r
1463 "resetValue": "0x0"
\r
1466 "description": "Number of stop bits",
\r
1469 "resetMask": "all",
\r
1470 "resetValue": "0x0"
\r
1473 "description": "Transmit watermark level",
\r
1474 "bitOffset": "16",
\r
1476 "resetMask": "all",
\r
1477 "resetValue": "0x0"
\r
1482 "description": "Receive Control Register",
\r
1483 "addressOffset": "0x00C",
\r
1486 "description": "Receive enable",
\r
1489 "resetMask": "all",
\r
1490 "resetValue": "0x0"
\r
1493 "description": "Receive watermark level",
\r
1494 "bitOffset": "16",
\r
1496 "resetMask": "all",
\r
1497 "resetValue": "0x0"
\r
1502 "description": "Interrupt Enable Register",
\r
1503 "addressOffset": "0x010",
\r
1506 "description": "Transmit watermark interrupt enable",
\r
1509 "resetMask": "all",
\r
1510 "resetValue": "0x0"
\r
1513 "description": "Receive watermark interrupt enable",
\r
1516 "resetMask": "all",
\r
1517 "resetValue": "0x0"
\r
1522 "description": "Interrupt Pending Register",
\r
1523 "addressOffset": "0x014",
\r
1527 "description": "Transmit watermark interrupt pending",
\r
1532 "description": "Receive watermark interrupt pending",
\r
1539 "description": "Baud Rate Divisor Register",
\r
1540 "addressOffset": "0x018",
\r
1543 "description": "Baud rate divisor",
\r
1546 "resetMask": "all",
\r
1547 "resetValue": "0x0000FFFF"
\r
1554 "description": "UART0 Interrupt",
\r
1560 "description": "Serial Peripheral Interface (SPI) Peripheral",
\r
1561 "baseAddress": "0x10014000",
\r
1563 "resetMask": "none",
\r
1564 "groupName": "spi",
\r
1567 "description": "Serial clock divisor Register",
\r
1568 "addressOffset": "0x000",
\r
1571 "description": "Divisor for serial clock",
\r
1574 "resetMask": "all",
\r
1575 "resetValue": "0x003"
\r
1580 "description": "Serial Clock Mode Register",
\r
1581 "addressOffset": "0x004",
\r
1584 "description": "Serial clock phase",
\r
1587 "resetMask": "all",
\r
1588 "resetValue": "0x0"
\r
1591 "description": "Serial clock polarity",
\r
1594 "resetMask": "all",
\r
1595 "resetValue": "0x0"
\r
1600 "description": "Chip Select ID Register",
\r
1601 "addressOffset": "0x010",
\r
1602 "resetMask": "all",
\r
1603 "resetValue": "0x00000000"
\r
1606 "description": "Chip Select Default Register",
\r
1607 "addressOffset": "0x014",
\r
1608 "resetMask": "all",
\r
1609 "resetValue": "0x00000001"
\r
1612 "description": "Chip Select Mode Register",
\r
1613 "addressOffset": "0x018",
\r
1616 "description": "Chip select mode",
\r
1619 "resetMask": "all",
\r
1620 "resetValue": "0x0",
\r
1623 "description": "Chip Select Modes Enumeration",
\r
1626 "displayName": "auto",
\r
1627 "description": "Assert/de-assert CS at the beginning/end of each frame"
\r
1630 "displayName": "reserved"
\r
1633 "displayName": "hold",
\r
1634 "description": "Keep CS continuously asserted after the initial frame"
\r
1637 "displayName": "off",
\r
1638 "description": "Disable hardware control of the CS pin"
\r
1647 "description": "Delay Control 0 Register",
\r
1648 "addressOffset": "0x028",
\r
1651 "description": "CS to SCK Delay",
\r
1654 "resetMask": "all",
\r
1655 "resetValue": "0x01"
\r
1658 "description": "SCK to CS Delay",
\r
1659 "bitOffset": "16",
\r
1661 "resetMask": "all",
\r
1662 "resetValue": "0x01"
\r
1667 "description": "Delay Control 1 Register",
\r
1668 "addressOffset": "0x02C",
\r
1671 "description": "Minimum CS inactive time",
\r
1674 "resetMask": "all",
\r
1675 "resetValue": "0x01"
\r
1678 "description": "Maximum interframe delay",
\r
1679 "bitOffset": "16",
\r
1681 "resetMask": "all",
\r
1682 "resetValue": "0x01"
\r
1687 "description": "Frame Format Register",
\r
1688 "addressOffset": "0x040",
\r
1691 "description": "SPI Protocol",
\r
1694 "resetMask": "all",
\r
1695 "resetValue": "0x0",
\r
1698 "description": "SPI Protocol Enumeration",
\r
1701 "displayName": "single",
\r
1702 "description": "DQ0 (MOSI), DQ1 (MISO)"
\r
1705 "displayName": "dual",
\r
1706 "description": "DQ0, DQ1"
\r
1709 "displayName": "quad",
\r
1710 "description": "DQ0, DQ1, DQ2, DQ3"
\r
1713 "displayName": "reserved"
\r
1720 "description": "SPI endianness",
\r
1723 "resetMask": "all",
\r
1724 "resetValue": "0x0",
\r
1727 "description": "SPI Endianness Enumeration",
\r
1730 "displayName": "msb",
\r
1731 "description": "Transmit most-significant bit (MSB) first"
\r
1734 "displayName": "lsb",
\r
1735 "description": "Transmit least-significant bit (LSB) first"
\r
1742 "description": "SPI I/O Direction",
\r
1745 "resetMask": "all",
\r
1746 "resetValue": "0x1",
\r
1749 "description": "SPI I/O Direction Enumeration",
\r
1752 "displayName": "rx",
\r
1753 "description": "For dual and quad protocols, the DQ pins are tri-stated. For the single protocol, the DQ0 pin is driven with the transmit data as normal."
\r
1756 "displayName": "tx",
\r
1757 "description": "The receive FIFO is not populated."
\r
1764 "description": "Number of bits per frame",
\r
1765 "bitOffset": "16",
\r
1767 "resetMask": "all",
\r
1768 "resetValue": "0x8"
\r
1773 "description": "Tx FIFO Data Register",
\r
1774 "addressOffset": "0x048",
\r
1777 "description": "Transmit data",
\r
1780 "resetMask": "all",
\r
1781 "resetValue": "0x00"
\r
1784 "description": "FIFO full flag",
\r
1785 "bitOffset": "31",
\r
1792 "description": "Rx FIFO Data Register",
\r
1793 "addressOffset": "0x04C",
\r
1794 "resetMask": "none",
\r
1798 "description": "Received data",
\r
1803 "description": "FIFO empty flag",
\r
1804 "bitOffset": "31",
\r
1810 "description": "Tx FIFO Watermark Register",
\r
1811 "addressOffset": "0x050",
\r
1814 "description": "Transmit watermark",
\r
1817 "resetMask": "all",
\r
1818 "resetValue": "0x1"
\r
1823 "description": "Rx FIFO Watermark Register",
\r
1824 "addressOffset": "0x054",
\r
1827 "description": "Receive watermark",
\r
1830 "resetMask": "all",
\r
1831 "resetValue": "0x0"
\r
1836 "description": "Flash Interface Control Register",
\r
1837 "addressOffset": "0x060",
\r
1840 "description": "SPI Flash Mode Select",
\r
1843 "resetMask": "all",
\r
1844 "resetValue": "0x1"
\r
1849 "description": "Flash Instruction Format Register",
\r
1850 "addressOffset": "0x064",
\r
1853 "description": "Enable sending of command",
\r
1856 "resetMask": "all",
\r
1857 "resetValue": "0x1"
\r
1860 "description": "Number of address bytes(0 to 4)",
\r
1863 "resetMask": "all",
\r
1864 "resetValue": "0x3"
\r
1867 "description": "Number of dummy cycles",
\r
1870 "resetMask": "all",
\r
1871 "resetValue": "0x0"
\r
1874 "description": "Protocol for transmitting command",
\r
1877 "resetMask": "all",
\r
1878 "resetValue": "0x0"
\r
1881 "description": "Protocol for transmitting address and padding",
\r
1882 "bitOffset": "10",
\r
1884 "resetMask": "all",
\r
1885 "resetValue": "0x0"
\r
1888 "description": "Protocol for receiving data bytes",
\r
1889 "bitOffset": "12",
\r
1891 "resetMask": "all",
\r
1892 "resetValue": "0x0"
\r
1895 "description": "Value of command byte",
\r
1896 "bitOffset": "16",
\r
1898 "resetMask": "all",
\r
1899 "resetValue": "0x03"
\r
1902 "description": "First 8 bits to transmit during dummy cycles",
\r
1903 "bitOffset": "24",
\r
1905 "resetMask": "all",
\r
1906 "resetValue": "0x0"
\r
1911 "description": "Interrupt Enable Register",
\r
1912 "addressOffset": "0x070",
\r
1915 "description": "Transmit watermark enable",
\r
1919 "resetMask": "all",
\r
1920 "resetValue": "0x0"
\r
1923 "description": "Receive watermark enable",
\r
1927 "resetMask": "all",
\r
1928 "resetValue": "0x0"
\r
1933 "description": "Interrupt Pending Register",
\r
1934 "addressOffset": "0x074",
\r
1937 "description": "Transmit watermark pending",
\r
1943 "description": "Receive watermark pending",
\r
1953 "description": "SPI0 Interrupt",
\r
1959 "description": "Pulse-Width Modulation (PWM) Peripheral",
\r
1960 "baseAddress": "0x10015000",
\r
1962 "resetMask": "none",
\r
1965 "description": "Configuration Register",
\r
1966 "addressOffset": "0x000",
\r
1969 "description": "Counter scale",
\r
1974 "description": "Sticky - disallow clearing pwmcmpXip bits",
\r
1979 "description": "Zero - counter resets to zero after match",
\r
1984 "description": "Deglitch - latch pwmcmpXip within same cycle",
\r
1985 "bitOffset": "10",
\r
1989 "description": "Enable always - run continuously",
\r
1990 "bitOffset": "12",
\r
1992 "resetMask": "all",
\r
1993 "resetValue": "0x0"
\r
1996 "description": "enable one shot - run one cycle",
\r
1997 "bitOffset": "13",
\r
1999 "resetMask": "all",
\r
2000 "resetValue": "0x0"
\r
2003 "description": "PWM0 Compare Center",
\r
2004 "bitOffset": "16",
\r
2008 "description": "PWM1 Compare Center",
\r
2009 "bitOffset": "17",
\r
2013 "description": "PWM2 Compare Center",
\r
2014 "bitOffset": "18",
\r
2018 "description": "PWM3 Compare Center",
\r
2019 "bitOffset": "19",
\r
2023 "description": "PWM0/PWM1 Compare Gang",
\r
2024 "bitOffset": "24",
\r
2028 "description": "PWM1/PWM2 Compare Gang",
\r
2029 "bitOffset": "25",
\r
2033 "description": "PWM2/PWM3 Compare Gang",
\r
2034 "bitOffset": "26",
\r
2038 "description": "PWM3/PWM0 Compare Gang",
\r
2039 "bitOffset": "27",
\r
2043 "description": "PWM0 Interrupt Pending",
\r
2044 "bitOffset": "28",
\r
2048 "description": "PWM1 Interrupt Pending",
\r
2049 "bitOffset": "29",
\r
2053 "description": "PWM2 Interrupt Pending",
\r
2054 "bitOffset": "30",
\r
2058 "description": "PWM3 Interrupt Pending",
\r
2059 "bitOffset": "31",
\r
2065 "description": "Configuration Register",
\r
2066 "addressOffset": "0x008"
\r
2069 "description": "Scale Register",
\r
2070 "addressOffset": "0x010",
\r
2073 "description": "Compare value",
\r
2081 "description": "Compare Registers",
\r
2082 "addressOffset": "0x020",
\r
2085 "description": "Compare value",
\r
2094 "description": "PWM0 Compare 0 Interrupt",
\r
2098 "description": "PWM0 Compare 1 Interrupt",
\r
2102 "description": "PWM0 Compare 2 Interrupt",
\r
2106 "description": "PWM0 Compare 3 Interrupt",
\r
2112 "baseAddress": "0x10023000",
\r
2113 "derivedFrom": "uart0",
\r
2114 "groupName": "uart",
\r
2117 "description": "UART1 Interrupt",
\r
2123 "baseAddress": "0x10024000",
\r
2124 "derivedFrom": "spi0",
\r
2125 "groupName": "spi",
\r
2128 "description": "SPI1 Interrupt",
\r
2134 "description": "Pulse-Width Modulation (PWM) Peripheral",
\r
2135 "baseAddress": "0x10025000",
\r
2136 "groupName": "pwm",
\r
2138 "resetMask": "none",
\r
2139 "groupName": "pwm",
\r
2142 "description": "Configuration Register",
\r
2143 "addressOffset": "0x000",
\r
2146 "description": "Counter scale",
\r
2151 "description": "Sticky - disallow clearing pwmcmpXip bits",
\r
2156 "description": "Zero - counter resets to zero after match",
\r
2161 "description": "Deglitch - latch pwmcmpXip within same cycle",
\r
2162 "bitOffset": "10",
\r
2166 "description": "Enable always - run continuously",
\r
2167 "bitOffset": "12",
\r
2169 "resetMask": "all",
\r
2170 "resetValue": "0x0"
\r
2173 "description": "enable one shot - run one cycle",
\r
2174 "bitOffset": "13",
\r
2176 "resetMask": "all",
\r
2177 "resetValue": "0x0"
\r
2180 "description": "PWM0 Compare Center",
\r
2181 "bitOffset": "16",
\r
2185 "description": "PWM1 Compare Center",
\r
2186 "bitOffset": "17",
\r
2190 "description": "PWM2 Compare Center",
\r
2191 "bitOffset": "18",
\r
2195 "description": "PWM3 Compare Center",
\r
2196 "bitOffset": "19",
\r
2200 "description": "PWM0/PWM1 Compare Gang",
\r
2201 "bitOffset": "24",
\r
2205 "description": "PWM1/PWM2 Compare Gang",
\r
2206 "bitOffset": "25",
\r
2210 "description": "PWM2/PWM3 Compare Gang",
\r
2211 "bitOffset": "26",
\r
2215 "description": "PWM3/PWM0 Compare Gang",
\r
2216 "bitOffset": "27",
\r
2220 "description": "PWM0 Interrupt Pending",
\r
2221 "bitOffset": "28",
\r
2225 "description": "PWM1 Interrupt Pending",
\r
2226 "bitOffset": "29",
\r
2230 "description": "PWM2 Interrupt Pending",
\r
2231 "bitOffset": "30",
\r
2235 "description": "PWM3 Interrupt Pending",
\r
2236 "bitOffset": "31",
\r
2242 "description": "Configuration Register",
\r
2243 "addressOffset": "0x008"
\r
2246 "description": "Scale Register",
\r
2247 "addressOffset": "0x010",
\r
2250 "description": "Compare value",
\r
2258 "description": "Compare Registers",
\r
2259 "addressOffset": "0x020",
\r
2262 "description": "Compare value",
\r
2271 "description": "PWM1 Compare 0 Interrupt",
\r
2275 "description": "PWM1 Compare 1 Interrupt",
\r
2279 "description": "PWM1 Compare 2 Interrupt",
\r
2283 "description": "PWM1 Compare 3 Interrupt",
\r
2289 "baseAddress": "0x10034000",
\r
2290 "derivedFrom": "spi0",
\r
2291 "groupName": "spi",
\r
2294 "description": "SPI2 Interrupt",
\r
2300 "baseAddress": "0x10035000",
\r
2301 "derivedFrom": "pwm1",
\r
2302 "groupName": "pwm",
\r
2305 "description": "PWM2 Compare 0 Interrupt",
\r
2309 "description": "PWM2 Compare 1 Interrupt",
\r
2313 "description": "PWM2 Compare 2 Interrupt",
\r
2317 "description": "PWM2 Compare 3 Interrupt",
\r