svn commit: r308834 - head/sys/gnu/dts/mips/ingenic
Ruslan Bukin
br at FreeBSD.org
Sat Nov 19 15:03:51 UTC 2016
Author: br
Date: Sat Nov 19 15:03:49 2016
New Revision: 308834
URL: https://svnweb.freebsd.org/changeset/base/308834
Log:
Add Ingenic X1000 DTS files (unofficial).
This is based on JZ4780 due to missing original X1000 parts.
Sponsored by: DARPA, AFRL
Added:
head/sys/gnu/dts/mips/ingenic/canna.dts (contents, props changed)
head/sys/gnu/dts/mips/ingenic/x1000.dtsi (contents, props changed)
Added: head/sys/gnu/dts/mips/ingenic/canna.dts
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sys/gnu/dts/mips/ingenic/canna.dts Sat Nov 19 15:03:49 2016 (r308834)
@@ -0,0 +1,42 @@
+/dts-v1/;
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/net/rfkill-regulator.h>
+#include "x1000.dtsi"
+
+/ {
+ compatible = "ingenic,x1000";
+
+ aliases {
+ serial0 = &uart0;
+ serial1 = &uart1;
+ serial2 = &uart2;
+ serial3 = &uart3;
+ };
+
+ chosen {
+ stdout-path = &uart2;
+ };
+
+ memory {
+ device_type = "memory";
+ reg = <0x0 0x2000000>; /* 32 MiB at 0x0 */
+ };
+};
+
+&ext {
+ clock-frequency = <48000000>;
+};
+
+&msc0 {
+ bus-width = <4>;
+ max-frequency = <6000000>;
+ status = "okay";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_msc0_pa>;
+};
+
+&uart2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_uart2_dataplusflow>;
+};
Added: head/sys/gnu/dts/mips/ingenic/x1000.dtsi
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sys/gnu/dts/mips/ingenic/x1000.dtsi Sat Nov 19 15:03:49 2016 (r308834)
@@ -0,0 +1,420 @@
+#include <dt-bindings/clock/jz4780-cgu.h>
+#include <dt-bindings/dma/jz4780-dma.h>
+
+/ {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "ingenic,x1000";
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cpu0: cpu at 0 {
+ compatible = "ingenic,xburst";
+ reg = <0>;
+ };
+ };
+
+ cpuintc: cpuintc at 0 {
+ #address-cells = <0>;
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ compatible = "mti,cpu-interrupt-controller";
+ };
+
+ intc: intc at 10001000 {
+ compatible = "ingenic,jz4780-intc";
+ reg = <0x10001000 0x50>;
+
+ interrupt-controller;
+ #interrupt-cells = <1>;
+
+ interrupt-parent = <&cpuintc>;
+ interrupts = <2>;
+ };
+
+ ext: ext {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ };
+
+ rtc: rtc {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <32768>;
+ };
+
+ cgu: jz4780-cgu at 10000000 {
+ compatible = "ingenic,jz4780-cgu";
+ reg = <0x10000000 0x100>;
+
+ clocks = <&ext>, <&rtc>;
+ clock-names = "ext", "rtc";
+
+ #clock-cells = <1>;
+ };
+
+ apb {
+ compatible = "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <>;
+
+ tcu at 0x10002000 {
+ compatible = "ingenic,jz4780-tcu";
+ reg = <0x10002000 0x140>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <27 26 25>;
+ };
+
+ watchdog: jz47xx-watchdog at 0x10002000 {
+ compatible = "ingenic,jz4780-watchdog";
+ reg = <0x10002000 0x100>;
+
+ clocks = <&rtc>;
+ clock-names = "rtc";
+ };
+
+ rtcdev: rtcdev at 10003000 {
+ compatible = "ingenic,jz4780-rtc";
+ reg = <0x10003000 0x4c>;
+ interrupt-parent = <&intc>;
+ interrupts = <32>;
+ };
+
+ i2s: i2s at 10020000 {
+ compatible = "ingenic,jz4780-i2s";
+ reg = <0x10020000 0x94>;
+
+ clocks = <&cgu JZ4780_CLK_AIC>, <&cgu JZ4780_CLK_I2SPLL>;
+ clock-names = "aic", "i2s";
+
+ dmas = <&dma 0 JZ4780_DMA_I2S0_RX 0xffffffff>, <&dma JZ4780_DMA_I2S0_TX 0 0xffffffff>;
+ dma-names = "rx" , "tx";
+
+ };
+
+ codec: codec at 100200a4 {
+ compatible = "ingenic,jz4780-codec";
+ reg = <0x100200a4 0x8>;
+
+ clocks = <&cgu JZ4780_CLK_I2SPLL>;
+ clock-names = "i2s";
+
+ };
+
+ pinctrl at 0x10010000 {
+ compatible = "ingenic,jz4780-pinctrl";
+ reg = <0x10010000 0x600>;
+
+ gpa: gpa {
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <17>;
+
+ ingenic,pull-ups = <0x3fffffff>;
+ };
+
+ gpb: gpb {
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <16>;
+
+ ingenic,pull-downs = <0x000f0c03>;
+ ingenic,pull-ups = <0xfff0030c>;
+ };
+
+ gpc: gpc {
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <15>;
+
+ ingenic,pull-ups = <0xffffffff>;
+ };
+
+ gpd: gpd {
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <14>;
+
+ ingenic,pull-downs = <0x0000b000>;
+ ingenic,pull-ups = <0xffff4fff>;
+ };
+
+ pincfg_nobias: nobias {
+ bias-disable;
+ };
+
+ pincfg_pull_up: pull_up {
+ bias-pull-up;
+ };
+
+ pincfg_pull_down: pull_down {
+ bias-pull-down;
+ };
+
+ pinfunc_uart2: uart2 {
+ pins_uart2_data: uart2-data {
+ ingenic,pins = <&gpd 6 1 &pincfg_nobias /* rxd */
+ &gpd 7 1 &pincfg_nobias>; /* txd */
+ };
+
+ pins_uart2_dataplusflow: uart2-dataplusflow {
+ ingenic,pins = <&gpd 6 1 &pincfg_nobias /* rxd */
+ &gpd 5 1 &pincfg_nobias /* cts */
+ &gpd 4 1 &pincfg_nobias /* rts */
+ &gpd 7 1 &pincfg_nobias>; /* txd */
+ };
+ };
+
+ pinfunc_msc0: msc0 {
+ pins_msc0_pa: msc0-pa {
+ ingenic,pins = <&gpa 16 1 &pincfg_nobias /* d7 */
+ &gpa 17 1 &pincfg_nobias /* d6 */
+ &gpa 18 1 &pincfg_nobias /* d5 */
+ &gpa 19 1 &pincfg_nobias /* d4 */
+ &gpa 20 1 &pincfg_nobias /* d3 */
+ &gpa 21 1 &pincfg_nobias /* d2 */
+ &gpa 22 1 &pincfg_nobias /* d1 */
+ &gpa 23 1 &pincfg_nobias /* d0 */
+ &gpa 24 1 &pincfg_nobias /* clk */
+ &gpa 25 1 &pincfg_nobias>; /* cmd */
+ };
+ };
+
+ pinfunc_cim: cim {
+ pins_cim: cim-pb {
+ ingenic,pins = < /* Fill me. */ >;
+ };
+ };
+ };
+
+ uart0: serial at 10030000 {
+ compatible = "ingenic,jz4780-uart";
+ reg = <0x10030000 0x100>;
+ reg-shift = <2>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <51>;
+ status = "disabled";
+
+ clocks = <&ext>, <&cgu JZ4780_CLK_UART0>;
+ clock-names = "baud", "module";
+ };
+
+ uart1: serial at 10031000 {
+ compatible = "ingenic,jz4780-uart";
+ reg = <0x10031000 0x100>;
+ reg-shift = <2>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <50>;
+ status = "disabled";
+
+ clocks = <&ext>, <&cgu JZ4780_CLK_UART1>;
+ clock-names = "baud", "module";
+ };
+
+ uart2: serial at 10032000 {
+ compatible = "ingenic,jz4780-uart";
+ reg = <0x10032000 0x100>;
+ reg-shift = <2>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <49>;
+
+ clocks = <&ext>, <&cgu JZ4780_CLK_UART2>;
+ clock-names = "baud", "module";
+ };
+
+ uart3: serial at 10033000 {
+ compatible = "ingenic,jz4780-uart";
+ reg = <0x10033000 0x100>;
+ reg-shift = <2>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <48>;
+ status = "disabled";
+
+ clocks = <&ext>, <&cgu JZ4780_CLK_UART3>;
+ clock-names = "baud", "module";
+ };
+
+ i2c0: i2c0 at 0x10050000 {
+ compatible = "ingenic,jz4780-i2c";
+ reg = <0x10050000 0x1000>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <60>;
+
+ clocks = <&cgu JZ4780_CLK_SMB0>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ i2c1: i2c1 at 0x10051000 {
+ compatible = "ingenic,jz4780-i2c";
+ reg = <0x10051000 0x1000>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <59>;
+
+ clocks = <&cgu JZ4780_CLK_SMB1>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ i2c2: i2c2 at 0x10052000 {
+ compatible = "ingenic,jz4780-i2c";
+ reg = <0x10052000 0x1000>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <58>;
+
+ clocks = <&cgu JZ4780_CLK_SMB2>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ lpcr: lcr at 0x10000004 {
+ compatible = "ingenic,jz4780-lcr";
+ reg = <0x10000004 0x4>;
+
+ regulators {
+ vpu_power: VPU {
+ };
+ gpu_power: GPU {
+ };
+ gps_power: GPS {
+ };
+ };
+ };
+ };
+
+ ahb2 {
+ compatible = "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <>;
+
+ lcd: jz4780-lcdk at 0x13050000 {
+ compatible = "ingenic,jz4780-lcd";
+ reg = <0x13050000 0x1800>;
+
+ clocks = <&cgu JZ4780_CLK_TVE>, <&cgu JZ4780_CLK_LCD0PIXCLK>;
+ clock-names = "lcd_clk", "lcd_pixclk";
+
+ interrupt-parent = <&intc>;
+ interrupts = <31>;
+ };
+
+ cim: jz4780-cim at 0x13060000 {
+ compatible = "ingenic,jz4780-cim";
+ reg = <0x13060000 0x68>;
+ reg-shift = <2>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <30>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_cim>;
+
+ clocks = <&cgu JZ4780_CLK_CIM>, <&cgu JZ4780_CLK_CIMMCLK>;
+ clock-names = "cim", "module";
+ };
+
+ efuse: efuse at 13540000 {
+ compatible = "ingenic,jz4780-efuse";
+ reg = <0x13540000 0xFF>;
+
+ clocks = <&cgu JZ4780_CLK_AHB2>;
+ clock-names = "bus_clk";
+ };
+
+ dma: dma at 13420000 {
+ compatible = "ingenic,jz4780-dma";
+ reg = <0x13420000 0x10000>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <10>;
+
+ clocks = <&cgu JZ4780_CLK_PDMA>;
+
+ #dma-cells = <3>;
+ };
+
+ msc0: msc at 13450000 {
+ compatible = "ingenic,jz4780-mmc";
+ reg = <0x13450000 0x1000>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <37>;
+
+ clocks = <&cgu JZ4780_CLK_MSC0>;
+ clock-names = "mmc";
+
+ cap-sd-highspeed;
+ cap-mmc-highspeed;
+ cap-sdio-irq;
+
+ dmas = <&dma JZ4780_DMA_MSC0_TX JZ4780_DMA_MSC0_RX 0xffffffff>;
+ dma-names = "rx-tx";
+ };
+
+ msc1: msc at 13460000 {
+ compatible = "ingenic,jz4780-mmc";
+ reg = <0x13460000 0x1000>;
+
+ status = "disabled";
+
+ interrupt-parent = <&intc>;
+ interrupts = <36>;
+
+ clocks = <&cgu JZ4780_CLK_MSC1>;
+ clock-names = "mmc";
+
+ cap-sd-highspeed;
+ cap-mmc-highspeed;
+ cap-sdio-irq;
+
+ dmas = <&dma JZ4780_DMA_MSC1_TX JZ4780_DMA_MSC1_RX 0xffffffff>;
+ dma-names = "rx-tx";
+ };
+
+ otg: jz4780-otg at 0x13500000 {
+ compatible = "ingenic,jz4780-otg";
+ reg = <0x13500000 0x40000>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <21>;
+
+ clocks = <&cgu JZ4780_CLK_OTGPHY>, <&cgu JZ4780_CLK_OTG1>;
+ clock-names = "otg_phy", "otg1";
+ };
+ };
+};
More information about the svn-src-head
mailing list