riscv: dts: starfive: Add common DT for JH7100 based boards
authorCristian Ciocaltea <cristian.ciocaltea@collabora.com>
Mon, 17 Oct 2022 21:05:41 +0000 (00:05 +0300)
committerJaehoon Chung <jh80.chung@samsung.com>
Mon, 24 Jul 2023 23:24:28 +0000 (08:24 +0900)
In preparation for adding initial device tree support for the StarFive
VisionFive board, which is similar with BeagleV Starlight, move most
of the content from jh7100-beaglev-starlight.dts to a new file, to be
shared between the two boards.

Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Matthias Brugger <mbrugger@suse.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dts
arch/riscv/boot/dts/starfive/jh7100-common.dtsi [new file with mode: 0644]

index f7a2301..7cda3a8 100644 (file)
@@ -5,160 +5,9 @@
  */
 
 /dts-v1/;
-#include "jh7100.dtsi"
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/leds/common.h>
-#include <dt-bindings/pinctrl/pinctrl-starfive-jh7100.h>
+#include "jh7100-common.dtsi"
 
 / {
        model = "BeagleV Starlight Beta";
        compatible = "beagle,beaglev-starlight-jh7100-r0", "starfive,jh7100";
-
-       aliases {
-               serial0 = &uart3;
-       };
-
-       chosen {
-               stdout-path = "serial0:115200n8";
-       };
-
-       cpus {
-               timebase-frequency = <6250000>;
-       };
-
-       memory@80000000 {
-               device_type = "memory";
-               reg = <0x0 0x80000000 0x2 0x0>;
-       };
-
-       leds {
-               compatible = "gpio-leds";
-
-               led-ack {
-                       gpios = <&gpio 43 GPIO_ACTIVE_HIGH>;
-                       color = <LED_COLOR_ID_GREEN>;
-                       function = LED_FUNCTION_HEARTBEAT;
-                       linux,default-trigger = "heartbeat";
-                       label = "ack";
-               };
-       };
-};
-
-&gpio {
-       i2c0_pins: i2c0-0 {
-               i2c-pins {
-                       pinmux = <GPIOMUX(62, GPO_LOW,
-                                 GPO_I2C0_PAD_SCK_OEN,
-                                 GPI_I2C0_PAD_SCK_IN)>,
-                                <GPIOMUX(61, GPO_LOW,
-                                 GPO_I2C0_PAD_SDA_OEN,
-                                 GPI_I2C0_PAD_SDA_IN)>;
-                       bias-disable; /* external pull-up */
-                       input-enable;
-                       input-schmitt-enable;
-               };
-       };
-
-       i2c1_pins: i2c1-0 {
-               i2c-pins {
-                       pinmux = <GPIOMUX(47, GPO_LOW,
-                                 GPO_I2C1_PAD_SCK_OEN,
-                                 GPI_I2C1_PAD_SCK_IN)>,
-                                <GPIOMUX(48, GPO_LOW,
-                                 GPO_I2C1_PAD_SDA_OEN,
-                                 GPI_I2C1_PAD_SDA_IN)>;
-                       bias-pull-up;
-                       input-enable;
-                       input-schmitt-enable;
-               };
-       };
-
-       i2c2_pins: i2c2-0 {
-               i2c-pins {
-                       pinmux = <GPIOMUX(60, GPO_LOW,
-                                 GPO_I2C2_PAD_SCK_OEN,
-                                 GPI_I2C2_PAD_SCK_IN)>,
-                                <GPIOMUX(59, GPO_LOW,
-                                 GPO_I2C2_PAD_SDA_OEN,
-                                 GPI_I2C2_PAD_SDA_IN)>;
-                       bias-disable; /* external pull-up */
-                       input-enable;
-                       input-schmitt-enable;
-               };
-       };
-
-       uart3_pins: uart3-0 {
-               rx-pins {
-                       pinmux = <GPIOMUX(13, GPO_LOW, GPO_DISABLE,
-                                 GPI_UART3_PAD_SIN)>;
-                       bias-pull-up;
-                       drive-strength = <14>;
-                       input-enable;
-                       input-schmitt-enable;
-                       slew-rate = <0>;
-               };
-               tx-pins {
-                       pinmux = <GPIOMUX(14, GPO_UART3_PAD_SOUT,
-                                 GPO_ENABLE, GPI_NONE)>;
-                       bias-disable;
-                       drive-strength = <35>;
-                       input-disable;
-                       input-schmitt-disable;
-                       slew-rate = <0>;
-               };
-       };
-};
-
-&i2c0 {
-       clock-frequency = <100000>;
-       i2c-sda-hold-time-ns = <300>;
-       i2c-sda-falling-time-ns = <500>;
-       i2c-scl-falling-time-ns = <500>;
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins>;
-       status = "okay";
-
-       pmic@5e {
-               compatible = "ti,tps65086";
-               reg = <0x5e>;
-               gpio-controller;
-               #gpio-cells = <2>;
-
-               regulators {
-               };
-       };
-};
-
-&i2c1 {
-       clock-frequency = <400000>;
-       i2c-sda-hold-time-ns = <300>;
-       i2c-sda-falling-time-ns = <100>;
-       i2c-scl-falling-time-ns = <100>;
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins>;
-       status = "okay";
-};
-
-&i2c2 {
-       clock-frequency = <100000>;
-       i2c-sda-hold-time-ns = <300>;
-       i2c-sda-falling-time-ns = <500>;
-       i2c-scl-falling-time-ns = <500>;
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c2_pins>;
-       status = "okay";
-};
-
-&osc_sys {
-       clock-frequency = <25000000>;
-};
-
-&osc_aud {
-       clock-frequency = <27000000>;
-};
-
-&uart3 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&uart3_pins>;
-       status = "okay";
 };
