The 600M clock in the fabric is not the real reference, replace it with a 125M clock which is the correct value for the icicle kit. Rename the msspllclk node to mssrefclk since this is now the input to, not the output of, the msspll clock. Control of the msspll clock has been moved into the clock configurator, so add the register range for it to the clk configurator. Finally, add a new output of the clock config block which will provide the 1M reference clock for the MTIMER and the rtc. Fixes:528a5b1f25("riscv: dts: microchip: add new peripherals to icicle kit device tree") Fixes:0fa6107eca("RISC-V: Initial DTS for Microchip ICICLE board") Reviewed-by: Daire McNamara <daire.mcnamara@microchip.com> Signed-off-by: Conor Dooley <conor.dooley@microchip.com> Link: https://lore.kernel.org/r/20220413075835.3354193-10-conor.dooley@microchip.com Acked-by: Palmer Dabbelt <palmer@rivosinc.com> Signed-off-by: Stephen Boyd <sboyd@kernel.org>
162 lines
2.2 KiB
Plaintext
162 lines
2.2 KiB
Plaintext
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
|
/* Copyright (c) 2020-2021 Microchip Technology Inc */
|
|
|
|
/dts-v1/;
|
|
|
|
#include "microchip-mpfs.dtsi"
|
|
|
|
/* Clock frequency (in Hz) of the rtcclk */
|
|
#define RTCCLK_FREQ 1000000
|
|
|
|
/ {
|
|
model = "Microchip PolarFire-SoC Icicle Kit";
|
|
compatible = "microchip,mpfs-icicle-kit", "microchip,mpfs";
|
|
|
|
aliases {
|
|
ethernet0 = &mac1;
|
|
serial0 = &mmuart0;
|
|
serial1 = &mmuart1;
|
|
serial2 = &mmuart2;
|
|
serial3 = &mmuart3;
|
|
serial4 = &mmuart4;
|
|
};
|
|
|
|
chosen {
|
|
stdout-path = "serial1:115200n8";
|
|
};
|
|
|
|
cpus {
|
|
timebase-frequency = <RTCCLK_FREQ>;
|
|
};
|
|
|
|
ddrc_cache_lo: memory@80000000 {
|
|
device_type = "memory";
|
|
reg = <0x0 0x80000000 0x0 0x2e000000>;
|
|
clocks = <&clkcfg CLK_DDRC>;
|
|
status = "okay";
|
|
};
|
|
|
|
ddrc_cache_hi: memory@1000000000 {
|
|
device_type = "memory";
|
|
reg = <0x10 0x0 0x0 0x40000000>;
|
|
clocks = <&clkcfg CLK_DDRC>;
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
&refclk {
|
|
clock-frequency = <125000000>;
|
|
};
|
|
|
|
&mmuart1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&mmuart2 {
|
|
status = "okay";
|
|
};
|
|
|
|
&mmuart3 {
|
|
status = "okay";
|
|
};
|
|
|
|
&mmuart4 {
|
|
status = "okay";
|
|
};
|
|
|
|
&mmc {
|
|
status = "okay";
|
|
|
|
bus-width = <4>;
|
|
disable-wp;
|
|
cap-sd-highspeed;
|
|
cap-mmc-highspeed;
|
|
card-detect-delay = <200>;
|
|
mmc-ddr-1_8v;
|
|
mmc-hs200-1_8v;
|
|
sd-uhs-sdr12;
|
|
sd-uhs-sdr25;
|
|
sd-uhs-sdr50;
|
|
sd-uhs-sdr104;
|
|
};
|
|
|
|
&spi0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&spi1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&qspi {
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c2 {
|
|
status = "okay";
|
|
};
|
|
|
|
&mac0 {
|
|
phy-mode = "sgmii";
|
|
phy-handle = <&phy0>;
|
|
};
|
|
|
|
&mac1 {
|
|
status = "okay";
|
|
phy-mode = "sgmii";
|
|
phy-handle = <&phy1>;
|
|
phy1: ethernet-phy@9 {
|
|
reg = <9>;
|
|
ti,fifo-depth = <0x1>;
|
|
};
|
|
phy0: ethernet-phy@8 {
|
|
reg = <8>;
|
|
ti,fifo-depth = <0x1>;
|
|
};
|
|
};
|
|
|
|
&gpio2 {
|
|
interrupts = <53>, <53>, <53>, <53>,
|
|
<53>, <53>, <53>, <53>,
|
|
<53>, <53>, <53>, <53>,
|
|
<53>, <53>, <53>, <53>,
|
|
<53>, <53>, <53>, <53>,
|
|
<53>, <53>, <53>, <53>,
|
|
<53>, <53>, <53>, <53>,
|
|
<53>, <53>, <53>, <53>;
|
|
status = "okay";
|
|
};
|
|
|
|
&rtc {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb {
|
|
status = "okay";
|
|
dr_mode = "host";
|
|
};
|
|
|
|
&mbox {
|
|
status = "okay";
|
|
};
|
|
|
|
&syscontroller {
|
|
status = "okay";
|
|
};
|
|
|
|
&pcie {
|
|
status = "okay";
|
|
};
|
|
|
|
&core_pwm0 {
|
|
status = "okay";
|
|
};
|