From: suijingfeng <suijingf...@loongson.cn>

The board name is LS3A4000_7A1000_EVB_BOARD_V1.4, it consist of 1.8Ghz
mips64r5 4-core CPU and LS7A1000 bridge chip. It has PCIe GEN2 x8 slot,
therefore can play with discrete graphics card.

While the integrated display copntroller is equipped with a VGA output
and a DVI output, the VGA is connect to the DVO0 output port of the
display controller, the DVI is connected to DVO1 output port of the
display controller.

    +------+            +-----------------------------------+
    | DDR4 |            |  +-------------------+            |
    +------+            |  | PCIe Root complex |   LS7A1000 |
       || MC0           |  +--++---------++----+            |
  +----------+  HT 3.0  |     ||         ||                 |
  | LS3A4000 |<-------->| +---++---+  +--++--+    +---------+   +------+
  |   CPU    |<-------->| | GC1000 |  | LSDC |<-->| DDR3 MC |<->| VRAM |
  +----------+          | +--------+  +-+--+-+    +---------+   +------+
       || MC1           +---------------|--|----------------+
    +------+                            |  |
    | DDR4 |          +-------+   DVO0  |  |  DVO1   +------+
    +------+   VGA <--|ADV7125|<--------+  +-------->|TFP410|--> DVI/HDMI
                      +-------+                      +------+

Signed-off-by: suijingfeng <suijingf...@loongson.cn>
Signed-off-by: Sui Jingfeng <15330273...@189.cn>
---
 .../boot/dts/loongson/ls3a4000_7a1000_evb.dts | 136 ++++++++++++++++++
 1 file changed, 136 insertions(+)
 create mode 100644 arch/mips/boot/dts/loongson/ls3a4000_7a1000_evb.dts

diff --git a/arch/mips/boot/dts/loongson/ls3a4000_7a1000_evb.dts 
b/arch/mips/boot/dts/loongson/ls3a4000_7a1000_evb.dts
new file mode 100644
index 000000000000..f467eddccdac
--- /dev/null
+++ b/arch/mips/boot/dts/loongson/ls3a4000_7a1000_evb.dts
@@ -0,0 +1,136 @@
+// SPDX-License-Identifier: GPL-2.0
+
+/dts-v1/;
+
+#include "loongson64g-package.dtsi"
+#include "ls7a-pch.dtsi"
+
+/ {
+       compatible = "loongson,loongson64g-4core-ls7a";
+       model = "LS3A4000_7A1000_EVB_BOARD_V1.4";
+
+       vga-encoder {
+               compatible = "adi,adv7123", "dumb-vga-dac";
+
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       port@0 {
+                               reg = <0>;
+                               adv7123_in: endpoint {
+                                       remote-endpoint = <&dc_out_rgb0>;
+                               };
+                       };
+
+                       port@1 {
+                               reg = <1>;
+                               adv7123_out: endpoint {
+                                       remote-endpoint = <&vga_connector_in>;
+                               };
+                       };
+               };
+       };
+
+       vga-connector {
+               compatible = "vga-connector";
+               label = "vga";
+
+               ddc-i2c-bus = <&i2c6>;
+
+               port {
+                       vga_connector_in: endpoint {
+                               remote-endpoint = <&adv7123_out>;
+                       };
+               };
+       };
+
+       tfp410: dvi-encoder {
+               compatible = "ti,tfp410";
+
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       port@0 {
+                               reg = <0>;
+                               tfp410_in: endpoint {
+                                       pclk-sample = <1>;
+                                       bus-width = <24>;
+                                       remote-endpoint = <&dc_out_rgb1>;
+                               };
+                       };
+
+                       port@1 {
+                               reg = <1>;
+                               tfp410_out: endpoint {
+                                       remote-endpoint = <&dvi_connector_in>;
+                               };
+                       };
+               };
+       };
+
+       dvi-connector {
+               compatible = "dvi-connector";
+               label = "dvi";
+               digital;
+
+               ddc-i2c-bus = <&i2c7>;
+
+               port {
+                       dvi_connector_in: endpoint {
+                               remote-endpoint = <&tfp410_out>;
+                       };
+               };
+       };
+};
+
+&package0 {
+       htvec: interrupt-controller@efdfb000080 {
+               compatible = "loongson,htvec-1.0";
+               reg = <0xefd 0xfb000080 0x40>;
+               interrupt-controller;
+               #interrupt-cells = <1>;
+
+               interrupt-parent = <&liointc>;
+               interrupts = <24 IRQ_TYPE_LEVEL_HIGH>,
+                            <25 IRQ_TYPE_LEVEL_HIGH>,
+                            <26 IRQ_TYPE_LEVEL_HIGH>,
+                            <27 IRQ_TYPE_LEVEL_HIGH>,
+                            <28 IRQ_TYPE_LEVEL_HIGH>,
+                            <29 IRQ_TYPE_LEVEL_HIGH>,
+                            <30 IRQ_TYPE_LEVEL_HIGH>,
+                            <31 IRQ_TYPE_LEVEL_HIGH>;
+       };
+};
+
+&pch {
+       msi: msi-controller@2ff00000 {
+               compatible = "loongson,pch-msi-1.0";
+               reg = <0 0x2ff00000 0 0x8>;
+               interrupt-controller;
+               msi-controller;
+               loongson,msi-base-vec = <64>;
+               loongson,msi-num-vecs = <192>;
+               interrupt-parent = <&htvec>;
+       };
+};
+
+&lsdc {
+       ports {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               port@0 {
+                       endpoint {
+                               remote-endpoint = <&adv7123_in>;
+                       };
+               };
+
+               port@1 {
+                       endpoint {
+                               remote-endpoint = <&tfp410_in>;
+                       };
+               };
+       };
+};
-- 
2.25.1

Reply via email to