svn commit: r308746 - in head/sys/gnu/dts: include/dt-bindings/dma include/dt-bindings/net mips/ingenic
Ruslan Bukin
br at FreeBSD.org
Thu Nov 17 11:31:14 UTC 2016
Author: br
Date: Thu Nov 17 11:31:13 2016
New Revision: 308746
URL: https://svnweb.freebsd.org/changeset/base/308746
Log:
Import Ingenic CI20 (jz4780) DTS files.
Submitted by: kan
Sponsored by: DARPA, AFRL
Added:
head/sys/gnu/dts/include/dt-bindings/dma/jz4780-dma.h (contents, props changed)
head/sys/gnu/dts/include/dt-bindings/net/rfkill-regulator.h (contents, props changed)
head/sys/gnu/dts/mips/ingenic/
head/sys/gnu/dts/mips/ingenic/ci20.dts (contents, props changed)
head/sys/gnu/dts/mips/ingenic/jz4780.dtsi (contents, props changed)
Added: head/sys/gnu/dts/include/dt-bindings/dma/jz4780-dma.h
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sys/gnu/dts/include/dt-bindings/dma/jz4780-dma.h Thu Nov 17 11:31:13 2016 (r308746)
@@ -0,0 +1,49 @@
+#ifndef __DT_BINDINGS_DMA_JZ4780_DMA_H__
+#define __DT_BINDINGS_DMA_JZ4780_DMA_H__
+
+/*
+ * Request type numbers for the JZ4780 DMA controller (written to the DRTn
+ * register for the channel).
+ */
+#define JZ4780_DMA_I2S1_TX 0x4
+#define JZ4780_DMA_I2S1_RX 0x5
+#define JZ4780_DMA_I2S0_TX 0x6
+#define JZ4780_DMA_I2S0_RX 0x7
+#define JZ4780_DMA_AUTO 0x8
+#define JZ4780_DMA_SADC_RX 0x9
+#define JZ4780_DMA_UART4_TX 0xc
+#define JZ4780_DMA_UART4_RX 0xd
+#define JZ4780_DMA_UART3_TX 0xe
+#define JZ4780_DMA_UART3_RX 0xf
+#define JZ4780_DMA_UART2_TX 0x10
+#define JZ4780_DMA_UART2_RX 0x11
+#define JZ4780_DMA_UART1_TX 0x12
+#define JZ4780_DMA_UART1_RX 0x13
+#define JZ4780_DMA_UART0_TX 0x14
+#define JZ4780_DMA_UART0_RX 0x15
+#define JZ4780_DMA_SSI0_TX 0x16
+#define JZ4780_DMA_SSI0_RX 0x17
+#define JZ4780_DMA_SSI1_TX 0x18
+#define JZ4780_DMA_SSI1_RX 0x19
+#define JZ4780_DMA_MSC0_TX 0x1a
+#define JZ4780_DMA_MSC0_RX 0x1b
+#define JZ4780_DMA_MSC1_TX 0x1c
+#define JZ4780_DMA_MSC1_RX 0x1d
+#define JZ4780_DMA_MSC2_TX 0x1e
+#define JZ4780_DMA_MSC2_RX 0x1f
+#define JZ4780_DMA_PCM0_TX 0x20
+#define JZ4780_DMA_PCM0_RX 0x21
+#define JZ4780_DMA_SMB0_TX 0x24
+#define JZ4780_DMA_SMB0_RX 0x25
+#define JZ4780_DMA_SMB1_TX 0x26
+#define JZ4780_DMA_SMB1_RX 0x27
+#define JZ4780_DMA_SMB2_TX 0x28
+#define JZ4780_DMA_SMB2_RX 0x29
+#define JZ4780_DMA_SMB3_TX 0x2a
+#define JZ4780_DMA_SMB3_RX 0x2b
+#define JZ4780_DMA_SMB4_TX 0x2c
+#define JZ4780_DMA_SMB4_RX 0x2d
+#define JZ4780_DMA_DES_TX 0x2e
+#define JZ4780_DMA_DES_RX 0x2f
+
+#endif /* __DT_BINDINGS_DMA_JZ4780_DMA_H__ */
Added: head/sys/gnu/dts/include/dt-bindings/net/rfkill-regulator.h
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sys/gnu/dts/include/dt-bindings/net/rfkill-regulator.h Thu Nov 17 11:31:13 2016 (r308746)
@@ -0,0 +1,23 @@
+/*
+ * This header provides macros for rfkill-regulator bindings.
+ *
+ * Copyright (C) 2014 Marek Belisko <marek at goldelico.com>
+ *
+ * GPLv2 only
+ */
+
+#ifndef __DT_BINDINGS_RFKILL_REGULATOR_H__
+#define __DT_BINDINGS_RFKILL_REGULATOR_H__
+
+
+#define RFKILL_TYPE_ALL (0)
+#define RFKILL_TYPE_WLAN (1)
+#define RFKILL_TYPE_BLUETOOTH (2)
+#define RFKILL_TYPE_UWB (3)
+#define RFKILL_TYPE_WIMAX (4)
+#define RFKILL_TYPE_WWAN (5)
+#define RFKILL_TYPE_GPS (6)
+#define RFKILL_TYPE_FM (7)
+#define RFKILL_TYPE_NFC (8)
+
+#endif /* __DT_BINDINGS_RFKILL_REGULATOR_H__ */
Added: head/sys/gnu/dts/mips/ingenic/ci20.dts
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sys/gnu/dts/mips/ingenic/ci20.dts Thu Nov 17 11:31:13 2016 (r308746)
@@ -0,0 +1,395 @@
+/dts-v1/;
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/net/rfkill-regulator.h>
+#include "jz4780.dtsi"
+
+/ {
+ compatible = "imgtec,ci20", "ingenic,jz4780";
+
+ aliases {
+ serial0 = &uart0;
+ serial1 = &uart1;
+ serial3 = &uart3;
+ serial4 = &uart4;
+ };
+
+ chosen {
+ stdout-path = &uart4;
+ };
+
+ memory {
+ device_type = "memory";
+ reg = <0x0 0x10000000
+ 0x30000000 0x30000000>;
+ };
+
+ audio: audio-ci20 {
+ compatible = "ingenic,ci20-audio";
+ ingenic,i2s-controller = <&i2s>;
+ ingenic,codec = <&codec>;
+ };
+
+ eth0_power: fixedregulator at 0 {
+ compatible = "regulator-fixed";
+ regulator-name = "eth0_power";
+ gpio = <&gpb 25 GPIO_ACTIVE_LOW>;
+ enable-active-high;
+ };
+
+ hdmi_power: fixedregulator at 1 {
+ compatible = "regulator-fixed";
+ regulator-name = "hdmi_power";
+ gpio = <&gpa 25 GPIO_ACTIVE_LOW>;
+ enable-active-high;
+ regulator-always-on;
+ };
+
+ wifi_power: fixedregulator at 2 {
+ compatible = "regulator-fixed";
+ regulator-name = "wifi_power_gpio";
+ gpio = <&gpb 19 0>;
+ enable-active-high;
+
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ };
+
+ /* HACK: Keeping wifi reset high. No simple driver fix */
+ wifi_reset: fixedregulator at 3 {
+ compatible = "regulator-fixed";
+ regulator-name = "wifi_reset_gpio";
+ gpio = <&gpf 7 0>;
+ enable-active-high;
+ regulator-always-on;
+ };
+
+ /* HACK: Keeping BT reset high. No simple driver fix */
+ bt_reset: fixedregulator at 4 {
+ compatible = "regulator-fixed";
+ regulator-name = "bt_reset_gpio";
+ gpio = <&gpf 8 0>;
+ enable-active-high;
+ };
+
+ /* HACK: Keeping BT_reg_on high. No simple driver fix */
+ bt_reg_on: fixedregulator at 5 {
+ compatible = "regulator-fixed";
+ regulator-name = "bt_reg_on_gpio";
+ gpio = <&gpf 4 0>;
+ enable-active-high;
+ regulator-always-on;
+ };
+
+ /* HACK: Keeping BT wake high. No simple driver fix */
+ bt_wake: fixedregulator at 6 {
+ compatible = "regulator-fixed";
+ regulator-name = "bt_wake_gpio";
+ gpio = <&gpf 5 0>;
+ enable-active-high;
+ regulator-always-on;
+ };
+
+ ir: ir-receiver {
+ compatible = "gpio-ir-receiver";
+ gpios = <&gpe 3 GPIO_ACTIVE_LOW>;
+ };
+
+ bt-rfkill {
+ compatible = "rfkill-regulator";
+ label = "bt-reset";
+ type = <RFKILL_TYPE_BLUETOOTH>;
+ vrfkill-supply = <&bt_reset>;
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ led3 {
+ gpios = <&gpc 0 0>;
+ linux,default-trigger = "cpu0";
+ };
+ led2 {
+ gpios = <&gpc 1 0>;
+ linux,default-trigger = "cpu1";
+ };
+ led1 {
+ gpios = <&gpc 2 0>;
+ linux,default-trigger = "nand-disk";
+ };
+ led0 {
+ gpios = <&gpc 3 0>;
+ linux,default-trigger = "none";
+ };
+ };
+};
+
+&ext {
+ clock-frequency = <48000000>;
+};
+
+&msc0 {
+ bus-width = <4>;
+ max-frequency = <50000000>;
+ cd-gpios = <&gpf 20 GPIO_ACTIVE_LOW>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_msc0_pe>;
+};
+
+&msc1 {
+ bus-width = <4>;
+ max-frequency = <24000000>;
+ status = "okay";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_msc1_pd>;
+ vmmc-supply = <&wifi_power>;
+};
+
+&ehci {
+ ingenic,vbus-gpio = <&gpf 15 0>;
+};
+
+&ohci {
+ ingenic,vbus-gpio = <&gpf 15 0>;
+};
+
+&nemc {
+ /*
+ * Only CLE/ALE are needed for the devices that are connected, rather
+ * than the full address line set.
+ */
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_nemc_data
+ &pins_nemc_cle_ale
+ &pins_nemc_rd_we
+ &pins_nemc_frd_fwe>;
+
+ nand: nand at 1 {
+ compatible = "ingenic,jz4780-nand";
+ reg = <1 0 0x1000000>;
+
+ ingenic,nemc-tAS = <10>;
+ ingenic,nemc-tAH = <5>;
+ ingenic,nemc-tBP = <10>;
+ ingenic,nemc-tAW = <15>;
+ ingenic,nemc-tSTRV = <100>;
+
+ ingenic,bch-device = <&bch>;
+ ingenic,ecc-size = <1024>;
+ ingenic,ecc-strength = <24>;
+
+ ingenic,busy-gpio = <&gpa 20 GPIO_ACTIVE_LOW>;
+ ingenic,wp-gpio = <&gpf 22 GPIO_ACTIVE_LOW>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_nemc_cs1>;
+
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ partition at 0 {
+ label = "u-boot-spl";
+ reg = <0x0 0x0 0x0 0x800000>;
+ };
+
+ partition at 0x800000 {
+ label = "u-boot";
+ reg = <0x0 0x800000 0x0 0x200000>;
+ };
+
+ partition at 0xa00000 {
+ label = "u-boot-env";
+ reg = <0x0 0xa00000 0x0 0x200000>;
+ };
+
+ partition at 0xc00000 {
+ label = "boot";
+ reg = <0x0 0xc00000 0x0 0x4000000>;
+ };
+
+ partition at 0x8c00000 {
+ label = "system";
+ reg = <0x0 0x4c00000 0x1 0xfb400000>;
+ };
+ };
+
+ dm9000 at 6 {
+ compatible = "davicom,dm9000";
+ davicom,no-eeprom;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_nemc_cs6>;
+
+ reg = <6 0x0 1 /* addr */
+ 6 0x2 1>; /* data */
+
+ ingenic,nemc-tAS = <15>;
+ ingenic,nemc-tAH = <10>;
+ ingenic,nemc-tBP = <20>;
+ ingenic,nemc-tAW = <50>;
+ ingenic,nemc-tSTRV = <100>;
+
+ reset-gpios = <&gpf 12 GPIO_ACTIVE_HIGH>;
+ vcc-supply = <ð0_power>;
+
+ interrupt-parent = <&gpe>;
+ interrupts = <19 0x4>;
+ };
+};
+
+&uart0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_uart0_data>;
+};
+
+&uart1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_uart1_data>;
+};
+
+&uart2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_uart2_dataplusflow>;
+};
+
+&uart3 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_uart3_data>;
+};
+
+&uart4 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_uart4_data>;
+};
+
+&i2c0 {
+ clock-frequency = <100000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_i2c0_data>;
+
+ pmic: act8600 at 5a {
+ compatible = "active-semi,act8600";
+ reg = <0x5a>;
+
+ regulators {
+ vcore1v_reg: DCDC_REG1 {
+ regulator-name = "vcore1v2";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1400000>;
+ regulator-always-on;
+ };
+
+ vddmem1v5_reg: DCDC_REG2 {
+ regulator-name = "vddmem1v5";
+ regulator-min-microvolt = <1500000>;
+ regulator-max-microvolt = <1500000>;
+ regulator-always-on;
+ };
+
+ vccio3v3_reg: DCDC_REG3 {
+ regulator-name = "vccio3v3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+
+ vcc2v5_reg: LDO_REG5 {
+ regulator-name = "vcc2.5";
+ regulator-min-microvolt = <2500000>;
+ regulator-max-microvolt = <2500000>;
+ regulator-always-on;
+ };
+
+ vwifi_reg: LDO_REG6 {
+ regulator-name = "vwifi3v3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ vcim2v8_reg: LDO_REG7 {
+ regulator-name = "vcim2v8";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ };
+
+ vcim1v5_reg: LDO_REG8 {
+ regulator-name = "vcim1v5";
+ regulator-min-microvolt = <1500000>;
+ regulator-max-microvolt = <1500000>;
+ };
+
+ /* Do not disable RTC as they connect to reset line */
+ vrtc1v8_reg: LDO_REG9 {
+ regulator-name = "vrtc1v8";
+ regulator-always-on;
+ };
+
+ vrtc1v1_reg: LDO_REG10 {
+ regulator-name = "vrtc1v2";
+ regulator-always-on;
+ };
+ };
+ };
+};
+
+&i2c1 {
+ clock-frequency = <100000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_i2c1_data>;
+};
+
+&i2c2 {
+ clock-frequency = <100000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_i2c2_data>;
+
+ ov5640 at 0x3C {
+ compatible = "omnivision,ov5640";
+ reg = <0x3C>;
+
+ core-supply = <&vcim1v5_reg>;
+ analog-supply = <&vcim2v8_reg>;
+
+ gpio-enable = <&gpb 18 0>;
+ gpio-reset = <&gpb 26 0>;
+
+ remote = <&cim>;
+ port {
+ ov5640_1: endpoint {
+ bus-width = <8>;
+ remote-endpoint = <&cim>;
+ };
+ };
+ };
+};
+
+&i2c3 {
+ clock-frequency = <100000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_i2c3_data>;
+};
+
+&i2c4 {
+ clock-frequency = <100000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_i2c4_data_pf>;
+};
+
+&cim {
+ clock-frequency = <24000000>;
+
+ port {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* Parallel bus endpoint */
+ camera: endpoint at 0 {
+ reg = <0>; /* Local endpoint # */
+ remote-endpoint = <&ov5640_1>;
+ hsync-active = <1>; /* Active high */
+ vsync-active = <1>; /* Active high */
+ pclk-sample = <0>; /* Falling */
+ };
+ };
+};
Added: head/sys/gnu/dts/mips/ingenic/jz4780.dtsi
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sys/gnu/dts/mips/ingenic/jz4780.dtsi Thu Nov 17 11:31:13 2016 (r308746)
@@ -0,0 +1,768 @@
+#include <dt-bindings/clock/jz4780-cgu.h>
+#include <dt-bindings/dma/jz4780-dma.h>
+
+/ {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "ingenic,jz4780";
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cpu0: cpu at 0 {
+ compatible = "ingenic,xburst";
+ reg = <0>;
+ };
+ cpu1: cpu at 1 {
+ compatible = "ingenic,xburst";
+ reg = <1>;
+ clocks = <&cgu JZ4780_CLK_CORE1>;
+ };
+ };
+
+ 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>;
+ };
+
+ gpu: jz4780-sgx at 13040000 {
+ compatible = "ingenic,jz4780-sgx";
+ reg = <0x13040000 0x4000>;
+
+ clocks = <&cgu JZ4780_CLK_GPU>;
+ clock-names = "gpu";
+
+ interrupt-parent = <&intc>;
+ interrupts = <63>;
+ };
+
+ 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>;
+ };
+
+ gpe: gpe {
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <13>;
+
+ ingenic,pull-downs = <0x00000483>;
+ ingenic,pull-ups = <0xfffffb7c>;
+ };
+
+ gpf: gpf {
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <12>;
+
+ ingenic,pull-downs = <0x00580ff0>;
+ ingenic,pull-ups = <0xffa7f00f>;
+ };
+
+ pincfg_nobias: nobias {
+ bias-disable;
+ };
+
+ pincfg_pull_up: pull_up {
+ bias-pull-up;
+ };
+
+ pincfg_pull_down: pull_down {
+ bias-pull-down;
+ };
+
+ pinfunc_uart0: uart0 {
+ pins_uart0_data: uart0-data {
+ ingenic,pins = <&gpf 0 0 &pincfg_pull_up /* rxd */
+ &gpf 3 0 &pincfg_nobias>; /* txd */
+ };
+
+ pins_uart0_dataplusflow: uart0-dataplusflow {
+ ingenic,pins = <&gpf 0 0 &pincfg_pull_up /* rxd */
+ &gpf 1 0 &pincfg_nobias /* cts */
+ &gpf 2 0 &pincfg_nobias /* rts */
+ &gpf 3 0 &pincfg_nobias>; /* txd */
+ };
+ };
+
+ pinfunc_uart1: uart1 {
+ pins_uart1_data: uart1-data {
+ ingenic,pins = <&gpd 26 0 &pincfg_pull_up /* rxd */
+ &gpd 28 0 &pincfg_nobias>; /* txd */
+ };
+
+ pins_uart1_dataplusflow: uart1-dataplusflow {
+ ingenic,pins = <&gpd 26 0 &pincfg_pull_up /* rxd */
+ &gpd 27 0 &pincfg_nobias /* cts */
+ &gpd 29 0 &pincfg_nobias /* rts */
+ &gpd 28 0 &pincfg_nobias>; /* txd */
+ };
+ };
+
+ 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_uart3: uart3 {
+ pins_uart3_data: uart3-data {
+ ingenic,pins = <&gpd 12 0 &pincfg_pull_down /* rxd */
+ &gpe 5 1 &pincfg_nobias>; /* txd */
+ };
+
+ pins_uart3_dataplusflow: uart3-dataplusflow {
+ ingenic,pins = <&gpd 12 0 &pincfg_pull_down /* rxd */
+ &gpe 5 1 &pincfg_nobias /* txd */
+ &gpe 8 0 &pincfg_nobias /* cts */
+ &gpe 9 0 &pincfg_nobias>; /* rts */
+ };
+ };
+
+ pinfunc_uart4: uart4 {
+ pins_uart4_data: uart4-data {
+ ingenic,pins = <&gpc 20 2 &pincfg_pull_up /* rxd */
+ &gpc 10 2 &pincfg_nobias>; /* txd */
+ };
+ };
+
+ pinfunc_msc0: msc0 {
+ pins_msc0_pa: msc0-pa {
+ ingenic,pins = <&gpa 4 1 &pincfg_nobias /* d4 */
+ &gpa 5 1 &pincfg_nobias /* d5 */
+ &gpa 6 1 &pincfg_nobias /* d6 */
+ &gpa 7 1 &pincfg_nobias /* d7 */
+ &gpa 18 1 &pincfg_nobias /* clk */
+ &gpa 19 1 &pincfg_nobias /* cmd */
+ &gpa 20 1 &pincfg_nobias /* d0 */
+ &gpa 21 1 &pincfg_nobias /* d1 */
+ &gpa 22 1 &pincfg_nobias /* d2 */
+ &gpa 23 1 &pincfg_nobias /* d3 */
+ &gpa 24 1 &pincfg_nobias>; /* rst */
+ };
+
+ pins_msc0_pe: msc0-pe {
+ ingenic,pins = <&gpe 20 0 &pincfg_nobias /* d0 */
+ &gpe 21 0 &pincfg_nobias /* d1 */
+ &gpe 22 0 &pincfg_nobias /* d2 */
+ &gpe 23 0 &pincfg_nobias /* d3 */
+ &gpe 28 0 &pincfg_nobias /* clk */
+ &gpe 29 0 &pincfg_nobias>; /* cmd */
+ };
+ };
+
+ pinfunc_msc1: msc1 {
+ pins_msc1_pd: msc1-pd {
+ ingenic,pins = <&gpd 20 0 &pincfg_nobias /* d0 */
+ &gpd 21 0 &pincfg_nobias /* d1 */
+ &gpd 22 0 &pincfg_nobias /* d2 */
+ &gpd 23 0 &pincfg_nobias /* d3 */
+ &gpd 24 0 &pincfg_nobias /* clk */
+ &gpd 25 0 &pincfg_nobias>; /* cmd */
+ };
+
+ pins_msc1_pe: msc1-pe {
+ ingenic,pins = <&gpe 20 1 &pincfg_nobias /* d0 */
+ &gpe 21 1 &pincfg_nobias /* d1 */
+ &gpe 22 1 &pincfg_nobias /* d2 */
+ &gpe 23 1 &pincfg_nobias /* d3 */
+ &gpe 28 1 &pincfg_nobias /* clk */
+ &gpe 29 1 &pincfg_nobias>; /* cmd */
+ };
+ };
+
+ pinfunc_nemc: nemc {
+ pins_nemc_data: nemc-data {
+ ingenic,pins = <&gpa 0 0 &pincfg_nobias /* sd0 */
+ &gpa 1 0 &pincfg_nobias /* sd1 */
+ &gpa 2 0 &pincfg_nobias /* sd2 */
+ &gpa 3 0 &pincfg_nobias /* sd3 */
+ &gpa 4 0 &pincfg_nobias /* sd4 */
+ &gpa 5 0 &pincfg_nobias /* sd5 */
+ &gpa 6 0 &pincfg_nobias /* sd6 */
+ &gpa 7 0 &pincfg_nobias>; /* sd7 */
+ };
+
+ pins_nemc_cle_ale: nemc-cle-ale {
+ ingenic,pins = <&gpb 0 0 &pincfg_nobias /* sa0_cl */
+ &gpb 1 0 &pincfg_nobias>; /* sa1_al */
+ };
+
+ pins_nemc_addr: nemc-addr {
+ ingenic,pins = <&gpb 0 0 &pincfg_nobias /* sa0_cl */
+ &gpb 1 0 &pincfg_nobias /* sa1_al */
+ &gpb 2 0 &pincfg_nobias /* sa2 */
+ &gpb 3 0 &pincfg_nobias /* sa3 */
+ &gpb 4 0 &pincfg_nobias /* sa4 */
+ &gpb 5 0 &pincfg_nobias>; /* sa5 */
+ };
+
+ pins_nemc_rd_we: nemc-rd-we {
+ ingenic,pins = <&gpa 16 0 &pincfg_nobias /* rd */
+ &gpa 17 0 &pincfg_nobias>; /* we */
+ };
+
+ pins_nemc_frd_fwe: nemc-frd-fwe {
+ ingenic,pins = <&gpa 18 0 &pincfg_nobias /* rd */
+ &gpa 19 0 &pincfg_nobias>; /* we */
+ };
+
+ pins_nemc_cs1: nemc-cs1 {
+ ingenic,pins = <&gpa 21 0 &pincfg_nobias>; /* cs1 */
+ };
+
+ pins_nemc_cs6: nemc-cs6 {
+ ingenic,pins = <&gpa 26 0 &pincfg_nobias>; /* cs6 */
+ };
+ };
+
+ pinfunc_i2c0: i2c0 {
+ pins_i2c0_data: i2c0-data{
+ ingenic,pins = <&gpd 30 0 &pincfg_nobias /* sda */
+ &gpd 31 0 &pincfg_nobias>; /* sck */
+ };
+ };
+
+ pinfunc_i2c1: i2c1 {
+ pins_i2c1_data: i2c1-data{
+ ingenic,pins = <&gpe 30 0 &pincfg_nobias /* sda */
+ &gpe 31 0 &pincfg_nobias>; /* sck */
+ };
+ };
+
+ pinfunc_i2c2: i2c2 {
+ pins_i2c2_data: i2c2-data{
+ ingenic,pins = <&gpf 16 2 &pincfg_nobias /* sda */
+ &gpf 17 2 &pincfg_nobias>; /* sck */
+ };
+ };
+
+ pinfunc_i2c3: i2c3 {
+ pins_i2c3_data: i2c3-data{
+ ingenic,pins = <&gpd 10 1 &pincfg_nobias /* sda */
+ &gpd 11 1 &pincfg_nobias>; /* sck */
+ };
+ };
+
+ pinfunc_i2c4: i2c4 {
+ pins_i2c4_data: i2c4-data-pe{
+ ingenic,pins = <&gpe 12 1 &pincfg_nobias /* sda */
+ &gpe 13 1 &pincfg_nobias>; /* sck */
+ };
+
+ pins_i2c4_data_pf: i2c4-data-pf{
+ ingenic,pins = <&gpf 25 1 &pincfg_nobias /* hdmi_sda */
+ &gpf 24 1 &pincfg_nobias>; /* hdmi_sck */
+ };
+ };
+
+ pinfunc_cim: cim {
+ pins_cim: cim-pb {
+ ingenic,pins = <&gpb 6 0 &pincfg_nobias
+ &gpb 7 0 &pincfg_nobias
+ &gpb 8 0 &pincfg_nobias
+ &gpb 9 0 &pincfg_nobias
+ &gpb 10 0 &pincfg_nobias
+ &gpb 11 0 &pincfg_nobias
+ &gpb 12 0 &pincfg_nobias
+ &gpb 13 0 &pincfg_nobias
+ &gpb 14 0 &pincfg_nobias
+ &gpb 15 0 &pincfg_nobias
+ &gpb 16 0 &pincfg_nobias
+ &gpb 17 0 &pincfg_nobias>;
+ };
+ };
+ };
+
+ spi_gpio {
+ compatible = "spi-gpio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ num-chipselects = <2>;
+
+ gpio-miso = <&gpe 14 0>;
+ gpio-sck = <&gpe 15 0>;
+ gpio-mosi = <&gpe 17 0>;
+ cs-gpios = <&gpe 16 0
+ &gpe 18 0>;
+
+ spidev at 0 {
+ compatible = "spidev";
+ reg = <0>;
+ spi-max-frequency = <1000000>;
+ };
+ };
+
+ uart0: serial at 10030000 {
+ compatible = "ingenic,jz4780-uart";
+ reg = <0x10030000 0x100>;
+ reg-shift = <2>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <51>;
+
+ 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>;
+
+ 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>;
+
+ clocks = <&ext>, <&cgu JZ4780_CLK_UART3>;
+ clock-names = "baud", "module";
+ };
+
+ uart4: serial at 10034000 {
+ compatible = "ingenic,jz4780-uart";
+ reg = <0x10034000 0x100>;
+ reg-shift = <2>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <34>;
+
+ clocks = <&ext>, <&cgu JZ4780_CLK_UART4>;
+ 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>;
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-head
mailing list