Renesas RTS7751R2D Plus devicetree.

Signed-off-by: Yoshinori Sato <ys...@users.sourceforge.jp>
---
 arch/sh/boot/dts/rts7751r2dplus.dts | 180 ++++++++++++++++++++++++++++
 arch/sh/boot/dts/sh7751r.dtsi       |   4 +
 2 files changed, 184 insertions(+)
 create mode 100644 arch/sh/boot/dts/rts7751r2dplus.dts

diff --git a/arch/sh/boot/dts/rts7751r2dplus.dts 
b/arch/sh/boot/dts/rts7751r2dplus.dts
new file mode 100644
index 000000000000..e649fcaa817c
--- /dev/null
+++ b/arch/sh/boot/dts/rts7751r2dplus.dts
@@ -0,0 +1,180 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree Source for the Renesas RTS7751R2D Plus
+ */
+
+/dts-v1/;
+
+#include "sh7751r.dtsi"
+
+/ {
+       model = "Renesas RTS7715R2D Plus";
+       compatible = "renesas,rts7751r2d", "renesas,sh7751r";
+
+       aliases {
+               serial0 = &scif1;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       memory@c000000 {
+               device_type = "memory";
+               reg = <0x0c000000 0x4000000>;
+       };
+
+       r2dintc: interrupt-controller@a4000000 {
+               compatible = "renesas,sh7751-irl-ext";
+               reg = <0xa4000000 0x02>;
+               interrupt-controller;
+               #address-cells = <0>;
+               #interrupt-cells = <1>;
+               renesas,enable-bit = <0 11>,            /* PCI INTD */
+                                    <1 9>,             /* CF IDE */
+                                    <2 8>,             /* CF CD */
+                                    <3 12>,            /* PCI INTC */
+                                    <4 10>,            /* SM501 */
+                                    <5 6>,             /* KEY */
+                                    <6 5>,             /* RTC ALARM */
+                                    <7 4>,             /* RTC T */
+                                    <8 7>,             /* SDCARD */
+                                    <9 14>,            /* PCI INTA */
+                                    <10 13>,           /* PCI INTB */
+                                    <11 0>,            /* EXT */
+                                    <12 15>;           /* TP */
+       };
+
+       display@0 {
+               compatible = "smi,sm501";
+               reg = <0x10000000 0x03e00000
+                      0x13e00000 0x00200000>;
+               interrupt-parent = <&r2dintc>;
+               interrupts = <4>;
+               mode = "640x480-16@60";
+               little-endian;
+               smi,devices = "usb-host", "uart0";
+               swap-fb-endian;
+
+               crt {
+                       smi,flags = "use-init-done",
+                                   "disable-at-exit",
+                                   "use-hwcursor",
+                                   "use-hwaccel";
+               };
+
+               panel {
+                       bpp = <16>;
+                       edid = [00 ff ff ff ff ff ff 00 00 00 00 00 00 00 00 00
+                               00 00 01 04 00 00 00 00 00 00 00 00 00 00 00 00
+                               00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+                               00 00 00 00 00 00 f0 0a 80 fb 20 e0 25 10 32 60
+                               02 00 00 00 00 00 00 06 00 00 00 00 00 00 00 00
+                               00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+                               00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+                               00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
bd];
+                       smi,flags = "use-init-done",
+                                   "disable-at-exit",
+                                   "use-hwcursor",
+                                   "use-hwaccel";
+               };
+               misc-timing {
+                       ex = <16>;
+                       xc = "internal-pll";
+                       us = "disable";
+               };
+               misc-control {
+                       pad = <24>;
+                       usbclk = "crystal";
+                       sh = "active-low";
+               };
+               gpio-pin-control {
+                       pin@0 {
+                               gpio-port;
+                       };
+                       pin@1 {
+                               function;
+                       };
+               };
+
+               gpio-i2c {
+                        i2c@0 {
+                              sda = <1>;
+                              scl = <2>;
+                              delay = <100>;
+                              timeout = <1000>;
+                        };
+               };
+       };
+
+       compact-flash@b4001000 {
+               compatible = "renesas,rts7751r2d-ata", "ata-generic";
+               reg = <0xb4001000 0x0e>, <0xb400080c 2>;
+               reg-shift = <1>;
+               interrupt-parent = <&r2dintc>;
+               interrupts = <1>;
+       };
+
+       flash@0 {
+               compatible = "cfi-flash";
+               reg = <0x00000000 0x02000000>;
+               device-width = <2>;
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+               partition@0 {
+                       label = "U-Boot";
+                       reg = <0x00000000 0x00040000>;
+               };
+
+               partition@1 {
+                       label = "Environemt";
+                       reg = <0x00040000 0x00040000>;
+               };
+
+               partition@2 {
+                       label = "Kernel";
+                       reg = <0x00080000 0x001c0000>;
+               };
+
+               partition@3 {
+                       label = "Flash_FS";
+                       reg = <0x00240000 0x00dc0000>;
+               };
+       };
+};
+
+&xtal {
+       clock-frequency = <22222222>;
+};
+
+&cpg {
+       renesas,mode = <5>;
+};
+
+&scif1 {
+       status = "okay";
+};
+
+&pcic {
+       ranges = <0x02000000 0 0xfd000000 0xfd000000 0 0x01000000>,
+                <0x01000000 0 0x00000000 0xfe240000 0 0x00040000>;
+       dma-ranges = <0x02000000 0 0x0c000000 0x0c000000 0 0x04000000>;
+
+       interrupt-map = <0x0000 0 0 1 &r2dintc 9>,
+                       <0x0000 0 0 2 &r2dintc 10>,
+                       <0x0000 0 0 3 &r2dintc 3>,
+                       <0x0000 0 0 4 &r2dintc 0>,
+                       <0x0800 0 0 1 &r2dintc 10>,
+                       <0x0800 0 0 2 &r2dintc 3>,
+                       <0x0800 0 0 3 &r2dintc 0>,
+                       <0x0800 0 0 4 &r2dintc 9>,
+                       <0x1000 0 0 1 &r2dintc 3>,
+                       <0x1000 0 0 2 &r2dintc 0>,
+                       <0x1000 0 0 3 &r2dintc 9>,
+                       <0x1000 0 0 4 &r2dintc 10>;
+                       interrupt-map-mask = <0x1800 0 0 7>;
+       pci-bar = <0 0xab000001>, <2 0xd0000000>;
+       pci-command-reg-io-space;
+       status = "okay";
+};
diff --git a/arch/sh/boot/dts/sh7751r.dtsi b/arch/sh/boot/dts/sh7751r.dtsi
index f006f7bacf99..02d1e8c3eef2 100644
--- a/arch/sh/boot/dts/sh7751r.dtsi
+++ b/arch/sh/boot/dts/sh7751r.dtsi
@@ -142,6 +142,10 @@ pcic: pci@fe200000 {
                        bus-range = <0 0>;
                        reg = <0xfe200000 0x0400>,
                              <0xff800000 0x0100>;
+                       pci-command-reg-special-cycle;
+                       pci-command-reg-parity-error-response;
+                       pci-command-reg-bus-master;
+                       pci-command-reg-memory-space;
                        status = "disabled";
                };
        };
-- 
2.39.2

Reply via email to