~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/riscv/cpus.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/devicetree/bindings/riscv/cpus.yaml (Version linux-6.12-rc7) and /Documentation/devicetree/bindings/riscv/cpus.yaml (Version linux-6.3.13)


  1 # SPDX-License-Identifier: (GPL-2.0 OR MIT)         1 # SPDX-License-Identifier: (GPL-2.0 OR MIT)
  2 %YAML 1.2                                           2 %YAML 1.2
  3 ---                                                 3 ---
  4 $id: http://devicetree.org/schemas/riscv/cpus.      4 $id: http://devicetree.org/schemas/riscv/cpus.yaml#
  5 $schema: http://devicetree.org/meta-schemas/co      5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6                                                     6 
  7 title: RISC-V CPUs                                  7 title: RISC-V CPUs
  8                                                     8 
  9 maintainers:                                        9 maintainers:
 10   - Paul Walmsley <paul.walmsley@sifive.com>        10   - Paul Walmsley <paul.walmsley@sifive.com>
 11   - Palmer Dabbelt <palmer@sifive.com>              11   - Palmer Dabbelt <palmer@sifive.com>
 12   - Conor Dooley <conor@kernel.org>                 12   - Conor Dooley <conor@kernel.org>
 13                                                    13 
 14 description: |                                     14 description: |
 15   This document uses some terminology common t     15   This document uses some terminology common to the RISC-V community
 16   that is not widely used, the definitions of      16   that is not widely used, the definitions of which are listed here:
 17                                                    17 
 18   hart: A hardware execution context, which co     18   hart: A hardware execution context, which contains all the state
 19   mandated by the RISC-V ISA: a PC and some re     19   mandated by the RISC-V ISA: a PC and some registers.  This
 20   terminology is designed to disambiguate soft     20   terminology is designed to disambiguate software's view of execution
 21   contexts from any particular microarchitectu     21   contexts from any particular microarchitectural implementation
 22   strategy.  For example, an Intel laptop cont     22   strategy.  For example, an Intel laptop containing one socket with
 23   two cores, each of which has two hyperthread     23   two cores, each of which has two hyperthreads, could be described as
 24   having four harts.                               24   having four harts.
 25                                                    25 
 26 allOf:                                         << 
 27   - $ref: /schemas/cpu.yaml#                   << 
 28   - $ref: extensions.yaml                      << 
 29                                                << 
 30 properties:                                        26 properties:
 31   compatible:                                      27   compatible:
 32     oneOf:                                         28     oneOf:
 33       - items:                                     29       - items:
 34           - enum:                                  30           - enum:
 35               - amd,mbv32                      << 
 36               - andestech,ax45mp                   31               - andestech,ax45mp
 37               - canaan,k210                        32               - canaan,k210
 38               - sifive,bullet0                     33               - sifive,bullet0
 39               - sifive,e5                          34               - sifive,e5
 40               - sifive,e7                          35               - sifive,e7
 41               - sifive,e71                         36               - sifive,e71
 42               - sifive,rocket0                     37               - sifive,rocket0
 43               - sifive,s7                      << 
 44               - sifive,u5                          38               - sifive,u5
 45               - sifive,u54                         39               - sifive,u54
 46               - sifive,u7                          40               - sifive,u7
 47               - sifive,u74                         41               - sifive,u74
 48               - sifive,u74-mc                      42               - sifive,u74-mc
 49               - thead,c906                         43               - thead,c906
 50               - thead,c908                     << 
 51               - thead,c910                         44               - thead,c910
 52               - thead,c920                     << 
 53           - const: riscv                           45           - const: riscv
 54       - items:                                     46       - items:
 55           - enum:                                  47           - enum:
 56               - sifive,e51                         48               - sifive,e51
 57               - sifive,u54-mc                      49               - sifive,u54-mc
 58           - const: sifive,rocket0                  50           - const: sifive,rocket0
 59           - const: riscv                           51           - const: riscv
 60       - const: riscv    # Simulator only           52       - const: riscv    # Simulator only
 61     description:                                   53     description:
 62       Identifies that the hart uses the RISC-V     54       Identifies that the hart uses the RISC-V instruction set
 63       and identifies the type of the hart.         55       and identifies the type of the hart.
 64                                                    56 
 65   mmu-type:                                        57   mmu-type:
 66     description:                                   58     description:
 67       Identifies the largest MMU address trans !!  59       Identifies the MMU address translation mode used on this
 68       this hart.  These values originate from  !!  60       hart.  These values originate from the RISC-V Privileged
 69       Specification document, available from       61       Specification document, available from
 70       https://riscv.org/specifications/            62       https://riscv.org/specifications/
 71     $ref: /schemas/types.yaml#/definitions/str !!  63     $ref: "/schemas/types.yaml#/definitions/string"
 72     enum:                                          64     enum:
 73       - riscv,sv32                                 65       - riscv,sv32
 74       - riscv,sv39                                 66       - riscv,sv39
 75       - riscv,sv48                                 67       - riscv,sv48
 76       - riscv,sv57                             << 
 77       - riscv,none                                 68       - riscv,none
 78                                                    69 
 79   reg:                                         << 
 80     description:                               << 
 81       The hart ID of this CPU node.            << 
 82                                                << 
 83   riscv,cbom-block-size:                           70   riscv,cbom-block-size:
 84     $ref: /schemas/types.yaml#/definitions/uin     71     $ref: /schemas/types.yaml#/definitions/uint32
 85     description:                                   72     description:
 86       The blocksize in bytes for the Zicbom ca     73       The blocksize in bytes for the Zicbom cache operations.
 87                                                    74 
 88   riscv,cbop-block-size:                       !!  75   riscv,isa:
 89     $ref: /schemas/types.yaml#/definitions/uin << 
 90     description:                                   76     description:
 91       The blocksize in bytes for the Zicbop ca !!  77       Identifies the specific RISC-V instruction set architecture
                                                   >>  78       supported by the hart.  These are documented in the RISC-V
                                                   >>  79       User-Level ISA document, available from
                                                   >>  80       https://riscv.org/specifications/
 92                                                    81 
 93   riscv,cboz-block-size:                       !!  82       While the isa strings in ISA specification are case
 94     $ref: /schemas/types.yaml#/definitions/uin !!  83       insensitive, letters in the riscv,isa string must be all
 95     description:                               !!  84       lowercase to simplify parsing.
 96       The blocksize in bytes for the Zicboz ca !!  85     $ref: "/schemas/types.yaml#/definitions/string"
                                                   >>  86     pattern: ^rv(?:64|32)imaf?d?q?c?b?k?j?p?v?h?(?:[hsxz](?:[a-z])+)?(?:_[hsxz](?:[a-z])+)*$
 97                                                    87 
 98   # RISC-V has multiple properties for cache o << 
 99   # differ between individual CBO extensions   << 
