[PATCH v1 5/5] riscv: dts: microchip: add a device tree for Discovery Kit
Krzysztof Kozlowski
krzk at kernel.org
Thu Aug 28 10:46:55 PDT 2025
On 25/08/2025 18:19, Valentina Fernandez wrote:
> +++ b/arch/riscv/boot/dts/microchip/mpfs-disco-kit-fabric.dtsi
> @@ -0,0 +1,58 @@
> +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
> +/* Copyright (c) 2020-2025 Microchip Technology Inc */
> +
> +/ {
> + core_pwm0: pwm at 40000000 {
> + compatible = "microchip,corepwm-rtl-v4";
> + reg = <0x0 0x40000000 0x0 0xF0>;
> + microchip,sync-update-mask = /bits/ 32 <0>;
> + #pwm-cells = <3>;
> + clocks = <&ccc_sw CLK_CCC_PLL0_OUT3>;
> + status = "disabled";
> + };
> +
> + i2c2: i2c at 40000200 {
> + compatible = "microchip,corei2c-rtl-v7";
> + reg = <0x0 0x40000200 0x0 0x100>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + clocks = <&ccc_sw CLK_CCC_PLL0_OUT3>;
> + interrupt-parent = <&plic>;
> + interrupts = <122>;
> + clock-frequency = <100000>;
> + status = "disabled";
> + };
> +
> + ihc: mailbox {
> + compatible = "microchip,sbi-ipc";
> + interrupt-parent = <&plic>;
> + interrupts = <180>, <179>, <178>, <177>;
> + interrupt-names = "hart-1", "hart-2", "hart-3", "hart-4";
> + #mbox-cells = <1>;
> + status = "disabled";
> + };
> +
> + mailbox at 50000000 {
> + compatible = "microchip,miv-ihc-rtl-v2";
> + microchip,ihc-chan-disabled-mask = /bits/ 16 <0>;
Does not look like following DTS coding style - order of properties.
> + reg = <0x0 0x50000000 0x0 0x1c000>;
> + interrupt-parent = <&plic>;
> + interrupts = <180>, <179>, <178>, <177>;
> + interrupt-names = "hart-1", "hart-2", "hart-3", "hart-4";
> + #mbox-cells = <1>;
> + status = "disabled";
> + };
> +
> + refclk_ccc: cccrefclk {
Please use name for all fixed clocks which matches current format
recommendation: 'clock-<freq>' (see also the pattern in the binding for
any other options).
https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/clock/fixed-clock.yaml
Or anything more reasonable than just bunch of letters.
> + compatible = "fixed-clock";
> + #clock-cells = <0>;
> + };
> +};
> +
> +&ccc_sw {
> + clocks = <&refclk_ccc>, <&refclk_ccc>, <&refclk_ccc>, <&refclk_ccc>,
> + <&refclk_ccc>, <&refclk_ccc>;
> + clock-names = "pll0_ref0", "pll0_ref1", "pll1_ref0", "pll1_ref1",
> + "dll0_ref", "dll1_ref";
> + status = "okay";
> +};
> diff --git a/arch/riscv/boot/dts/microchip/mpfs-disco-kit.dts b/arch/riscv/boot/dts/microchip/mpfs-disco-kit.dts
> new file mode 100644
> index 000000000000..742369470ab0
> --- /dev/null
> +++ b/arch/riscv/boot/dts/microchip/mpfs-disco-kit.dts
> @@ -0,0 +1,191 @@
> +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
> +/* Copyright (c) 2020-2025 Microchip Technology Inc */
> +
> +/dts-v1/;
> +
> +#include "mpfs.dtsi"
> +#include "mpfs-disco-kit-fabric.dtsi"
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/leds/common.h>
> +
> +/ {
> + model = "Microchip PolarFire-SoC Discovery Kit";
> + compatible = "microchip,mpfs-disco-kit-reference-rtl-v2507",
> + "microchip,mpfs-disco-kit",
> + "microchip,mpfs";
> +
> + aliases {
> + ethernet0 = &mac0;
> + serial4 = &mmuart4;
> + };
> +
> + chosen {
> + stdout-path = "serial4:115200n8";
> + };
> +
> + leds {
> + compatible = "gpio-leds";
> +
> + led-1 {
> + gpios = <&gpio2 17 GPIO_ACTIVE_HIGH>;
> + color = <LED_COLOR_ID_AMBER>;
> + label = "led1";
> + };
> +
> + led-2 {
> + gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>;
> + color = <LED_COLOR_ID_RED>;
> + label = "led2";
> + };
> +
> + led-3 {
> + gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>;
> + color = <LED_COLOR_ID_AMBER>;
> + label = "led3";
> + };
> +
> + led-4 {
> + gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
> + color = <LED_COLOR_ID_RED>;
> + label = "led4";
> + };
> +
> + led-5 {
> + gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
> + color = <LED_COLOR_ID_AMBER>;
> + label = "led5";
> + };
> +
> + led-6 {
> + gpios = <&gpio2 22 GPIO_ACTIVE_HIGH>;
> + color = <LED_COLOR_ID_RED>;
> + label = "led6";
> + };
> +
> + led-7 {
> + gpios = <&gpio2 23 GPIO_ACTIVE_HIGH>;
> + color = <LED_COLOR_ID_AMBER>;
> + label = "led7";
> + };
> +
> + led-8 {
> + gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
> + color = <LED_COLOR_ID_RED>;
> + label = "led8";
> + };
> + };
> +
> + ddrc_cache_lo: memory at 80000000 {
> + device_type = "memory";
> + reg = <0x0 0x80000000 0x0 0x40000000>;
> + status = "okay";
Why? Did you disable it anywhere?
> + };
> +
> + reserved-memory {
> + #address-cells = <2>;
> + #size-cells = <2>;
> + ranges;
> +
> + hss_payload: region at BFC00000 {
Don't mix cases. Should be lowercase hex everywhere.
Best regards,
Krzysztof
More information about the linux-riscv
mailing list