162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ or MIT) 262306a36Sopenharmony_ci// Copyright (C) 2021-2022 Samuel Holland <samuel@sholland.org> 362306a36Sopenharmony_ci 462306a36Sopenharmony_ci#define SOC_PERIPHERAL_IRQ(nr) (nr + 16) 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#include "sunxi-d1s-t113.dtsi" 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci/ { 962306a36Sopenharmony_ci cpus { 1062306a36Sopenharmony_ci timebase-frequency = <24000000>; 1162306a36Sopenharmony_ci #address-cells = <1>; 1262306a36Sopenharmony_ci #size-cells = <0>; 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci cpu0: cpu@0 { 1562306a36Sopenharmony_ci compatible = "thead,c906", "riscv"; 1662306a36Sopenharmony_ci device_type = "cpu"; 1762306a36Sopenharmony_ci reg = <0>; 1862306a36Sopenharmony_ci clocks = <&ccu CLK_RISCV>; 1962306a36Sopenharmony_ci d-cache-block-size = <64>; 2062306a36Sopenharmony_ci d-cache-sets = <256>; 2162306a36Sopenharmony_ci d-cache-size = <32768>; 2262306a36Sopenharmony_ci i-cache-block-size = <64>; 2362306a36Sopenharmony_ci i-cache-sets = <128>; 2462306a36Sopenharmony_ci i-cache-size = <32768>; 2562306a36Sopenharmony_ci mmu-type = "riscv,sv39"; 2662306a36Sopenharmony_ci operating-points-v2 = <&opp_table_cpu>; 2762306a36Sopenharmony_ci riscv,isa = "rv64imafdc"; 2862306a36Sopenharmony_ci #cooling-cells = <2>; 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci cpu0_intc: interrupt-controller { 3162306a36Sopenharmony_ci compatible = "riscv,cpu-intc"; 3262306a36Sopenharmony_ci interrupt-controller; 3362306a36Sopenharmony_ci #interrupt-cells = <1>; 3462306a36Sopenharmony_ci }; 3562306a36Sopenharmony_ci }; 3662306a36Sopenharmony_ci }; 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci opp_table_cpu: opp-table-cpu { 3962306a36Sopenharmony_ci compatible = "operating-points-v2"; 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci opp-408000000 { 4262306a36Sopenharmony_ci opp-hz = /bits/ 64 <408000000>; 4362306a36Sopenharmony_ci opp-microvolt = <900000 900000 1100000>; 4462306a36Sopenharmony_ci }; 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci opp-1080000000 { 4762306a36Sopenharmony_ci opp-hz = /bits/ 64 <1008000000>; 4862306a36Sopenharmony_ci opp-microvolt = <900000 900000 1100000>; 4962306a36Sopenharmony_ci }; 5062306a36Sopenharmony_ci }; 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci soc { 5362306a36Sopenharmony_ci interrupt-parent = <&plic>; 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci riscv_wdt: watchdog@6011000 { 5662306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-wdt"; 5762306a36Sopenharmony_ci reg = <0x6011000 0x20>; 5862306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(131) IRQ_TYPE_LEVEL_HIGH>; 5962306a36Sopenharmony_ci clocks = <&dcxo>, <&rtc CLK_OSC32K>; 6062306a36Sopenharmony_ci clock-names = "hosc", "losc"; 6162306a36Sopenharmony_ci }; 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci plic: interrupt-controller@10000000 { 6462306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-plic", 6562306a36Sopenharmony_ci "thead,c900-plic"; 6662306a36Sopenharmony_ci reg = <0x10000000 0x4000000>; 6762306a36Sopenharmony_ci interrupts-extended = <&cpu0_intc 11>, 6862306a36Sopenharmony_ci <&cpu0_intc 9>; 6962306a36Sopenharmony_ci interrupt-controller; 7062306a36Sopenharmony_ci riscv,ndev = <175>; 7162306a36Sopenharmony_ci #address-cells = <0>; 7262306a36Sopenharmony_ci #interrupt-cells = <2>; 7362306a36Sopenharmony_ci }; 7462306a36Sopenharmony_ci }; 7562306a36Sopenharmony_ci}; 76