Tom Rini | 10e4779 | 2018-05-06 17:58:06 -0400 | [diff] [blame] | 1 | // SPDX-License-Identifier: GPL-2.0+ |
Alexey Brodkin | 88961bc | 2016-11-25 16:23:43 +0300 | [diff] [blame] | 2 | /* |
| 3 | * Copyright (C) 2017 Synopsys, Inc. All rights reserved. |
Alexey Brodkin | 88961bc | 2016-11-25 16:23:43 +0300 | [diff] [blame] | 4 | */ |
| 5 | /dts-v1/; |
| 6 | |
| 7 | #include "skeleton.dtsi" |
Eugeniy Paltsev | 24e026e | 2018-03-26 15:57:37 +0300 | [diff] [blame] | 8 | #include "dt-bindings/clock/snps,hsdk-cgu.h" |
Eugeniy Paltsev | d8b76a5 | 2020-03-11 15:37:23 +0300 | [diff] [blame] | 9 | #include "dt-bindings/reset/snps,hsdk-reset.h" |
Alexey Brodkin | 88961bc | 2016-11-25 16:23:43 +0300 | [diff] [blame] | 10 | |
| 11 | / { |
Alexey Brodkin | b015082 | 2018-10-02 11:37:25 +0300 | [diff] [blame] | 12 | model = "snps,hsdk"; |
| 13 | |
Alexey Brodkin | 88961bc | 2016-11-25 16:23:43 +0300 | [diff] [blame] | 14 | #address-cells = <1>; |
| 15 | #size-cells = <1>; |
| 16 | |
| 17 | aliases { |
| 18 | console = &uart0; |
Eugeniy Paltsev | 9033884 | 2018-03-26 15:57:38 +0300 | [diff] [blame] | 19 | spi0 = &spi0; |
Alexey Brodkin | 88961bc | 2016-11-25 16:23:43 +0300 | [diff] [blame] | 20 | }; |
| 21 | |
| 22 | cpu_card { |
| 23 | core_clk: core_clk { |
| 24 | #clock-cells = <0>; |
| 25 | compatible = "fixed-clock"; |
Eugeniy Paltsev | 919c3ea | 2018-09-05 14:27:10 +0300 | [diff] [blame] | 26 | clock-frequency = <500000000>; |
Alexey Brodkin | 88961bc | 2016-11-25 16:23:43 +0300 | [diff] [blame] | 27 | u-boot,dm-pre-reloc; |
| 28 | }; |
| 29 | }; |
| 30 | |
Eugeniy Paltsev | 24e026e | 2018-03-26 15:57:37 +0300 | [diff] [blame] | 31 | clk-fmeas { |
| 32 | clocks = <&cgu_clk CLK_ARC_PLL>, <&cgu_clk CLK_SYS_PLL>, |
| 33 | <&cgu_clk CLK_TUN_PLL>, <&cgu_clk CLK_DDR_PLL>, |
| 34 | <&cgu_clk CLK_ARC>, <&cgu_clk CLK_HDMI_PLL>, |
| 35 | <&cgu_clk CLK_TUN_TUN>, <&cgu_clk CLK_HDMI>, |
| 36 | <&cgu_clk CLK_SYS_APB>, <&cgu_clk CLK_SYS_AXI>, |
| 37 | <&cgu_clk CLK_SYS_ETH>, <&cgu_clk CLK_SYS_USB>, |
| 38 | <&cgu_clk CLK_SYS_SDIO>, <&cgu_clk CLK_SYS_HDMI>, |
| 39 | <&cgu_clk CLK_SYS_GFX_CORE>, <&cgu_clk CLK_SYS_GFX_DMA>, |
| 40 | <&cgu_clk CLK_SYS_GFX_CFG>, <&cgu_clk CLK_SYS_DMAC_CORE>, |
| 41 | <&cgu_clk CLK_SYS_DMAC_CFG>, <&cgu_clk CLK_SYS_SDIO_REF>, |
| 42 | <&cgu_clk CLK_SYS_SPI_REF>, <&cgu_clk CLK_SYS_I2C_REF>, |
| 43 | <&cgu_clk CLK_SYS_UART_REF>, <&cgu_clk CLK_SYS_EBI_REF>, |
| 44 | <&cgu_clk CLK_TUN_ROM>, <&cgu_clk CLK_TUN_PWM>; |
| 45 | clock-names = "cpu-pll", "sys-pll", |
| 46 | "tun-pll", "ddr-clk", |
| 47 | "cpu-clk", "hdmi-pll", |
| 48 | "tun-clk", "hdmi-clk", |
| 49 | "apb-clk", "axi-clk", |
| 50 | "eth-clk", "usb-clk", |
| 51 | "sdio-clk", "hdmi-sys-clk", |
| 52 | "gfx-core-clk", "gfx-dma-clk", |
| 53 | "gfx-cfg-clk", "dmac-core-clk", |
| 54 | "dmac-cfg-clk", "sdio-ref-clk", |
| 55 | "spi-clk", "i2c-clk", |
| 56 | "uart-clk", "ebi-clk", |
| 57 | "rom-clk", "pwm-clk"; |
| 58 | }; |
| 59 | |
Eugeniy Paltsev | 1c2ba46 | 2018-01-16 20:44:28 +0300 | [diff] [blame] | 60 | cgu_clk: cgu-clk@f0000000 { |
| 61 | compatible = "snps,hsdk-cgu-clock"; |
| 62 | reg = <0xf0000000 0x10>, <0xf00014B8 0x4>; |
| 63 | #clock-cells = <1>; |
| 64 | }; |
| 65 | |
Eugeniy Paltsev | d8b76a5 | 2020-03-11 15:37:23 +0300 | [diff] [blame] | 66 | cgu_rst: reset-controller@f00008a0 { |
| 67 | compatible = "snps,hsdk-reset"; |
| 68 | #reset-cells = <1>; |
| 69 | reg = <0xf00008a0 0x4>, <0xf0000ff0 0x4>; |
| 70 | }; |
| 71 | |
Alexey Brodkin | 88961bc | 2016-11-25 16:23:43 +0300 | [diff] [blame] | 72 | uart0: serial0@f0005000 { |
| 73 | compatible = "snps,dw-apb-uart"; |
| 74 | reg = <0xf0005000 0x1000>; |
| 75 | reg-shift = <2>; |
| 76 | reg-io-width = <4>; |
| 77 | }; |
| 78 | |
| 79 | ethernet@f0008000 { |
| 80 | #interrupt-cells = <1>; |
Eugeniy Paltsev | 5738e94 | 2019-10-07 19:10:50 +0300 | [diff] [blame] | 81 | compatible = "snps,arc-dwmac-3.70a"; |
Alexey Brodkin | 88961bc | 2016-11-25 16:23:43 +0300 | [diff] [blame] | 82 | reg = <0xf0008000 0x2000>; |
| 83 | phy-mode = "gmii"; |
| 84 | }; |
| 85 | |
| 86 | ehci@0xf0040000 { |
| 87 | compatible = "generic-ehci"; |
| 88 | reg = <0xf0040000 0x100>; |
| 89 | }; |
| 90 | |
| 91 | ohci@0xf0060000 { |
| 92 | compatible = "generic-ohci"; |
| 93 | reg = <0xf0060000 0x100>; |
| 94 | }; |
Eugeniy Paltsev | 9033884 | 2018-03-26 15:57:38 +0300 | [diff] [blame] | 95 | |
Eugeniy Paltsev | c8c5b0e | 2019-02-25 18:35:29 +0300 | [diff] [blame] | 96 | mmcclk_ciu: mmcclk-ciu { |
| 97 | compatible = "fixed-clock"; |
| 98 | /* |
| 99 | * DW sdio controller has external ciu clock divider |
| 100 | * controlled via register in SDIO IP. Due to its |
| 101 | * unexpected default value (it should divide by 1 |
| 102 | * but it divides by 8) SDIO IP uses wrong clock and |
| 103 | * works unstable (see STAR 9001204800) |
| 104 | * We switched to the minimum possible value of the |
| 105 | * divisor (div-by-2) in HSDK platform code. |
| 106 | * So default mmcclk ciu clock is 50000000 Hz. |
| 107 | */ |
| 108 | clock-frequency = <50000000>; |
| 109 | #clock-cells = <0>; |
| 110 | }; |
| 111 | |
| 112 | mmc: mmc0@f000a000 { |
| 113 | compatible = "snps,dw-mshc"; |
| 114 | reg = <0xf000a000 0x400>; |
| 115 | bus-width = <4>; |
| 116 | fifo-depth = <256>; |
| 117 | clocks = <&cgu_clk CLK_SYS_SDIO>, <&mmcclk_ciu>; |
| 118 | clock-names = "biu", "ciu"; |
| 119 | max-frequency = <25000000>; |
| 120 | }; |
| 121 | |
Eugeniy Paltsev | 9033884 | 2018-03-26 15:57:38 +0300 | [diff] [blame] | 122 | spi0: spi@f0020000 { |
| 123 | compatible = "snps,dw-apb-ssi"; |
| 124 | reg = <0xf0020000 0x1000>; |
| 125 | #address-cells = <1>; |
| 126 | #size-cells = <0>; |
| 127 | spi-max-frequency = <4000000>; |
| 128 | clocks = <&cgu_clk CLK_SYS_SPI_REF>; |
| 129 | clock-names = "spi_clk"; |
| 130 | cs-gpio = <&cs_gpio 0>; |
| 131 | spi_flash@0 { |
Neil Armstrong | a009fa7 | 2019-02-10 10:16:20 +0000 | [diff] [blame] | 132 | compatible = "jedec,spi-nor"; |
Eugeniy Paltsev | 9033884 | 2018-03-26 15:57:38 +0300 | [diff] [blame] | 133 | reg = <0>; |
| 134 | spi-max-frequency = <4000000>; |
| 135 | }; |
| 136 | }; |
| 137 | |
| 138 | cs_gpio: gpio@f00014b0 { |
Eugeniy Paltsev | b23d633 | 2018-06-08 17:58:23 +0300 | [diff] [blame] | 139 | compatible = "snps,creg-gpio"; |
Eugeniy Paltsev | 9033884 | 2018-03-26 15:57:38 +0300 | [diff] [blame] | 140 | reg = <0xf00014b0 0x4>; |
| 141 | gpio-controller; |
| 142 | #gpio-cells = <1>; |
| 143 | gpio-bank-name = "hsdk-spi-cs"; |
| 144 | gpio-count = <1>; |
Eugeniy Paltsev | b23d633 | 2018-06-08 17:58:23 +0300 | [diff] [blame] | 145 | gpio-first-shift = <0>; |
| 146 | gpio-bit-per-line = <2>; |
| 147 | gpio-activate-val = <2>; |
| 148 | gpio-deactivate-val = <3>; |
| 149 | gpio-default-val = <1>; |
Eugeniy Paltsev | 9033884 | 2018-03-26 15:57:38 +0300 | [diff] [blame] | 150 | }; |
Alexey Brodkin | 88961bc | 2016-11-25 16:23:43 +0300 | [diff] [blame] | 151 | }; |