100   cache-op-block-size: false                   << 
101   # RISC-V requires 'timebase-frequency' in /c     88   # RISC-V requires 'timebase-frequency' in /cpus, so disallow it here
102   timebase-frequency: false                        89   timebase-frequency: false
103                                                    90 
104   interrupt-controller:                            91   interrupt-controller:
105     type: object                                   92     type: object
106     $ref: /schemas/interrupt-controller/riscv, !!  93     description: Describes the CPU's local interrupt controller
                                                   >>  94 
                                                   >>  95     properties:
                                                   >>  96       '#interrupt-cells':
                                                   >>  97         const: 1
                                                   >>  98 
                                                   >>  99       compatible:
                                                   >> 100         const: riscv,cpu-intc
                                                   >> 101 
                                                   >> 102       interrupt-controller: true
                                                   >> 103 
                                                   >> 104     required:
                                                   >> 105       - '#interrupt-cells'
                                                   >> 106       - compatible
                                                   >> 107       - interrupt-controller
107                                                   108 
108   cpu-idle-states:                                109   cpu-idle-states:
109     $ref: /schemas/types.yaml#/definitions/pha !! 110     $ref: '/schemas/types.yaml#/definitions/phandle-array'
110     items:                                        111     items:
111       maxItems: 1                                 112       maxItems: 1
112     description: |                                113     description: |
113       List of phandles to idle state nodes sup    114       List of phandles to idle state nodes supported
114       by this hart (see ./idle-states.yaml).      115       by this hart (see ./idle-states.yaml).
115                                                   116 
116   capacity-dmips-mhz:                             117   capacity-dmips-mhz:
117     description:                                  118     description:
118       u32 value representing CPU capacity (see    119       u32 value representing CPU capacity (see ../cpu/cpu-capacity.txt) in
119       DMIPS/MHz, relative to highest capacity-    120       DMIPS/MHz, relative to highest capacity-dmips-mhz
120       in the system.                              121       in the system.
121                                                   122 
122 anyOf:                                         << 
123   - required:                                  << 
124       - riscv,isa                              << 
125   - required:                                  << 
126       - riscv,isa-base                         << 
127                                                << 
128 dependencies:                                  << 
129   riscv,isa-base: [ "riscv,isa-extensions" ]   << 
130   riscv,isa-extensions: [ "riscv,isa-base" ]   << 
131                                                << 
132 required:                                         123 required:
                                                   >> 124   - riscv,isa
133   - interrupt-controller                          125   - interrupt-controller
134                                                   126 
135 unevaluatedProperties: false                   !! 127 additionalProperties: true
136                                                   128 
137 examples:                                         129 examples:
138   - |                                             130   - |
139     // Example 1: SiFive Freedom U540G Develop    131     // Example 1: SiFive Freedom U540G Development Kit
140     cpus {                                        132     cpus {
141         #address-cells = <1>;                     133         #address-cells = <1>;
142         #size-cells = <0>;                        134         #size-cells = <0>;
143         timebase-frequency = <1000000>;           135         timebase-frequency = <1000000>;
144         cpu@0 {                                   136         cpu@0 {
145                 clock-frequency = <0>;            137                 clock-frequency = <0>;
146                 compatible = "sifive,rocket0",    138                 compatible = "sifive,rocket0", "riscv";
147                 device_type = "cpu";              139                 device_type = "cpu";
148                 i-cache-block-size = <64>;        140                 i-cache-block-size = <64>;
149                 i-cache-sets = <128>;             141                 i-cache-sets = <128>;
150                 i-cache-size = <16384>;           142                 i-cache-size = <16384>;
151                 reg = <0>;                        143                 reg = <0>;
152                 riscv,isa-base = "rv64i";      !! 144                 riscv,isa = "rv64imac";
153                 riscv,isa-extensions = "i", "m << 
154                                                << 
155                 cpu_intc0: interrupt-controlle    145                 cpu_intc0: interrupt-controller {
156                         #interrupt-cells = <1>    146                         #interrupt-cells = <1>;
157                         compatible = "riscv,cp    147                         compatible = "riscv,cpu-intc";
158                         interrupt-controller;     148                         interrupt-controller;
159                 };                                149                 };
160         };                                        150         };
161         cpu@1 {                                   151         cpu@1 {
162                 clock-frequency = <0>;            152                 clock-frequency = <0>;
163                 compatible = "sifive,rocket0",    153                 compatible = "sifive,rocket0", "riscv";
164                 d-cache-block-size = <64>;        154                 d-cache-block-size = <64>;
165                 d-cache-sets = <64>;              155                 d-cache-sets = <64>;
166                 d-cache-size = <32768>;           156                 d-cache-size = <32768>;
167                 d-tlb-sets = <1>;                 157                 d-tlb-sets = <1>;
168                 d-tlb-size = <32>;                158                 d-tlb-size = <32>;
169                 device_type = "cpu";              159                 device_type = "cpu";
170                 i-cache-block-size = <64>;        160                 i-cache-block-size = <64>;
171                 i-cache-sets = <64>;              161                 i-cache-sets = <64>;
172                 i-cache-size = <32768>;           162                 i-cache-size = <32768>;
173                 i-tlb-sets = <1>;                 163                 i-tlb-sets = <1>;
174                 i-tlb-size = <32>;                164                 i-tlb-size = <32>;
175                 mmu-type = "riscv,sv39";          165                 mmu-type = "riscv,sv39";
176                 reg = <1>;                        166                 reg = <1>;
                                                   >> 167                 riscv,isa = "rv64imafdc";
177                 tlb-split;                        168                 tlb-split;
178                 riscv,isa-base = "rv64i";      << 
179                 riscv,isa-extensions = "i", "m << 
180                                                << 
181                 cpu_intc1: interrupt-controlle    169                 cpu_intc1: interrupt-controller {
182                         #interrupt-cells = <1>    170                         #interrupt-cells = <1>;
183                         compatible = "riscv,cp    171                         compatible = "riscv,cpu-intc";
184                         interrupt-controller;     172                         interrupt-controller;
185                 };                                173                 };
186         };                                        174         };
187     };                                            175     };
188                                                   176 
189   - |                                             177   - |
190     // Example 2: Spike ISA Simulator with 1 H    178     // Example 2: Spike ISA Simulator with 1 Hart
191     cpus {                                        179     cpus {
192         #address-cells = <1>;                     180         #address-cells = <1>;
193         #size-cells = <0>;                        181         #size-cells = <0>;
194         cpu@0 {                                   182         cpu@0 {
195                 device_type = "cpu";              183                 device_type = "cpu";
196                 reg = <0>;                        184                 reg = <0>;
197                 compatible = "riscv";             185                 compatible = "riscv";
                                                   >> 186                 riscv,isa = "rv64imafdc";
198                 mmu-type = "riscv,sv48";          187                 mmu-type = "riscv,sv48";
199                 riscv,isa-base = "rv64i";      << 
200                 riscv,isa-extensions = "i", "m << 
201                                                << 
202                 interrupt-controller {            188                 interrupt-controller {
203                         #interrupt-cells = <1>    189                         #interrupt-cells = <1>;
204                         interrupt-controller;     190                         interrupt-controller;
205                         compatible = "riscv,cp    191                         compatible = "riscv,cpu-intc";
206                 };                                192                 };
207         };                                        193         };
208     };                                            194     };
209 ...                                               195 ...
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php