1ec85362fSEmil Renner Berthing// SPDX-License-Identifier: GPL-2.0 OR MIT 2ec85362fSEmil Renner Berthing/* 3ec85362fSEmil Renner Berthing * Copyright (C) 2021 StarFive Technology Co., Ltd. 4ec85362fSEmil Renner Berthing * Copyright (C) 2021 Emil Renner Berthing <kernel@esmil.dk> 5ec85362fSEmil Renner Berthing */ 6ec85362fSEmil Renner Berthing 7ec85362fSEmil Renner Berthing/dts-v1/; 8ec85362fSEmil Renner Berthing#include <dt-bindings/clock/starfive-jh7100.h> 9ec85362fSEmil Renner Berthing#include <dt-bindings/reset/starfive-jh7100.h> 10ec85362fSEmil Renner Berthing 11ec85362fSEmil Renner Berthing/ { 12ec85362fSEmil Renner Berthing compatible = "starfive,jh7100"; 13ec85362fSEmil Renner Berthing #address-cells = <2>; 14ec85362fSEmil Renner Berthing #size-cells = <2>; 15ec85362fSEmil Renner Berthing 16ec85362fSEmil Renner Berthing cpus { 17ec85362fSEmil Renner Berthing #address-cells = <1>; 18ec85362fSEmil Renner Berthing #size-cells = <0>; 19ec85362fSEmil Renner Berthing 20ef09fa67SJonas Hahnfeld U74_0: cpu@0 { 21ec85362fSEmil Renner Berthing compatible = "sifive,u74-mc", "riscv"; 22ec85362fSEmil Renner Berthing reg = <0>; 23ec85362fSEmil Renner Berthing d-cache-block-size = <64>; 24ec85362fSEmil Renner Berthing d-cache-sets = <64>; 25ec85362fSEmil Renner Berthing d-cache-size = <32768>; 26ec85362fSEmil Renner Berthing d-tlb-sets = <1>; 27ec85362fSEmil Renner Berthing d-tlb-size = <32>; 28ec85362fSEmil Renner Berthing device_type = "cpu"; 29ec85362fSEmil Renner Berthing i-cache-block-size = <64>; 30ec85362fSEmil Renner Berthing i-cache-sets = <64>; 31ec85362fSEmil Renner Berthing i-cache-size = <32768>; 32ec85362fSEmil Renner Berthing i-tlb-sets = <1>; 33ec85362fSEmil Renner Berthing i-tlb-size = <32>; 34ec85362fSEmil Renner Berthing mmu-type = "riscv,sv39"; 35ec85362fSEmil Renner Berthing riscv,isa = "rv64imafdc"; 36ec85362fSEmil Renner Berthing tlb-split; 37ec85362fSEmil Renner Berthing 38ec85362fSEmil Renner Berthing cpu0_intc: interrupt-controller { 39ec85362fSEmil Renner Berthing compatible = "riscv,cpu-intc"; 40ec85362fSEmil Renner Berthing interrupt-controller; 41ec85362fSEmil Renner Berthing #interrupt-cells = <1>; 42ec85362fSEmil Renner Berthing }; 43ec85362fSEmil Renner Berthing }; 44ec85362fSEmil Renner Berthing 45ef09fa67SJonas Hahnfeld U74_1: cpu@1 { 46ec85362fSEmil Renner Berthing compatible = "sifive,u74-mc", "riscv"; 47ec85362fSEmil Renner Berthing reg = <1>; 48ec85362fSEmil Renner Berthing d-cache-block-size = <64>; 49ec85362fSEmil Renner Berthing d-cache-sets = <64>; 50ec85362fSEmil Renner Berthing d-cache-size = <32768>; 51ec85362fSEmil Renner Berthing d-tlb-sets = <1>; 52ec85362fSEmil Renner Berthing d-tlb-size = <32>; 53ec85362fSEmil Renner Berthing device_type = "cpu"; 54ec85362fSEmil Renner Berthing i-cache-block-size = <64>; 55ec85362fSEmil Renner Berthing i-cache-sets = <64>; 56ec85362fSEmil Renner Berthing i-cache-size = <32768>; 57ec85362fSEmil Renner Berthing i-tlb-sets = <1>; 58ec85362fSEmil Renner Berthing i-tlb-size = <32>; 59ec85362fSEmil Renner Berthing mmu-type = "riscv,sv39"; 60ec85362fSEmil Renner Berthing riscv,isa = "rv64imafdc"; 61ec85362fSEmil Renner Berthing tlb-split; 62ec85362fSEmil Renner Berthing 63ec85362fSEmil Renner Berthing cpu1_intc: interrupt-controller { 64ec85362fSEmil Renner Berthing compatible = "riscv,cpu-intc"; 65ec85362fSEmil Renner Berthing interrupt-controller; 66ec85362fSEmil Renner Berthing #interrupt-cells = <1>; 67ec85362fSEmil Renner Berthing }; 68ec85362fSEmil Renner Berthing }; 69ef09fa67SJonas Hahnfeld 70ef09fa67SJonas Hahnfeld cpu-map { 71ef09fa67SJonas Hahnfeld cluster0 { 72ef09fa67SJonas Hahnfeld core0 { 73ef09fa67SJonas Hahnfeld cpu = <&U74_0>; 74ef09fa67SJonas Hahnfeld }; 75ef09fa67SJonas Hahnfeld 76ef09fa67SJonas Hahnfeld core1 { 77ef09fa67SJonas Hahnfeld cpu = <&U74_1>; 78ef09fa67SJonas Hahnfeld }; 79ef09fa67SJonas Hahnfeld }; 80ef09fa67SJonas Hahnfeld }; 81ec85362fSEmil Renner Berthing }; 82ec85362fSEmil Renner Berthing 83ec85362fSEmil Renner Berthing osc_sys: osc_sys { 84ec85362fSEmil Renner Berthing compatible = "fixed-clock"; 85ec85362fSEmil Renner Berthing #clock-cells = <0>; 86ec85362fSEmil Renner Berthing /* This value must be overridden by the board */ 87ec85362fSEmil Renner Berthing clock-frequency = <0>; 88ec85362fSEmil Renner Berthing }; 89ec85362fSEmil Renner Berthing 90ec85362fSEmil Renner Berthing osc_aud: osc_aud { 91ec85362fSEmil Renner Berthing compatible = "fixed-clock"; 92ec85362fSEmil Renner Berthing #clock-cells = <0>; 93ec85362fSEmil Renner Berthing /* This value must be overridden by the board */ 94ec85362fSEmil Renner Berthing clock-frequency = <0>; 95ec85362fSEmil Renner Berthing }; 96ec85362fSEmil Renner Berthing 97ec85362fSEmil Renner Berthing gmac_rmii_ref: gmac_rmii_ref { 98ec85362fSEmil Renner Berthing compatible = "fixed-clock"; 99ec85362fSEmil Renner Berthing #clock-cells = <0>; 100ec85362fSEmil Renner Berthing /* Should be overridden by the board when needed */ 101ec85362fSEmil Renner Berthing clock-frequency = <0>; 102ec85362fSEmil Renner Berthing }; 103ec85362fSEmil Renner Berthing 104ec85362fSEmil Renner Berthing gmac_gr_mii_rxclk: gmac_gr_mii_rxclk { 105ec85362fSEmil Renner Berthing compatible = "fixed-clock"; 106ec85362fSEmil Renner Berthing #clock-cells = <0>; 107ec85362fSEmil Renner Berthing /* Should be overridden by the board when needed */ 108ec85362fSEmil Renner Berthing clock-frequency = <0>; 109ec85362fSEmil Renner Berthing }; 110ec85362fSEmil Renner Berthing 111ec85362fSEmil Renner Berthing soc { 112ec85362fSEmil Renner Berthing compatible = "simple-bus"; 113ec85362fSEmil Renner Berthing interrupt-parent = <&plic>; 114ec85362fSEmil Renner Berthing #address-cells = <2>; 115ec85362fSEmil Renner Berthing #size-cells = <2>; 116ec85362fSEmil Renner Berthing ranges; 117ec85362fSEmil Renner Berthing 118ec85362fSEmil Renner Berthing clint: clint@2000000 { 119ec85362fSEmil Renner Berthing compatible = "starfive,jh7100-clint", "sifive,clint0"; 120ec85362fSEmil Renner Berthing reg = <0x0 0x2000000 0x0 0x10000>; 121ec85362fSEmil Renner Berthing interrupts-extended = <&cpu0_intc 3 &cpu0_intc 7 122ec85362fSEmil Renner Berthing &cpu1_intc 3 &cpu1_intc 7>; 123ec85362fSEmil Renner Berthing }; 124ec85362fSEmil Renner Berthing 125ec85362fSEmil Renner Berthing plic: interrupt-controller@c000000 { 126ec85362fSEmil Renner Berthing compatible = "starfive,jh7100-plic", "sifive,plic-1.0.0"; 127ec85362fSEmil Renner Berthing reg = <0x0 0xc000000 0x0 0x4000000>; 128ec85362fSEmil Renner Berthing interrupts-extended = <&cpu0_intc 11 &cpu0_intc 9 129ec85362fSEmil Renner Berthing &cpu1_intc 11 &cpu1_intc 9>; 130ec85362fSEmil Renner Berthing interrupt-controller; 131ec85362fSEmil Renner Berthing #address-cells = <0>; 132ec85362fSEmil Renner Berthing #interrupt-cells = <1>; 133*a208acf0SMark Kettenis riscv,ndev = <133>; 134ec85362fSEmil Renner Berthing }; 135ec85362fSEmil Renner Berthing 136ec85362fSEmil Renner Berthing clkgen: clock-controller@11800000 { 137ec85362fSEmil Renner Berthing compatible = "starfive,jh7100-clkgen"; 138ec85362fSEmil Renner Berthing reg = <0x0 0x11800000 0x0 0x10000>; 139ec85362fSEmil Renner Berthing clocks = <&osc_sys>, <&osc_aud>, <&gmac_rmii_ref>, <&gmac_gr_mii_rxclk>; 140ec85362fSEmil Renner Berthing clock-names = "osc_sys", "osc_aud", "gmac_rmii_ref", "gmac_gr_mii_rxclk"; 141ec85362fSEmil Renner Berthing #clock-cells = <1>; 142ec85362fSEmil Renner Berthing }; 143ec85362fSEmil Renner Berthing 144ec85362fSEmil Renner Berthing rstgen: reset-controller@11840000 { 145ec85362fSEmil Renner Berthing compatible = "starfive,jh7100-reset"; 146ec85362fSEmil Renner Berthing reg = <0x0 0x11840000 0x0 0x10000>; 147ec85362fSEmil Renner Berthing #reset-cells = <1>; 148ec85362fSEmil Renner Berthing }; 149ec85362fSEmil Renner Berthing 150ec85362fSEmil Renner Berthing i2c0: i2c@118b0000 { 151ec85362fSEmil Renner Berthing compatible = "snps,designware-i2c"; 152ec85362fSEmil Renner Berthing reg = <0x0 0x118b0000 0x0 0x10000>; 153ec85362fSEmil Renner Berthing clocks = <&clkgen JH7100_CLK_I2C0_CORE>, 154ec85362fSEmil Renner Berthing <&clkgen JH7100_CLK_I2C0_APB>; 155ec85362fSEmil Renner Berthing clock-names = "ref", "pclk"; 156ec85362fSEmil Renner Berthing resets = <&rstgen JH7100_RSTN_I2C0_APB>; 157ec85362fSEmil Renner Berthing interrupts = <96>; 158ec85362fSEmil Renner Berthing #address-cells = <1>; 159ec85362fSEmil Renner Berthing #size-cells = <0>; 160ec85362fSEmil Renner Berthing status = "disabled"; 161ec85362fSEmil Renner Berthing }; 162ec85362fSEmil Renner Berthing 163ec85362fSEmil Renner Berthing i2c1: i2c@118c0000 { 164ec85362fSEmil Renner Berthing compatible = "snps,designware-i2c"; 165ec85362fSEmil Renner Berthing reg = <0x0 0x118c0000 0x0 0x10000>; 166ec85362fSEmil Renner Berthing clocks = <&clkgen JH7100_CLK_I2C1_CORE>, 167ec85362fSEmil Renner Berthing <&clkgen JH7100_CLK_I2C1_APB>; 168ec85362fSEmil Renner Berthing clock-names = "ref", "pclk"; 169ec85362fSEmil Renner Berthing resets = <&rstgen JH7100_RSTN_I2C1_APB>; 170ec85362fSEmil Renner Berthing interrupts = <97>; 171ec85362fSEmil Renner Berthing #address-cells = <1>; 172ec85362fSEmil Renner Berthing #size-cells = <0>; 173ec85362fSEmil Renner Berthing status = "disabled"; 174ec85362fSEmil Renner Berthing }; 175ec85362fSEmil Renner Berthing 176ec85362fSEmil Renner Berthing gpio: pinctrl@11910000 { 177ec85362fSEmil Renner Berthing compatible = "starfive,jh7100-pinctrl"; 178ec85362fSEmil Renner Berthing reg = <0x0 0x11910000 0x0 0x10000>, 179ec85362fSEmil Renner Berthing <0x0 0x11858000 0x0 0x1000>; 180ec85362fSEmil Renner Berthing reg-names = "gpio", "padctl"; 181ec85362fSEmil Renner Berthing clocks = <&clkgen JH7100_CLK_GPIO_APB>; 182ec85362fSEmil Renner Berthing resets = <&rstgen JH7100_RSTN_GPIO_APB>; 183ec85362fSEmil Renner Berthing interrupts = <32>; 184ec85362fSEmil Renner Berthing gpio-controller; 185ec85362fSEmil Renner Berthing #gpio-cells = <2>; 186ec85362fSEmil Renner Berthing interrupt-controller; 187ec85362fSEmil Renner Berthing #interrupt-cells = <2>; 188ec85362fSEmil Renner Berthing }; 189ec85362fSEmil Renner Berthing 190ec85362fSEmil Renner Berthing uart2: serial@12430000 { 191ec85362fSEmil Renner Berthing compatible = "starfive,jh7100-uart", "snps,dw-apb-uart"; 192ec85362fSEmil Renner Berthing reg = <0x0 0x12430000 0x0 0x10000>; 193ec85362fSEmil Renner Berthing clocks = <&clkgen JH7100_CLK_UART2_CORE>, 194ec85362fSEmil Renner Berthing <&clkgen JH7100_CLK_UART2_APB>; 195ec85362fSEmil Renner Berthing clock-names = "baudclk", "apb_pclk"; 196ec85362fSEmil Renner Berthing resets = <&rstgen JH7100_RSTN_UART2_APB>; 197ec85362fSEmil Renner Berthing interrupts = <72>; 198ec85362fSEmil Renner Berthing reg-io-width = <4>; 199ec85362fSEmil Renner Berthing reg-shift = <2>; 200ec85362fSEmil Renner Berthing status = "disabled"; 201ec85362fSEmil Renner Berthing }; 202ec85362fSEmil Renner Berthing 203ec85362fSEmil Renner Berthing uart3: serial@12440000 { 204ec85362fSEmil Renner Berthing compatible = "starfive,jh7100-uart", "snps,dw-apb-uart"; 205ec85362fSEmil Renner Berthing reg = <0x0 0x12440000 0x0 0x10000>; 206ec85362fSEmil Renner Berthing clocks = <&clkgen JH7100_CLK_UART3_CORE>, 207ec85362fSEmil Renner Berthing <&clkgen JH7100_CLK_UART3_APB>; 208ec85362fSEmil Renner Berthing clock-names = "baudclk", "apb_pclk"; 209ec85362fSEmil Renner Berthing resets = <&rstgen JH7100_RSTN_UART3_APB>; 210ec85362fSEmil Renner Berthing interrupts = <73>; 211ec85362fSEmil Renner Berthing reg-io-width = <4>; 212ec85362fSEmil Renner Berthing reg-shift = <2>; 213ec85362fSEmil Renner Berthing status = "disabled"; 214ec85362fSEmil Renner Berthing }; 215ec85362fSEmil Renner Berthing 216ec85362fSEmil Renner Berthing i2c2: i2c@12450000 { 217ec85362fSEmil Renner Berthing compatible = "snps,designware-i2c"; 218ec85362fSEmil Renner Berthing reg = <0x0 0x12450000 0x0 0x10000>; 219ec85362fSEmil Renner Berthing clocks = <&clkgen JH7100_CLK_I2C2_CORE>, 220ec85362fSEmil Renner Berthing <&clkgen JH7100_CLK_I2C2_APB>; 221ec85362fSEmil Renner Berthing clock-names = "ref", "pclk"; 222ec85362fSEmil Renner Berthing resets = <&rstgen JH7100_RSTN_I2C2_APB>; 223ec85362fSEmil Renner Berthing interrupts = <74>; 224ec85362fSEmil Renner Berthing #address-cells = <1>; 225ec85362fSEmil Renner Berthing #size-cells = <0>; 226ec85362fSEmil Renner Berthing status = "disabled"; 227ec85362fSEmil Renner Berthing }; 228ec85362fSEmil Renner Berthing 229ec85362fSEmil Renner Berthing i2c3: i2c@12460000 { 230ec85362fSEmil Renner Berthing compatible = "snps,designware-i2c"; 231ec85362fSEmil Renner Berthing reg = <0x0 0x12460000 0x0 0x10000>; 232ec85362fSEmil Renner Berthing clocks = <&clkgen JH7100_CLK_I2C3_CORE>, 233ec85362fSEmil Renner Berthing <&clkgen JH7100_CLK_I2C3_APB>; 234ec85362fSEmil Renner Berthing clock-names = "ref", "pclk"; 235ec85362fSEmil Renner Berthing resets = <&rstgen JH7100_RSTN_I2C3_APB>; 236ec85362fSEmil Renner Berthing interrupts = <75>; 237ec85362fSEmil Renner Berthing #address-cells = <1>; 238ec85362fSEmil Renner Berthing #size-cells = <0>; 239ec85362fSEmil Renner Berthing status = "disabled"; 240ec85362fSEmil Renner Berthing }; 241ec85362fSEmil Renner Berthing }; 242ec85362fSEmil Renner Berthing}; 243