diff --git a/arch/riscv/boot/dts/starfive/jh7100-common.dtsi b/arch/riscv/boot/dts/starfive/jh7100-common.dtsi
new file mode 100644 (file)
index 0000000..b93ce35
--- /dev/null
@@ -0,0 +1,161 @@
+// SPDX-License-Identifier: GPL-2.0 OR MIT
+/*
+ * Copyright (C) 2021 StarFive Technology Co., Ltd.
+ * Copyright (C) 2021 Emil Renner Berthing <kernel@esmil.dk>
+ */
+
+/dts-v1/;
+#include "jh7100.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/leds/common.h>
+#include <dt-bindings/pinctrl/pinctrl-starfive-jh7100.h>
+
+/ {
+       aliases {
+               serial0 = &uart3;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       cpus {
+               timebase-frequency = <6250000>;
+       };
+
+       memory@80000000 {
+               device_type = "memory";
+               reg = <0x0 0x80000000 0x2 0x0>;
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               led-ack {
+                       gpios = <&gpio 43 GPIO_ACTIVE_HIGH>;
+                       color = <LED_COLOR_ID_GREEN>;
+                       function = LED_FUNCTION_HEARTBEAT;
+                       linux,default-trigger = "heartbeat";
+                       label = "ack";
+               };
+       };
+};
+
+&gpio {
+       i2c0_pins: i2c0-0 {
+               i2c-pins {
+                       pinmux = <GPIOMUX(62, GPO_LOW,
+                                 GPO_I2C0_PAD_SCK_OEN,
+                                 GPI_I2C0_PAD_SCK_IN)>,
+                                <GPIOMUX(61, GPO_LOW,
+                                 GPO_I2C0_PAD_SDA_OEN,
+                                 GPI_I2C0_PAD_SDA_IN)>;
+                       bias-disable; /* external pull-up */
+                       input-enable;
+                       input-schmitt-enable;
+               };
+       };
+
+       i2c1_pins: i2c1-0 {
+               i2c-pins {
+                       pinmux = <GPIOMUX(47, GPO_LOW,
+                                 GPO_I2C1_PAD_SCK_OEN,
+                                 GPI_I2C1_PAD_SCK_IN)>,
+                                <GPIOMUX(48, GPO_LOW,
+                                 GPO_I2C1_PAD_SDA_OEN,
+                                 GPI_I2C1_PAD_SDA_IN)>;
+                       bias-pull-up;
+                       input-enable;
+                       input-schmitt-enable;
+               };
+       };
+
+       i2c2_pins: i2c2-0 {
+               i2c-pins {
+                       pinmux = <GPIOMUX(60, GPO_LOW,
+                                 GPO_I2C2_PAD_SCK_OEN,
+                                 GPI_I2C2_PAD_SCK_IN)>,
+                                <GPIOMUX(59, GPO_LOW,
+                                 GPO_I2C2_PAD_SDA_OEN,
+                                 GPI_I2C2_PAD_SDA_IN)>;
+                       bias-disable; /* external pull-up */
+                       input-enable;
+                       input-schmitt-enable;
+               };
+       };
+
+       uart3_pins: uart3-0 {
+               rx-pins {
+                       pinmux = <GPIOMUX(13, GPO_LOW, GPO_DISABLE,
+                                 GPI_UART3_PAD_SIN)>;
+                       bias-pull-up;
+                       drive-strength = <14>;
+                       input-enable;
+                       input-schmitt-enable;
+                       slew-rate = <0>;
+               };
+               tx-pins {
+                       pinmux = <GPIOMUX(14, GPO_UART3_PAD_SOUT,
+                                 GPO_ENABLE, GPI_NONE)>;
+                       bias-disable;
+                       drive-strength = <35>;
+                       input-disable;
+                       input-schmitt-disable;
+                       slew-rate = <0>;
+               };
+       };
+};
+
+&i2c0 {
+       clock-frequency = <100000>;
+       i2c-sda-hold-time-ns = <300>;
+       i2c-sda-falling-time-ns = <500>;
+       i2c-scl-falling-time-ns = <500>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&i2c0_pins>;
+       status = "okay";
+
+       pmic@5e {
+               compatible = "ti,tps65086";
+               reg = <0x5e>;
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               regulators {
+               };
+       };
+};
+
+&i2c1 {
+       clock-frequency = <400000>;
+       i2c-sda-hold-time-ns = <300>;
+       i2c-sda-falling-time-ns = <100>;
+       i2c-scl-falling-time-ns = <100>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&i2c1_pins>;
+       status = "okay";
+};
+
+&i2c2 {
+       clock-frequency = <100000>;
+       i2c-sda-hold-time-ns = <300>;
+       i2c-sda-falling-time-ns = <500>;
+       i2c-scl-falling-time-ns = <500>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&i2c2_pins>;
+       status = "okay";
+};
+
+&osc_sys {
+       clock-frequency = <25000000>;
+};
+
+&osc_aud {
+       clock-frequency = <27000000>;
+};
+
+&uart3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart3_pins>;
+       status = "okay";
+};