dt-bindings: Add devicetree bindings
Add snapshot of device tree bindings from keystone common kernel, branch "android-mainline-keystone-qcom-release" at c4c12103f9c0 ("Snap for 9228065 from e32903b9a63bb558df8b803b076619c53c16baad to android-mainline-keystone-qcom-release"). Change-Id: I7682079615cbd9f29340a5c1f2a1d84ec441a1f1 Signed-off-by: Melody Olvera <quic_molvera@quicinc.com>
This commit is contained in:
21
bindings/mips/ath79-soc.txt
Normal file
21
bindings/mips/ath79-soc.txt
Normal file
@@ -0,0 +1,21 @@
|
||||
Binding for Qualcomm Atheros AR7xxx/AR9XXX SoC
|
||||
|
||||
Each device tree must specify a compatible value for the AR SoC
|
||||
it uses in the compatible property of the root node. The compatible
|
||||
value must be one of the following values:
|
||||
|
||||
- qca,ar7130
|
||||
- qca,ar7141
|
||||
- qca,ar7161
|
||||
- qca,ar7240
|
||||
- qca,ar7241
|
||||
- qca,ar7242
|
||||
- qca,ar9130
|
||||
- qca,ar9132
|
||||
- qca,ar9330
|
||||
- qca,ar9331
|
||||
- qca,ar9341
|
||||
- qca,ar9342
|
||||
- qca,ar9344
|
||||
- qca,qca9556
|
||||
- qca,qca9558
|
166
bindings/mips/brcm/soc.txt
Normal file
166
bindings/mips/brcm/soc.txt
Normal file
@@ -0,0 +1,166 @@
|
||||
* Broadcom cable/DSL/settop platforms
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: "brcm,bcm3368", "brcm,bcm3384", "brcm,bcm33843"
|
||||
"brcm,bcm3384-viper", "brcm,bcm33843-viper"
|
||||
"brcm,bcm6328", "brcm,bcm6358", "brcm,bcm6362", "brcm,bcm6368",
|
||||
"brcm,bcm63168", "brcm,bcm63268",
|
||||
"brcm,bcm7125", "brcm,bcm7346", "brcm,bcm7358", "brcm,bcm7360",
|
||||
"brcm,bcm7362", "brcm,bcm7420", "brcm,bcm7425"
|
||||
|
||||
The experimental -viper variants are for running Linux on the 3384's
|
||||
BMIPS4355 cable modem CPU instead of the BMIPS5000 application processor.
|
||||
|
||||
Power management
|
||||
----------------
|
||||
|
||||
For power management (particularly, S2/S3/S5 system suspend), the following SoC
|
||||
components are needed:
|
||||
|
||||
= Always-On control block (AON CTRL)
|
||||
|
||||
This hardware provides control registers for the "always-on" (even in low-power
|
||||
modes) hardware, such as the Power Management State Machine (PMSM).
|
||||
|
||||
Required properties:
|
||||
- compatible : should be one of
|
||||
"brcm,bcm7425-aon-ctrl"
|
||||
"brcm,bcm7429-aon-ctrl"
|
||||
"brcm,bcm7435-aon-ctrl" and
|
||||
"brcm,brcmstb-aon-ctrl"
|
||||
- reg : the register start and length for the AON CTRL block
|
||||
|
||||
Example:
|
||||
|
||||
syscon@410000 {
|
||||
compatible = "brcm,bcm7425-aon-ctrl", "brcm,brcmstb-aon-ctrl";
|
||||
reg = <0x410000 0x400>;
|
||||
};
|
||||
|
||||
= Memory controllers
|
||||
|
||||
A Broadcom STB SoC typically has a number of independent memory controllers,
|
||||
each of which may have several associated hardware blocks, which are versioned
|
||||
independently (control registers, DDR PHYs, etc.). One might consider
|
||||
describing these controllers as a parent "memory controllers" block, which
|
||||
contains N sub-nodes (one for each controller in the system), each of which is
|
||||
associated with a number of hardware register resources (e.g., its PHY.
|
||||
|
||||
== MEMC (MEMory Controller)
|
||||
|
||||
Represents a single memory controller instance.
|
||||
|
||||
Required properties:
|
||||
- compatible : should contain "brcm,brcmstb-memc" and "simple-bus"
|
||||
- ranges : should contain the child address in the parent address
|
||||
space, must be 0 here, and the register start and length of
|
||||
the entire memory controller (including all sub nodes: DDR PHY,
|
||||
arbiter, etc.)
|
||||
- #address-cells : must be 1
|
||||
- #size-cells : must be 1
|
||||
|
||||
Example:
|
||||
|
||||
memory-controller@0 {
|
||||
compatible = "brcm,brcmstb-memc", "simple-bus";
|
||||
ranges = <0x0 0x0 0xa000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
memc-arb@1000 {
|
||||
...
|
||||
};
|
||||
|
||||
memc-ddr@2000 {
|
||||
...
|
||||
};
|
||||
|
||||
ddr-phy@6000 {
|
||||
...
|
||||
};
|
||||
};
|
||||
|
||||
Should contain subnodes for any of the following relevant hardware resources:
|
||||
|
||||
== DDR PHY control
|
||||
|
||||
Control registers for this memory controller's DDR PHY.
|
||||
|
||||
Required properties:
|
||||
- compatible : should contain one of these
|
||||
"brcm,brcmstb-ddr-phy-v64.5"
|
||||
"brcm,brcmstb-ddr-phy"
|
||||
|
||||
- reg : the DDR PHY register range and length
|
||||
|
||||
Example:
|
||||
|
||||
ddr-phy@6000 {
|
||||
compatible = "brcm,brcmstb-ddr-phy-v64.5";
|
||||
reg = <0x6000 0xc8>;
|
||||
};
|
||||
|
||||
== DDR memory controller sequencer
|
||||
|
||||
Control registers for this memory controller's DDR memory sequencer
|
||||
|
||||
Required properties:
|
||||
- compatible : should contain one of these
|
||||
"brcm,bcm7425-memc-ddr"
|
||||
"brcm,bcm7429-memc-ddr"
|
||||
"brcm,bcm7435-memc-ddr" and
|
||||
"brcm,brcmstb-memc-ddr"
|
||||
|
||||
- reg : the DDR sequencer register range and length
|
||||
|
||||
Example:
|
||||
|
||||
memc-ddr@2000 {
|
||||
compatible = "brcm,bcm7425-memc-ddr", "brcm,brcmstb-memc-ddr";
|
||||
reg = <0x2000 0x300>;
|
||||
};
|
||||
|
||||
== MEMC Arbiter
|
||||
|
||||
The memory controller arbiter is responsible for memory clients allocation
|
||||
(bandwidth, priorities etc.) and needs to have its contents restored during
|
||||
deep sleep states (S3).
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should contain one of these
|
||||
"brcm,brcmstb-memc-arb-v10.0.0.0"
|
||||
"brcm,brcmstb-memc-arb"
|
||||
|
||||
- reg : the DDR Arbiter register range and length
|
||||
|
||||
Example:
|
||||
|
||||
memc-arb@1000 {
|
||||
compatible = "brcm,brcmstb-memc-arb-v10.0.0.0";
|
||||
reg = <0x1000 0x248>;
|
||||
};
|
||||
|
||||
== Timers
|
||||
|
||||
The Broadcom STB chips contain a timer block with several general purpose
|
||||
timers that can be used.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should contain one of:
|
||||
"brcm,bcm7425-timers"
|
||||
"brcm,bcm7429-timers"
|
||||
"brcm,bcm7435-timers" and
|
||||
"brcm,brcmstb-timers"
|
||||
- reg : the timers register range
|
||||
- interrupts : the interrupt line for this timer block
|
||||
|
||||
Example:
|
||||
|
||||
timers: timer@4067c0 {
|
||||
compatible = "brcm,bcm7425-timers", "brcm,brcmstb-timers";
|
||||
reg = <0x4067c0 0x40>;
|
||||
interrupts = <&periph_intc 19>;
|
||||
};
|
96
bindings/mips/brcm/soc.yaml
Normal file
96
bindings/mips/brcm/soc.yaml
Normal file
@@ -0,0 +1,96 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mips/brcm/soc.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Broadcom cable/DSL/settop platforms
|
||||
|
||||
maintainers:
|
||||
- Florian Fainelli <f.fainelli@gmail.com>
|
||||
|
||||
description: |
|
||||
Boards Broadcom cable/DSL/settop SoC shall have the following properties.
|
||||
The experimental -viper variants are for running Linux on the 3384's
|
||||
BMIPS4355 cable modem CPU instead of the BMIPS5000 application processor.
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
const: '/'
|
||||
|
||||
compatible:
|
||||
enum:
|
||||
- brcm,bcm3368
|
||||
- brcm,bcm3384
|
||||
- brcm,bcm33843
|
||||
- brcm,bcm3384-viper
|
||||
- brcm,bcm33843-viper
|
||||
- brcm,bcm6328
|
||||
- brcm,bcm6358
|
||||
- brcm,bcm6362
|
||||
- brcm,bcm6368
|
||||
- brcm,bcm63168
|
||||
- brcm,bcm63268
|
||||
- brcm,bcm7125
|
||||
- brcm,bcm7346
|
||||
- brcm,bcm7358
|
||||
- brcm,bcm7360
|
||||
- brcm,bcm7362
|
||||
- brcm,bcm7420
|
||||
- brcm,bcm7425
|
||||
|
||||
cpus:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
properties:
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
mips-hpt-frequency:
|
||||
description: MIPS counter high precision timer frequency.
|
||||
This is common to all CPUs in the system so it lives
|
||||
under the "cpus" node.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
patternProperties:
|
||||
"^cpu@[0-9]$":
|
||||
type: object
|
||||
$ref: /schemas/mips/cpus.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
required:
|
||||
- mips-hpt-frequency
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
examples:
|
||||
- |
|
||||
/ {
|
||||
compatible = "brcm,bcm3368";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
model = "Broadcom 3368";
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
mips-hpt-frequency = <150000000>;
|
||||
|
||||
cpu@0 {
|
||||
compatible = "brcm,bmips4350";
|
||||
device_type = "cpu";
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
cpu@1 {
|
||||
compatible = "brcm,bmips4350";
|
||||
device_type = "cpu";
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
126
bindings/mips/cavium/bootbus.txt
Normal file
126
bindings/mips/cavium/bootbus.txt
Normal file
@@ -0,0 +1,126 @@
|
||||
* Boot Bus
|
||||
|
||||
The Octeon Boot Bus is a configurable parallel bus with 8 chip
|
||||
selects. Each chip select is independently configurable.
|
||||
|
||||
Properties:
|
||||
- compatible: "cavium,octeon-3860-bootbus"
|
||||
|
||||
Compatibility with all cn3XXX, cn5XXX and cn6XXX SOCs.
|
||||
|
||||
- reg: The base address of the Boot Bus' register bank.
|
||||
|
||||
- #address-cells: Must be <2>. The first cell is the chip select
|
||||
within the bootbus. The second cell is the offset from the chip select.
|
||||
|
||||
- #size-cells: Must be <1>.
|
||||
|
||||
- ranges: There must be one one triplet of (child-bus-address,
|
||||
parent-bus-address, length) for each active chip select. If the
|
||||
length element for any triplet is zero, the chip select is disabled,
|
||||
making it inactive.
|
||||
|
||||
The configuration parameters for each chip select are stored in child
|
||||
nodes.
|
||||
|
||||
Configuration Properties:
|
||||
- compatible: "cavium,octeon-3860-bootbus-config"
|
||||
|
||||
- cavium,cs-index: A single cell indicating the chip select that
|
||||
corresponds to this configuration.
|
||||
|
||||
- cavium,t-adr: A cell specifying the ADR timing (in nS).
|
||||
|
||||
- cavium,t-ce: A cell specifying the CE timing (in nS).
|
||||
|
||||
- cavium,t-oe: A cell specifying the OE timing (in nS).
|
||||
|
||||
- cavium,t-we: A cell specifying the WE timing (in nS).
|
||||
|
||||
- cavium,t-rd-hld: A cell specifying the RD_HLD timing (in nS).
|
||||
|
||||
- cavium,t-wr-hld: A cell specifying the WR_HLD timing (in nS).
|
||||
|
||||
- cavium,t-pause: A cell specifying the PAUSE timing (in nS).
|
||||
|
||||
- cavium,t-wait: A cell specifying the WAIT timing (in nS).
|
||||
|
||||
- cavium,t-page: A cell specifying the PAGE timing (in nS).
|
||||
|
||||
- cavium,t-rd-dly: A cell specifying the RD_DLY timing (in nS).
|
||||
|
||||
- cavium,pages: A cell specifying the PAGES parameter (0 = 8 bytes, 1
|
||||
= 2 bytes, 2 = 4 bytes, 3 = 8 bytes).
|
||||
|
||||
- cavium,wait-mode: Optional. If present, wait mode (WAITM) is selected.
|
||||
|
||||
- cavium,page-mode: Optional. If present, page mode (PAGEM) is selected.
|
||||
|
||||
- cavium,bus-width: A cell specifying the WIDTH parameter (in bits) of
|
||||
the bus for this chip select.
|
||||
|
||||
- cavium,ale-mode: Optional. If present, ALE mode is selected.
|
||||
|
||||
- cavium,sam-mode: Optional. If present, SAM mode is selected.
|
||||
|
||||
- cavium,or-mode: Optional. If present, OR mode is selected.
|
||||
|
||||
Example:
|
||||
bootbus: bootbus@1180000000000 {
|
||||
compatible = "cavium,octeon-3860-bootbus";
|
||||
reg = <0x11800 0x00000000 0x0 0x200>;
|
||||
/* The chip select number and offset */
|
||||
#address-cells = <2>;
|
||||
/* The size of the chip select region */
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0 0x0 0x1f400000 0xc00000>,
|
||||
<1 0 0x10000 0x30000000 0>,
|
||||
<2 0 0x10000 0x40000000 0>,
|
||||
<3 0 0x10000 0x50000000 0>,
|
||||
<4 0 0x0 0x1d020000 0x10000>,
|
||||
<5 0 0x0 0x1d040000 0x10000>,
|
||||
<6 0 0x0 0x1d050000 0x10000>,
|
||||
<7 0 0x10000 0x90000000 0>;
|
||||
|
||||
cavium,cs-config@0 {
|
||||
compatible = "cavium,octeon-3860-bootbus-config";
|
||||
cavium,cs-index = <0>;
|
||||
cavium,t-adr = <20>;
|
||||
cavium,t-ce = <60>;
|
||||
cavium,t-oe = <60>;
|
||||
cavium,t-we = <45>;
|
||||
cavium,t-rd-hld = <35>;
|
||||
cavium,t-wr-hld = <45>;
|
||||
cavium,t-pause = <0>;
|
||||
cavium,t-wait = <0>;
|
||||
cavium,t-page = <35>;
|
||||
cavium,t-rd-dly = <0>;
|
||||
|
||||
cavium,pages = <0>;
|
||||
cavium,bus-width = <8>;
|
||||
};
|
||||
.
|
||||
.
|
||||
.
|
||||
cavium,cs-config@6 {
|
||||
compatible = "cavium,octeon-3860-bootbus-config";
|
||||
cavium,cs-index = <6>;
|
||||
cavium,t-adr = <5>;
|
||||
cavium,t-ce = <300>;
|
||||
cavium,t-oe = <270>;
|
||||
cavium,t-we = <150>;
|
||||
cavium,t-rd-hld = <100>;
|
||||
cavium,t-wr-hld = <70>;
|
||||
cavium,t-pause = <0>;
|
||||
cavium,t-wait = <0>;
|
||||
cavium,t-page = <320>;
|
||||
cavium,t-rd-dly = <0>;
|
||||
|
||||
cavium,pages = <0>;
|
||||
cavium,wait-mode;
|
||||
cavium,bus-width = <16>;
|
||||
};
|
||||
.
|
||||
.
|
||||
.
|
||||
};
|
41
bindings/mips/cavium/cib.txt
Normal file
41
bindings/mips/cavium/cib.txt
Normal file
@@ -0,0 +1,41 @@
|
||||
* Cavium Interrupt Bus widget
|
||||
|
||||
Properties:
|
||||
- compatible: "cavium,octeon-7130-cib"
|
||||
|
||||
Compatibility with cn70XX SoCs.
|
||||
|
||||
- interrupt-controller: This is an interrupt controller.
|
||||
|
||||
- reg: Two elements consisting of the addresses of the RAW and EN
|
||||
registers of the CIB block
|
||||
|
||||
- cavium,max-bits: The index (zero based) of the highest numbered bit
|
||||
in the CIB block.
|
||||
|
||||
- interrupts: The CIU line to which the CIB block is connected.
|
||||
|
||||
- #interrupt-cells: Must be <2>. The first cell is the bit within the
|
||||
CIB. The second cell specifies the triggering semantics of the
|
||||
line.
|
||||
|
||||
Example:
|
||||
|
||||
interrupt-controller@107000000e000 {
|
||||
compatible = "cavium,octeon-7130-cib";
|
||||
reg = <0x10700 0x0000e000 0x0 0x8>, /* RAW */
|
||||
<0x10700 0x0000e100 0x0 0x8>; /* EN */
|
||||
cavium,max-bits = <23>;
|
||||
|
||||
interrupt-controller;
|
||||
interrupt-parent = <&ciu>;
|
||||
interrupts = <1 24>;
|
||||
/* Interrupts are specified by two parts:
|
||||
* 1) Bit number in the CIB* registers
|
||||
* 2) Triggering (1 - edge rising
|
||||
* 2 - edge falling
|
||||
* 4 - level active high
|
||||
* 8 - level active low)
|
||||
*/
|
||||
#interrupt-cells = <2>;
|
||||
};
|
26
bindings/mips/cavium/ciu.txt
Normal file
26
bindings/mips/cavium/ciu.txt
Normal file
@@ -0,0 +1,26 @@
|
||||
* Central Interrupt Unit
|
||||
|
||||
Properties:
|
||||
- compatible: "cavium,octeon-3860-ciu"
|
||||
|
||||
Compatibility with all cn3XXX, cn5XXX and cn63XX SOCs.
|
||||
|
||||
- interrupt-controller: This is an interrupt controller.
|
||||
|
||||
- reg: The base address of the CIU's register bank.
|
||||
|
||||
- #interrupt-cells: Must be <2>. The first cell is the bank within
|
||||
the CIU and may have a value of 0 or 1. The second cell is the bit
|
||||
within the bank and may have a value between 0 and 63.
|
||||
|
||||
Example:
|
||||
interrupt-controller@1070000000000 {
|
||||
compatible = "cavium,octeon-3860-ciu";
|
||||
interrupt-controller;
|
||||
/* Interrupts are specified by two parts:
|
||||
* 1) Controller register (0 or 1)
|
||||
* 2) Bit within the register (0..63)
|
||||
*/
|
||||
#interrupt-cells = <2>;
|
||||
reg = <0x10700 0x00000000 0x0 0x7000>;
|
||||
};
|
27
bindings/mips/cavium/ciu2.txt
Normal file
27
bindings/mips/cavium/ciu2.txt
Normal file
@@ -0,0 +1,27 @@
|
||||
* Central Interrupt Unit
|
||||
|
||||
Properties:
|
||||
- compatible: "cavium,octeon-6880-ciu2"
|
||||
|
||||
Compatibility with 68XX SOCs.
|
||||
|
||||
- interrupt-controller: This is an interrupt controller.
|
||||
|
||||
- reg: The base address of the CIU's register bank.
|
||||
|
||||
- #interrupt-cells: Must be <2>. The first cell is the bank within
|
||||
the CIU and may have a value between 0 and 63. The second cell is
|
||||
the bit within the bank and may also have a value between 0 and 63.
|
||||
|
||||
Example:
|
||||
interrupt-controller@1070100000000 {
|
||||
compatible = "cavium,octeon-6880-ciu2";
|
||||
interrupt-controller;
|
||||
/* Interrupts are specified by two parts:
|
||||
* 1) Controller register (0..63)
|
||||
* 2) Bit within the register (0..63)
|
||||
*/
|
||||
#address-cells = <0>;
|
||||
#interrupt-cells = <2>;
|
||||
reg = <0x10701 0x00000000 0x0 0x4000000>;
|
||||
};
|
27
bindings/mips/cavium/ciu3.txt
Normal file
27
bindings/mips/cavium/ciu3.txt
Normal file
@@ -0,0 +1,27 @@
|
||||
* Central Interrupt Unit v3
|
||||
|
||||
Properties:
|
||||
- compatible: "cavium,octeon-7890-ciu3"
|
||||
|
||||
Compatibility with 78XX and 73XX SOCs.
|
||||
|
||||
- interrupt-controller: This is an interrupt controller.
|
||||
|
||||
- reg: The base address of the CIU's register bank.
|
||||
|
||||
- #interrupt-cells: Must be <2>. The first cell is source number.
|
||||
The second cell indicates the triggering semantics, and may have a
|
||||
value of either 4 for level semantics, or 1 for edge semantics.
|
||||
|
||||
Example:
|
||||
interrupt-controller@1010000000000 {
|
||||
compatible = "cavium,octeon-7890-ciu3";
|
||||
interrupt-controller;
|
||||
/* Interrupts are specified by two parts:
|
||||
* 1) Source number (20 significant bits)
|
||||
* 2) Trigger type: (4 == level, 1 == edge)
|
||||
*/
|
||||
#address-cells = <0>;
|
||||
#interrupt-cells = <2>;
|
||||
reg = <0x10100 0x00000000 0x0 0xb0000000>;
|
||||
};
|
21
bindings/mips/cavium/dma-engine.txt
Normal file
21
bindings/mips/cavium/dma-engine.txt
Normal file
@@ -0,0 +1,21 @@
|
||||
* DMA Engine.
|
||||
|
||||
The Octeon DMA Engine transfers between the Boot Bus and main memory.
|
||||
The DMA Engine will be referred to by phandle by any device that is
|
||||
connected to it.
|
||||
|
||||
Properties:
|
||||
- compatible: "cavium,octeon-5750-bootbus-dma"
|
||||
|
||||
Compatibility with all cn52XX, cn56XX and cn6XXX SOCs.
|
||||
|
||||
- reg: The base address of the DMA Engine's register bank.
|
||||
|
||||
- interrupts: A single interrupt specifier.
|
||||
|
||||
Example:
|
||||
dma0: dma-engine@1180000000100 {
|
||||
compatible = "cavium,octeon-5750-bootbus-dma";
|
||||
reg = <0x11800 0x00000100 0x0 0x8>;
|
||||
interrupts = <0 63>;
|
||||
};
|
42
bindings/mips/cavium/sata-uctl.txt
Normal file
42
bindings/mips/cavium/sata-uctl.txt
Normal file
@@ -0,0 +1,42 @@
|
||||
* UCTL SATA controller glue
|
||||
|
||||
UCTL is the bridge unit between the I/O interconnect (an internal bus)
|
||||
and the SATA AHCI host controller (UAHC). It performs the following functions:
|
||||
- provides interfaces for the applications to access the UAHC AHCI
|
||||
registers on the CN71XX I/O space.
|
||||
- provides a bridge for UAHC to fetch AHCI command table entries and data
|
||||
buffers from Level 2 Cache.
|
||||
- posts interrupts to the CIU.
|
||||
- contains registers that:
|
||||
- control the behavior of the UAHC
|
||||
- control the clock/reset generation to UAHC
|
||||
- control endian swapping for all UAHC registers and DMA accesses
|
||||
|
||||
Properties:
|
||||
|
||||
- compatible: "cavium,octeon-7130-sata-uctl"
|
||||
|
||||
Compatibility with the cn7130 SOC.
|
||||
|
||||
- reg: The base address of the UCTL register bank.
|
||||
|
||||
- #address-cells, #size-cells, ranges and dma-ranges must be present and hold
|
||||
suitable values to map all child nodes.
|
||||
|
||||
Example:
|
||||
|
||||
uctl@118006c000000 {
|
||||
compatible = "cavium,octeon-7130-sata-uctl";
|
||||
reg = <0x11800 0x6c000000 0x0 0x100>;
|
||||
ranges; /* Direct mapping */
|
||||
dma-ranges;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
sata: sata@16c0000000000 {
|
||||
compatible = "cavium,octeon-7130-ahci";
|
||||
reg = <0x16c00 0x00000000 0x0 0x200>;
|
||||
interrupt-parent = <&cibsata>;
|
||||
interrupts = <2 4>; /* Bit: 2, level */
|
||||
};
|
||||
};
|
46
bindings/mips/cavium/uctl.txt
Normal file
46
bindings/mips/cavium/uctl.txt
Normal file
@@ -0,0 +1,46 @@
|
||||
* UCTL USB controller glue
|
||||
|
||||
Properties:
|
||||
- compatible: "cavium,octeon-6335-uctl"
|
||||
|
||||
Compatibility with all cn6XXX SOCs.
|
||||
|
||||
- reg: The base address of the UCTL register bank.
|
||||
|
||||
- #address-cells: Must be <2>.
|
||||
|
||||
- #size-cells: Must be <2>.
|
||||
|
||||
- ranges: Empty to signify direct mapping of the children.
|
||||
|
||||
- refclk-frequency: A single cell containing the reference clock
|
||||
frequency in Hz.
|
||||
|
||||
- refclk-type: A string describing the reference clock connection
|
||||
either "crystal" or "external".
|
||||
|
||||
Example:
|
||||
uctl@118006f000000 {
|
||||
compatible = "cavium,octeon-6335-uctl";
|
||||
reg = <0x11800 0x6f000000 0x0 0x100>;
|
||||
ranges; /* Direct mapping */
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
/* 12MHz, 24MHz and 48MHz allowed */
|
||||
refclk-frequency = <24000000>;
|
||||
/* Either "crystal" or "external" */
|
||||
refclk-type = "crystal";
|
||||
|
||||
ehci@16f0000000000 {
|
||||
compatible = "cavium,octeon-6335-ehci","usb-ehci";
|
||||
reg = <0x16f00 0x00000000 0x0 0x100>;
|
||||
interrupts = <0 56>;
|
||||
big-endian-regs;
|
||||
};
|
||||
ohci@16f0000000400 {
|
||||
compatible = "cavium,octeon-6335-ohci","usb-ohci";
|
||||
reg = <0x16f00 0x00000400 0x0 0x100>;
|
||||
interrupts = <0 56>;
|
||||
big-endian-regs;
|
||||
};
|
||||
};
|
115
bindings/mips/cpus.yaml
Normal file
115
bindings/mips/cpus.yaml
Normal file
@@ -0,0 +1,115 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mips/cpus.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: MIPS CPUs bindings
|
||||
|
||||
maintainers:
|
||||
- Thomas Bogendoerfer <tsbogend@alpha.franken.de>
|
||||
- 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>
|
||||
|
||||
description: |
|
||||
The device tree allows to describe the layout of CPUs in a system through
|
||||
the "cpus" node, which in turn contains a number of subnodes (ie "cpu")
|
||||
defining properties for every CPU.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- brcm,bmips3300
|
||||
- brcm,bmips4350
|
||||
- brcm,bmips4380
|
||||
- brcm,bmips5000
|
||||
- brcm,bmips5200
|
||||
- ingenic,xburst-mxu1.0
|
||||
- ingenic,xburst-fpu1.0-mxu1.1
|
||||
- ingenic,xburst-fpu2.0-mxu2.0
|
||||
- ingenic,xburst2-fpu2.1-mxu2.1-smt
|
||||
- loongson,gs264
|
||||
- mips,m14Kc
|
||||
- mips,mips4Kc
|
||||
- mips,mips4KEc
|
||||
- mips,mips24Kc
|
||||
- mips,mips24KEc
|
||||
- mips,mips74Kc
|
||||
- mips,mips1004Kc
|
||||
- mti,interaptiv
|
||||
- mti,mips24KEc
|
||||
- mti,mips14KEc
|
||||
- mti,mips14Kc
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
device_type: true
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- ingenic,xburst-mxu1.0
|
||||
- ingenic,xburst-fpu1.0-mxu1.1
|
||||
- ingenic,xburst-fpu2.0-mxu2.0
|
||||
- ingenic,xburst2-fpu2.1-mxu2.1-smt
|
||||
then:
|
||||
required:
|
||||
- device_type
|
||||
- clocks
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
cpus {
|
||||
#size-cells = <0>;
|
||||
#address-cells = <1>;
|
||||
|
||||
cpu@0 {
|
||||
compatible = "mips,mips1004Kc";
|
||||
device_type = "cpu";
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
cpu@1 {
|
||||
compatible = "mips,mips1004Kc";
|
||||
device_type = "cpu";
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
- |
|
||||
// Example 2 (Ingenic CPU)
|
||||
#include <dt-bindings/clock/ingenic,jz4780-cgu.h>
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cpu@0 {
|
||||
compatible = "ingenic,xburst-fpu1.0-mxu1.1";
|
||||
device_type = "cpu";
|
||||
reg = <0>;
|
||||
|
||||
clocks = <&cgu JZ4780_CLK_CPU>;
|
||||
};
|
||||
|
||||
cpu@1 {
|
||||
compatible = "ingenic,xburst-fpu1.0-mxu1.1";
|
||||
device_type = "cpu";
|
||||
reg = <1>;
|
||||
|
||||
clocks = <&cgu JZ4780_CLK_CORE1>;
|
||||
};
|
||||
};
|
||||
...
|
10
bindings/mips/img/pistachio-marduk.txt
Normal file
10
bindings/mips/img/pistachio-marduk.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
Imagination Technologies' Pistachio SoC based Marduk Board
|
||||
==========================================================
|
||||
|
||||
Compatible string must be "img,pistachio-marduk", "img,pistachio"
|
||||
|
||||
Hardware and other related documentation is available at
|
||||
https://docs.creatordev.io/ci40/
|
||||
|
||||
It is also known as Creator Ci40. Marduk is legacy name and will
|
||||
be there for decades.
|
42
bindings/mips/img/pistachio.txt
Normal file
42
bindings/mips/img/pistachio.txt
Normal file
@@ -0,0 +1,42 @@
|
||||
Imagination Pistachio SoC
|
||||
=========================
|
||||
|
||||
Required properties:
|
||||
--------------------
|
||||
- compatible: Must include "img,pistachio".
|
||||
|
||||
CPU nodes:
|
||||
----------
|
||||
A "cpus" node is required. Required properties:
|
||||
- #address-cells: Must be 1.
|
||||
- #size-cells: Must be 0.
|
||||
A CPU sub-node is also required for at least CPU 0. Since the topology may
|
||||
be probed via CPS, it is not necessary to specify secondary CPUs. Required
|
||||
propertis:
|
||||
- device_type: Must be "cpu".
|
||||
- compatible: Must be "mti,interaptiv".
|
||||
- reg: CPU number.
|
||||
- clocks: Must include the CPU clock. See ../../clock/clock-bindings.txt for
|
||||
details on clock bindings.
|
||||
Example:
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cpu0: cpu@0 {
|
||||
device_type = "cpu";
|
||||
compatible = "mti,interaptiv";
|
||||
reg = <0>;
|
||||
clocks = <&clk_core CLK_MIPS>;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
Boot protocol:
|
||||
--------------
|
||||
In accordance with the MIPS UHI specification[1], the bootloader must pass the
|
||||
following arguments to the kernel:
|
||||
- $a0: -2.
|
||||
- $a1: KSEG0 address of the flattened device-tree blob.
|
||||
|
||||
[1] http://prplfoundation.org/wiki/MIPS_documentation
|
83
bindings/mips/img/xilfpga.txt
Normal file
83
bindings/mips/img/xilfpga.txt
Normal file
@@ -0,0 +1,83 @@
|
||||
Imagination University Program MIPSfpga
|
||||
=======================================
|
||||
|
||||
Under the Imagination University Program, a microAptiv UP core has been
|
||||
released for academic usage.
|
||||
|
||||
As we are dealing with a MIPS core instantiated on an FPGA, specifications
|
||||
are fluid and can be varied in RTL.
|
||||
|
||||
This binding document is provided as baseline guidance for the example
|
||||
project provided by IMG.
|
||||
|
||||
The example project runs on the Nexys4DDR board by Digilent powered by
|
||||
the ARTIX-7 FPGA by Xilinx.
|
||||
|
||||
Relevant details about the example project and the Nexys4DDR board:
|
||||
|
||||
- microAptiv UP core m14Kc
|
||||
- 50MHz clock speed
|
||||
- 128Mbyte DDR RAM at 0x0000_0000
|
||||
- 8Kbyte RAM at 0x1000_0000
|
||||
- axi_intc at 0x1020_0000
|
||||
- axi_uart16550 at 0x1040_0000
|
||||
- axi_gpio at 0x1060_0000
|
||||
- axi_i2c at 0x10A0_0000
|
||||
- custom_gpio at 0x10C0_0000
|
||||
- axi_ethernetlite at 0x10E0_0000
|
||||
- 8Kbyte BootRAM at 0x1FC0_0000
|
||||
|
||||
Required properties:
|
||||
--------------------
|
||||
- compatible: Must include "digilent,nexys4ddr","img,xilfpga".
|
||||
|
||||
CPU nodes:
|
||||
----------
|
||||
A "cpus" node is required. Required properties:
|
||||
- #address-cells: Must be 1.
|
||||
- #size-cells: Must be 0.
|
||||
A CPU sub-node is also required for at least CPU 0. Required properties:
|
||||
- device_type: Must be "cpu".
|
||||
- compatible: Must be "mips,m14Kc".
|
||||
- reg: Must be <0>.
|
||||
- clocks: phandle to ext clock for fixed-clock received by MIPS core.
|
||||
|
||||
Example:
|
||||
|
||||
compatible = "img,xilfpga","digilent,nexys4ddr";
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cpu0: cpu@0 {
|
||||
device_type = "cpu";
|
||||
compatible = "mips,m14Kc";
|
||||
reg = <0>;
|
||||
clocks = <&ext>;
|
||||
};
|
||||
};
|
||||
|
||||
ext: ext {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <50000000>;
|
||||
};
|
||||
|
||||
Boot protocol:
|
||||
--------------
|
||||
|
||||
The BootRAM is a writeable "RAM" in FPGA at 0x1FC0_0000.
|
||||
This is for easy reprogrammibility via JTAG.
|
||||
|
||||
The BootRAM initializes the cache and the axi_uart peripheral.
|
||||
|
||||
DDR initialization is already handled by a HW IP block.
|
||||
|
||||
When the example project bitstream is loaded, the cpu_reset button
|
||||
needs to be pressed.
|
||||
|
||||
The bootram initializes the cache and axi_uart.
|
||||
Then outputs MIPSFPGA\n\r on the serial port on the Nexys4DDR board.
|
||||
|
||||
At this point, the board is ready to load the Linux kernel
|
||||
vmlinux file via JTAG.
|
58
bindings/mips/ingenic/devices.yaml
Normal file
58
bindings/mips/ingenic/devices.yaml
Normal file
@@ -0,0 +1,58 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mips/ingenic/devices.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Ingenic XBurst based Platforms Device Tree Bindings
|
||||
|
||||
maintainers:
|
||||
- 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>
|
||||
|
||||
description:
|
||||
Devices with a Ingenic XBurst CPU shall have the following properties.
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
const: '/'
|
||||
compatible:
|
||||
oneOf:
|
||||
|
||||
- description: Qi Hardware Ben NanoNote
|
||||
items:
|
||||
- const: qi,lb60
|
||||
- const: ingenic,jz4740
|
||||
|
||||
- description: YLM RetroMini RS-90
|
||||
items:
|
||||
- const: ylm,rs90
|
||||
- const: ingenic,jz4725b
|
||||
|
||||
- description: Game Consoles Worldwide GCW Zero
|
||||
items:
|
||||
- const: gcw,zero
|
||||
- const: ingenic,jz4770
|
||||
|
||||
- description: MIPS Creator CI20
|
||||
items:
|
||||
- const: img,ci20
|
||||
- const: ingenic,jz4780
|
||||
|
||||
- description: YSH & ATIL General Board, CU1000 Module with Neo Backplane
|
||||
items:
|
||||
- const: yna,cu1000-neo
|
||||
- const: ingenic,x1000e
|
||||
|
||||
- description: YSH & ATIL General Board, CU1830 Module with Neo Backplane
|
||||
items:
|
||||
- const: yna,cu1830-neo
|
||||
- const: ingenic,x1830
|
||||
|
||||
- description: YSH & ATIL General Board, CU2000 Module with Neo Backplane
|
||||
items:
|
||||
- const: yna,cu2000-neo
|
||||
- const: ingenic,x2000e
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
...
|
31
bindings/mips/lantiq/fpi-bus.txt
Normal file
31
bindings/mips/lantiq/fpi-bus.txt
Normal file
@@ -0,0 +1,31 @@
|
||||
Lantiq XWAY SoC FPI BUS binding
|
||||
============================
|
||||
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Required properties:
|
||||
- compatible : Should be one of
|
||||
"lantiq,xrx200-fpi"
|
||||
- reg : The address and length of the XBAR
|
||||
configuration register.
|
||||
Address and length of the FPI bus itself.
|
||||
- lantiq,rcu : A phandle to the RCU syscon
|
||||
- lantiq,offset-endianness : Offset of the endianness configuration
|
||||
register
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Example for the FPI on the xrx200 SoCs:
|
||||
fpi@10000000 {
|
||||
compatible = "lantiq,xrx200-fpi";
|
||||
ranges = <0x0 0x10000000 0xf000000>;
|
||||
reg = <0x1f400000 0x1000>,
|
||||
<0x10000000 0xf000000>;
|
||||
lantiq,rcu = <&rcu0>;
|
||||
lantiq,offset-endianness = <0x4c>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
gptu@e100a00 {
|
||||
......
|
||||
};
|
||||
};
|
32
bindings/mips/lantiq/lantiq,cgu.yaml
Normal file
32
bindings/mips/lantiq/lantiq,cgu.yaml
Normal file
@@ -0,0 +1,32 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mips/lantiq/lantiq,cgu.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Lantiq Xway SoC series Clock Generation Unit (CGU)
|
||||
|
||||
maintainers:
|
||||
- John Crispin <john@phrozen.org>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
- enum:
|
||||
- lantiq,cgu-xway
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
cgu@103000 {
|
||||
compatible = "lantiq,cgu-xway";
|
||||
reg = <0x103000 0x1000>;
|
||||
};
|
32
bindings/mips/lantiq/lantiq,dma-xway.yaml
Normal file
32
bindings/mips/lantiq/lantiq,dma-xway.yaml
Normal file
@@ -0,0 +1,32 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mips/lantiq/lantiq,dma-xway.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Lantiq Xway SoCs DMA Controller DT bindings
|
||||
|
||||
maintainers:
|
||||
- John Crispin <john@phrozen.org>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
- enum:
|
||||
- lantiq,dma-xway
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
dma@e104100 {
|
||||
compatible = "lantiq,dma-xway";
|
||||
reg = <0xe104100 0x800>;
|
||||
};
|
32
bindings/mips/lantiq/lantiq,ebu.yaml
Normal file
32
bindings/mips/lantiq/lantiq,ebu.yaml
Normal file
@@ -0,0 +1,32 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mips/lantiq/lantiq,ebu.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Lantiq Xway SoC series External Bus Unit (EBU)
|
||||
|
||||
maintainers:
|
||||
- John Crispin <john@phrozen.org>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
- enum:
|
||||
- lantiq,ebu-xway
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
ebu@105300 {
|
||||
compatible = "lantiq,ebu-xway";
|
||||
reg = <0x105300 0x100>;
|
||||
};
|
32
bindings/mips/lantiq/lantiq,pmu.yaml
Normal file
32
bindings/mips/lantiq/lantiq,pmu.yaml
Normal file
@@ -0,0 +1,32 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mips/lantiq/lantiq,pmu.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Lantiq Xway SoC series Power Management Unit (PMU)
|
||||
|
||||
maintainers:
|
||||
- John Crispin <john@phrozen.org>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
- enum:
|
||||
- lantiq,pmu-xway
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
pmu@102000 {
|
||||
compatible = "lantiq,pmu-xway";
|
||||
reg = <0x102000 0x1000>;
|
||||
};
|
69
bindings/mips/lantiq/rcu.txt
Normal file
69
bindings/mips/lantiq/rcu.txt
Normal file
@@ -0,0 +1,69 @@
|
||||
Lantiq XWAY SoC RCU binding
|
||||
===========================
|
||||
|
||||
This binding describes the RCU (reset controller unit) multifunction device,
|
||||
where each sub-device has its own set of registers.
|
||||
|
||||
The RCU register range is used for multiple purposes. Mostly one device
|
||||
uses one or multiple register exclusively, but for some registers some
|
||||
bits are for one driver and some other bits are for a different driver.
|
||||
With this patch all accesses to the RCU registers will go through
|
||||
syscon.
|
||||
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Required properties:
|
||||
- compatible : The first and second values must be:
|
||||
"lantiq,xrx200-rcu", "simple-mfd", "syscon"
|
||||
- reg : The address and length of the system control registers
|
||||
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Example of the RCU bindings on a xRX200 SoC:
|
||||
rcu0: rcu@203000 {
|
||||
compatible = "lantiq,xrx200-rcu", "simple-mfd", "syscon";
|
||||
reg = <0x203000 0x100>;
|
||||
ranges = <0x0 0x203000 0x100>;
|
||||
big-endian;
|
||||
|
||||
reset0: reset-controller@10 {
|
||||
compatible = "lantiq,xrx200-reset";
|
||||
reg = <0x10 4>, <0x14 4>;
|
||||
|
||||
#reset-cells = <2>;
|
||||
};
|
||||
|
||||
reset1: reset-controller@48 {
|
||||
compatible = "lantiq,xrx200-reset";
|
||||
reg = <0x48 4>, <0x24 4>;
|
||||
|
||||
#reset-cells = <2>;
|
||||
};
|
||||
|
||||
usb_phy0: usb2-phy@18 {
|
||||
compatible = "lantiq,xrx200-usb2-phy";
|
||||
reg = <0x18 4>, <0x38 4>;
|
||||
|
||||
resets = <&reset1 4 4>, <&reset0 4 4>;
|
||||
reset-names = "phy", "ctrl";
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
|
||||
usb_phy1: usb2-phy@34 {
|
||||
compatible = "lantiq,xrx200-usb2-phy";
|
||||
reg = <0x34 4>, <0x3C 4>;
|
||||
|
||||
resets = <&reset1 5 4>, <&reset0 4 4>;
|
||||
reset-names = "phy", "ctrl";
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
|
||||
reboot@10 {
|
||||
compatible = "syscon-reboot";
|
||||
reg = <0x10 4>;
|
||||
|
||||
regmap = <&rcu0>;
|
||||
offset = <0x10>;
|
||||
mask = <0x40000000>;
|
||||
};
|
||||
};
|
42
bindings/mips/loongson/devices.yaml
Normal file
42
bindings/mips/loongson/devices.yaml
Normal file
@@ -0,0 +1,42 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mips/loongson/devices.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Loongson based Platforms Device Tree Bindings
|
||||
|
||||
maintainers:
|
||||
- Jiaxun Yang <jiaxun.yang@flygoat.com>
|
||||
description: |
|
||||
Devices with a Loongson CPU shall have the following properties.
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
const: '/'
|
||||
compatible:
|
||||
oneOf:
|
||||
|
||||
- description: Classic Loongson64 Quad Core + LS7A
|
||||
items:
|
||||
- const: loongson,loongson64c-4core-ls7a
|
||||
|
||||
- description: Classic Loongson64 Quad Core + RS780E
|
||||
items:
|
||||
- const: loongson,loongson64c-4core-rs780e
|
||||
|
||||
- description: Classic Loongson64 Octa Core + RS780E
|
||||
items:
|
||||
- const: loongson,loongson64c-8core-rs780e
|
||||
|
||||
- description: Generic Loongson64 Quad Core + LS7A
|
||||
items:
|
||||
- const: loongson,loongson64g-4core-ls7a
|
||||
|
||||
- description: Virtual Loongson64 Quad Core + VirtIO
|
||||
items:
|
||||
- const: loongson,loongson64v-4core-virtio
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
...
|
38
bindings/mips/loongson/ls2k-reset.yaml
Normal file
38
bindings/mips/loongson/ls2k-reset.yaml
Normal file
@@ -0,0 +1,38 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: "http://devicetree.org/schemas/mips/loongson/ls2k-reset.yaml#"
|
||||
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||
|
||||
title: Loongson 2K1000 PM Controller
|
||||
|
||||
maintainers:
|
||||
- Qing Zhang <zhangqing@loongson.cn>
|
||||
|
||||
description: |
|
||||
This controller can be found in Loongson-2K1000 Soc systems.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: loongson,ls2k-pm
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
bus {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
pm: reset-controller@1fe07000 {
|
||||
compatible = "loongson,ls2k-pm";
|
||||
reg = <0 0x1fe07000 0 0x422>;
|
||||
};
|
||||
};
|
||||
...
|
42
bindings/mips/loongson/rs780e-acpi.yaml
Normal file
42
bindings/mips/loongson/rs780e-acpi.yaml
Normal file
@@ -0,0 +1,42 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: "http://devicetree.org/schemas/mips/loongson/rs780e-acpi.yaml#"
|
||||
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||
|
||||
title: Loongson RS780E PCH ACPI Controller
|
||||
|
||||
maintainers:
|
||||
- Jiaxun Yang <jiaxun.yang@flygoat.com>
|
||||
|
||||
description: |
|
||||
This controller can be found in Loongson-3 systems with RS780E PCH.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: loongson,rs780e-acpi
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
isa@0 {
|
||||
compatible = "isa";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
ranges = <1 0 0 0x1000>;
|
||||
|
||||
acpi@800 {
|
||||
compatible = "loongson,rs780e-acpi";
|
||||
reg = <1 0x800 0x100>;
|
||||
};
|
||||
};
|
||||
|
||||
...
|
59
bindings/mips/mscc.txt
Normal file
59
bindings/mips/mscc.txt
Normal file
@@ -0,0 +1,59 @@
|
||||
* Microsemi MIPS CPUs
|
||||
|
||||
Boards with a SoC of the Microsemi MIPS family shall have the following
|
||||
properties:
|
||||
|
||||
Required properties:
|
||||
- compatible: "mscc,ocelot", "mscc,luton", "mscc,serval" or "mscc,jr2"
|
||||
|
||||
|
||||
* Other peripherals:
|
||||
|
||||
o CPU chip regs:
|
||||
|
||||
The SoC has a few registers (DEVCPU_GCB:CHIP_REGS) handling miscellaneous
|
||||
functionalities: chip ID, general purpose register for software use, reset
|
||||
controller, hardware status and configuration, efuses.
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be "mscc,ocelot-chip-regs", "simple-mfd", "syscon"
|
||||
- reg : Should contain registers location and length
|
||||
|
||||
Example:
|
||||
syscon@71070000 {
|
||||
compatible = "mscc,ocelot-chip-regs", "simple-mfd", "syscon";
|
||||
reg = <0x71070000 0x1c>;
|
||||
};
|
||||
|
||||
|
||||
o CPU system control:
|
||||
|
||||
The SoC has a few registers (ICPU_CFG:CPU_SYSTEM_CTRL) handling configuration of
|
||||
the CPU: 8 general purpose registers, reset control, CPU en/disabling, CPU
|
||||
endianness, CPU bus control, CPU status.
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be "mscc,ocelot-cpu-syscon", "syscon"
|
||||
- reg : Should contain registers location and length
|
||||
|
||||
Example:
|
||||
syscon@70000000 {
|
||||
compatible = "mscc,ocelot-cpu-syscon", "syscon";
|
||||
reg = <0x70000000 0x2c>;
|
||||
};
|
||||
|
||||
o HSIO regs:
|
||||
|
||||
The SoC has a few registers (HSIO) handling miscellaneous functionalities:
|
||||
configuration and status of PLL5, RCOMP, SyncE, SerDes configurations and
|
||||
status, SerDes muxing and a thermal sensor.
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be "mscc,ocelot-hsio", "syscon", "simple-mfd"
|
||||
- reg : Should contain registers location and length
|
||||
|
||||
Example:
|
||||
syscon@10d0000 {
|
||||
compatible = "mscc,ocelot-hsio", "syscon", "simple-mfd";
|
||||
reg = <0x10d0000 0x10000>;
|
||||
};
|
7
bindings/mips/ni.txt
Normal file
7
bindings/mips/ni.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
National Instruments MIPS platforms
|
||||
|
||||
required root node properties:
|
||||
- compatible: must be "ni,169445"
|
||||
|
||||
CPU Nodes
|
||||
- compatible: must be "mti,mips14KEc"
|
31
bindings/mips/pic32/microchip,pic32mzda.txt
Normal file
31
bindings/mips/pic32/microchip,pic32mzda.txt
Normal file
@@ -0,0 +1,31 @@
|
||||
* Microchip PIC32MZDA Platforms
|
||||
|
||||
PIC32MZDA Starter Kit
|
||||
Required root node properties:
|
||||
- compatible = "microchip,pic32mzda-sk", "microchip,pic32mzda"
|
||||
|
||||
CPU nodes:
|
||||
----------
|
||||
A "cpus" node is required. Required properties:
|
||||
- #address-cells: Must be 1.
|
||||
- #size-cells: Must be 0.
|
||||
A CPU sub-node is also required. Required properties:
|
||||
- device_type: Must be "cpu".
|
||||
- compatible: Must be "mti,mips14KEc".
|
||||
Example:
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cpu0: cpu@0 {
|
||||
device_type = "cpu";
|
||||
compatible = "mti,mips14KEc";
|
||||
};
|
||||
};
|
||||
|
||||
Boot protocol
|
||||
--------------
|
||||
In accordance with Unified Hosting Interface Reference Manual (MD01069), the
|
||||
bootloader must pass the following arguments to the kernel:
|
||||
- $a0: -2.
|
||||
- $a1: KSEG0 address of the flattened device-tree blob.
|
87
bindings/mips/ralink.yaml
Normal file
87
bindings/mips/ralink.yaml
Normal file
@@ -0,0 +1,87 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mips/ralink.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Ralink SoC based Platforms
|
||||
|
||||
maintainers:
|
||||
- Sergio Paracuellos <sergio.paracuellos@gmail.com>
|
||||
|
||||
description: |
|
||||
Boards with a Ralink SoC shall have the following properties.
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
const: '/'
|
||||
compatible:
|
||||
oneOf:
|
||||
- description: Boards with Ralink RT2880 SoC
|
||||
items:
|
||||
- enum:
|
||||
- ralink,rt2880-eval-board
|
||||
- const: ralink,rt2880-soc
|
||||
|
||||
- description: Boards with Ralink RT3050 SoC
|
||||
items:
|
||||
- const: ralink,rt3050-soc
|
||||
|
||||
- description: Boards with Ralink RT3052 SoC
|
||||
items:
|
||||
- enum:
|
||||
- ralink,rt3052-eval-board
|
||||
- const: ralink,rt3052-soc
|
||||
|
||||
- description: Boards with Ralink RT3350 SoC
|
||||
items:
|
||||
- const: ralink,rt3350-soc
|
||||
|
||||
- description: Boards with Ralink RT3352 SoC
|
||||
items:
|
||||
- const: ralink,rt3352-soc
|
||||
|
||||
- description: Boards with Ralink RT3383 SoC
|
||||
items:
|
||||
- enum:
|
||||
- ralink,rt3883-eval-board
|
||||
- const: ralink,rt3383-soc
|
||||
|
||||
- description: Boards with Ralink RT5350 SoC
|
||||
items:
|
||||
- const: ralink,rt5350-soc
|
||||
|
||||
- description: Boards with Mediatek/Ralink MT7620A SoC
|
||||
items:
|
||||
- enum:
|
||||
- ralink,mt7620a-eval-board
|
||||
- const: ralink,mt7620a-soc
|
||||
|
||||
- description: Boards with Mediatek/Ralink MT7620N SoC
|
||||
items:
|
||||
- const: ralink,mt7620n-soc
|
||||
|
||||
- description: Boards with Mediatek/Ralink MT7628A SoC
|
||||
items:
|
||||
- enum:
|
||||
- onion,omega2+
|
||||
- vocore,vocore2
|
||||
- const: ralink,mt7628a-soc
|
||||
|
||||
- description: Boards with Mediatek/Ralink MT7688A SoC
|
||||
items:
|
||||
- enum:
|
||||
- gardena,smart-gateway-mt7688
|
||||
- onion,omega2+
|
||||
- const: ralink,mt7628a-soc
|
||||
|
||||
- description: Boards with Mediatek/Ralink MT7621 SoC
|
||||
items:
|
||||
- enum:
|
||||
- gnubee,gb-pc1
|
||||
- gnubee,gb-pc2
|
||||
- const: mediatek,mt7621-soc
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
...
|
24
bindings/mips/realtek-rtl.yaml
Normal file
24
bindings/mips/realtek-rtl.yaml
Normal file
@@ -0,0 +1,24 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mips/realtek-rtl.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Realtek RTL83xx/93xx SoC series
|
||||
|
||||
maintainers:
|
||||
- Bert Vermeulen <bert@biot.com>
|
||||
- Sander Vanheule <sander@svanheule.net>
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
const: "/"
|
||||
compatible:
|
||||
oneOf:
|
||||
# RTL8382-based boards
|
||||
- items:
|
||||
- enum:
|
||||
- cisco,sg220-26
|
||||
- const: realtek,rtl8382-soc
|
||||
|
||||
additionalProperties: true
|
Reference in New Issue
Block a user