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