1c8dabef8SSergio Paracuellos# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2c8dabef8SSergio Paracuellos%YAML 1.2 3c8dabef8SSergio Paracuellos--- 4c8dabef8SSergio Paracuellos$id: http://devicetree.org/schemas/mips/cpus.yaml# 5c8dabef8SSergio Paracuellos$schema: http://devicetree.org/meta-schemas/core.yaml# 6c8dabef8SSergio Paracuellos 7*84e85359SKrzysztof Kozlowskititle: MIPS CPUs 8c8dabef8SSergio Paracuellos 9c8dabef8SSergio Paracuellosmaintainers: 10c8dabef8SSergio Paracuellos - Thomas Bogendoerfer <tsbogend@alpha.franken.de> 11c8dabef8SSergio Paracuellos - 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com> 12c8dabef8SSergio Paracuellos 13c8dabef8SSergio Paracuellosdescription: | 14c8dabef8SSergio Paracuellos The device tree allows to describe the layout of CPUs in a system through 15c8dabef8SSergio Paracuellos the "cpus" node, which in turn contains a number of subnodes (ie "cpu") 16c8dabef8SSergio Paracuellos defining properties for every CPU. 17c8dabef8SSergio Paracuellos 18c8dabef8SSergio Paracuellosproperties: 19c8dabef8SSergio Paracuellos compatible: 20c8dabef8SSergio Paracuellos enum: 21c8dabef8SSergio Paracuellos - brcm,bmips3300 22c8dabef8SSergio Paracuellos - brcm,bmips4350 23c8dabef8SSergio Paracuellos - brcm,bmips4380 24c8dabef8SSergio Paracuellos - brcm,bmips5000 25c8dabef8SSergio Paracuellos - brcm,bmips5200 26c8dabef8SSergio Paracuellos - ingenic,xburst-mxu1.0 27c8dabef8SSergio Paracuellos - ingenic,xburst-fpu1.0-mxu1.1 28c8dabef8SSergio Paracuellos - ingenic,xburst-fpu2.0-mxu2.0 29c8dabef8SSergio Paracuellos - ingenic,xburst2-fpu2.1-mxu2.1-smt 30c8dabef8SSergio Paracuellos - loongson,gs264 31c8dabef8SSergio Paracuellos - mips,m14Kc 32c8dabef8SSergio Paracuellos - mips,mips4Kc 33c8dabef8SSergio Paracuellos - mips,mips4KEc 34c8dabef8SSergio Paracuellos - mips,mips24Kc 35c8dabef8SSergio Paracuellos - mips,mips24KEc 36c8dabef8SSergio Paracuellos - mips,mips74Kc 37c8dabef8SSergio Paracuellos - mips,mips1004Kc 38c8dabef8SSergio Paracuellos - mti,interaptiv 39c8dabef8SSergio Paracuellos - mti,mips24KEc 40c8dabef8SSergio Paracuellos - mti,mips14KEc 41c8dabef8SSergio Paracuellos - mti,mips14Kc 42c8dabef8SSergio Paracuellos 43c8dabef8SSergio Paracuellos reg: 44c8dabef8SSergio Paracuellos maxItems: 1 45c8dabef8SSergio Paracuellos 46c8dabef8SSergio Paracuellos clocks: 47c8dabef8SSergio Paracuellos maxItems: 1 48c8dabef8SSergio Paracuellos 49c8dabef8SSergio Paracuellos device_type: true 50c8dabef8SSergio Paracuellos 51c8dabef8SSergio ParacuellosallOf: 52c8dabef8SSergio Paracuellos - if: 53c8dabef8SSergio Paracuellos properties: 54c8dabef8SSergio Paracuellos compatible: 55c8dabef8SSergio Paracuellos contains: 56c8dabef8SSergio Paracuellos enum: 57c8dabef8SSergio Paracuellos - ingenic,xburst-mxu1.0 58c8dabef8SSergio Paracuellos - ingenic,xburst-fpu1.0-mxu1.1 59c8dabef8SSergio Paracuellos - ingenic,xburst-fpu2.0-mxu2.0 60c8dabef8SSergio Paracuellos - ingenic,xburst2-fpu2.1-mxu2.1-smt 61c8dabef8SSergio Paracuellos then: 62c8dabef8SSergio Paracuellos required: 63c8dabef8SSergio Paracuellos - device_type 64c8dabef8SSergio Paracuellos - clocks 65c8dabef8SSergio Paracuellos 66c8dabef8SSergio Paracuellosrequired: 67c8dabef8SSergio Paracuellos - compatible 68c8dabef8SSergio Paracuellos - reg 69c8dabef8SSergio Paracuellos 70c8dabef8SSergio ParacuellosadditionalProperties: false 71c8dabef8SSergio Paracuellos 72c8dabef8SSergio Paracuellosexamples: 73c8dabef8SSergio Paracuellos - | 74c8dabef8SSergio Paracuellos cpus { 75c8dabef8SSergio Paracuellos #size-cells = <0>; 76c8dabef8SSergio Paracuellos #address-cells = <1>; 77c8dabef8SSergio Paracuellos 78c8dabef8SSergio Paracuellos cpu@0 { 79c8dabef8SSergio Paracuellos compatible = "mips,mips1004Kc"; 80c8dabef8SSergio Paracuellos device_type = "cpu"; 81c8dabef8SSergio Paracuellos reg = <0>; 82c8dabef8SSergio Paracuellos }; 83c8dabef8SSergio Paracuellos 84c8dabef8SSergio Paracuellos cpu@1 { 85c8dabef8SSergio Paracuellos compatible = "mips,mips1004Kc"; 86c8dabef8SSergio Paracuellos device_type = "cpu"; 87c8dabef8SSergio Paracuellos reg = <1>; 88c8dabef8SSergio Paracuellos }; 89c8dabef8SSergio Paracuellos }; 90c8dabef8SSergio Paracuellos 91c8dabef8SSergio Paracuellos - | 92c8dabef8SSergio Paracuellos // Example 2 (Ingenic CPU) 93c8dabef8SSergio Paracuellos #include <dt-bindings/clock/ingenic,jz4780-cgu.h> 94c8dabef8SSergio Paracuellos 95c8dabef8SSergio Paracuellos cpus { 96c8dabef8SSergio Paracuellos #address-cells = <1>; 97c8dabef8SSergio Paracuellos #size-cells = <0>; 98c8dabef8SSergio Paracuellos 99c8dabef8SSergio Paracuellos cpu@0 { 100c8dabef8SSergio Paracuellos compatible = "ingenic,xburst-fpu1.0-mxu1.1"; 101c8dabef8SSergio Paracuellos device_type = "cpu"; 102c8dabef8SSergio Paracuellos reg = <0>; 103c8dabef8SSergio Paracuellos 104c8dabef8SSergio Paracuellos clocks = <&cgu JZ4780_CLK_CPU>; 105c8dabef8SSergio Paracuellos }; 106c8dabef8SSergio Paracuellos 107c8dabef8SSergio Paracuellos cpu@1 { 108c8dabef8SSergio Paracuellos compatible = "ingenic,xburst-fpu1.0-mxu1.1"; 109c8dabef8SSergio Paracuellos device_type = "cpu"; 110c8dabef8SSergio Paracuellos reg = <1>; 111c8dabef8SSergio Paracuellos 112c8dabef8SSergio Paracuellos clocks = <&cgu JZ4780_CLK_CORE1>; 113c8dabef8SSergio Paracuellos }; 114c8dabef8SSergio Paracuellos }; 115c8dabef8SSergio Paracuellos... 116