0001 // SPDX-License-Identifier: GPL-2.0
0002 /dts-v1/;
0003
0004 #include "x1000.dtsi"
0005 #include <dt-bindings/gpio/gpio.h>
0006 #include <dt-bindings/clock/ingenic,sysost.h>
0007 #include <dt-bindings/interrupt-controller/irq.h>
0008
0009 / {
0010 compatible = "yna,cu1000-neo", "ingenic,x1000e";
0011 model = "YSH & ATIL General Board CU1000-Neo";
0012
0013 aliases {
0014 serial2 = &uart2;
0015 };
0016
0017 chosen {
0018 stdout-path = "serial2:115200n8";
0019 };
0020
0021 memory {
0022 device_type = "memory";
0023 reg = <0x0 0x04000000>;
0024 };
0025
0026 leds {
0027 compatible = "gpio-leds";
0028 led-0 {
0029 gpios = <&gpb 21 GPIO_ACTIVE_HIGH>;
0030 linux,default-trigger = "mmc0";
0031 };
0032 };
0033
0034 wlan_pwrseq: msc1-pwrseq {
0035 compatible = "mmc-pwrseq-simple";
0036
0037 reset-gpios = <&gpc 17 GPIO_ACTIVE_LOW>;
0038 post-power-on-delay-ms = <200>;
0039 };
0040 };
0041
0042 &exclk {
0043 clock-frequency = <24000000>;
0044 };
0045
0046 &cgu {
0047 /*
0048 * Use the 32.768 kHz oscillator as the parent of the RTC for a higher
0049 * precision.
0050 */
0051 assigned-clocks = <&cgu X1000_CLK_RTC>;
0052 assigned-clock-parents = <&cgu X1000_CLK_RTCLK>;
0053 };
0054
0055 &ost {
0056 /* 1500 kHz for the system timer and clocksource */
0057 assigned-clocks = <&ost OST_CLK_EVENT_TIMER>, <&ost OST_CLK_GLOBAL_TIMER>;
0058 assigned-clock-rates = <1500000>, <1500000>;
0059 };
0060
0061 &uart2 {
0062 status = "okay";
0063
0064 pinctrl-names = "default";
0065 pinctrl-0 = <&pins_uart2>;
0066 };
0067
0068 &ssi {
0069 status = "okay";
0070
0071 num-cs = <2>;
0072 cs-gpios = <0>, <&gpc 20 GPIO_ACTIVE_LOW>;
0073
0074 pinctrl-names = "default";
0075 pinctrl-0 = <&pins_ssi>;
0076
0077 sc16is752: expander@0 {
0078 compatible = "nxp,sc16is752";
0079 reg = <0>; /* CE0 */
0080
0081 spi-rx-bus-width = <1>;
0082 spi-tx-bus-width = <1>;
0083 spi-max-frequency = <4000000>;
0084
0085 clocks = <&exclk_sc16is752>;
0086
0087 interrupt-parent = <&gpc>;
0088 interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
0089
0090 gpio-controller;
0091 #gpio-cells = <2>;
0092
0093 exclk_sc16is752: sc16is752 {
0094 compatible = "fixed-clock";
0095 #clock-cells = <0>;
0096 clock-frequency = <48000000>;
0097 };
0098 };
0099 };
0100
0101 &i2c0 {
0102 status = "okay";
0103
0104 clock-frequency = <400000>;
0105
0106 pinctrl-names = "default";
0107 pinctrl-0 = <&pins_i2c0>;
0108
0109 ads7830: adc@48 {
0110 compatible = "ti,ads7830";
0111 reg = <0x48>;
0112 };
0113 };
0114
0115 &msc0 {
0116 status = "okay";
0117
0118 bus-width = <8>;
0119 max-frequency = <50000000>;
0120
0121 pinctrl-names = "default";
0122 pinctrl-0 = <&pins_msc0>;
0123
0124 non-removable;
0125 };
0126
0127 &msc1 {
0128 status = "okay";
0129
0130 #address-cells = <1>;
0131 #size-cells = <0>;
0132 bus-width = <4>;
0133 max-frequency = <50000000>;
0134
0135 pinctrl-names = "default";
0136 pinctrl-0 = <&pins_msc1>;
0137
0138 non-removable;
0139
0140 mmc-pwrseq = <&wlan_pwrseq>;
0141
0142 ap6212a: wifi@1 {
0143 compatible = "brcm,bcm4329-fmac";
0144 reg = <1>;
0145
0146 interrupt-parent = <&gpc>;
0147 interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
0148 interrupt-names = "host-wake";
0149
0150 brcm,drive-strength = <10>;
0151 };
0152 };
0153
0154 &mac {
0155 status = "okay";
0156
0157 phy-mode = "rmii";
0158 phy-handle = <&lan8720a>;
0159
0160 pinctrl-names = "default";
0161 pinctrl-0 = <&pins_mac>;
0162
0163 snps,reset-gpio = <&gpc 23 GPIO_ACTIVE_LOW>; /* PC23 */
0164 snps,reset-active-low;
0165 snps,reset-delays-us = <0 10000 30000>;
0166 };
0167
0168 &mdio {
0169 status = "okay";
0170
0171 lan8720a: ethernet-phy@0 {
0172 compatible = "ethernet-phy-id0007.c0f0", "ethernet-phy-ieee802.3-c22";
0173 reg = <0>;
0174 };
0175 };
0176
0177 &otg_phy {
0178 status = "okay";
0179 };
0180
0181 &otg {
0182 status = "okay";
0183 };
0184
0185 &pinctrl {
0186 pins_uart2: uart2 {
0187 function = "uart2";
0188 groups = "uart2-data-d";
0189 bias-pull-up;
0190 };
0191
0192 pins_ssi: ssi {
0193 function = "ssi";
0194 groups = "ssi-dt-d", "ssi-dr-d", "ssi-clk-d", "ssi-ce0-d";
0195 bias-disable;
0196 };
0197
0198 pins_i2c0: i2c0 {
0199 function = "i2c0";
0200 groups = "i2c0-data";
0201 bias-pull-up;
0202 };
0203
0204 pins_msc0: msc0 {
0205 function = "mmc0";
0206 groups = "mmc0-1bit", "mmc0-4bit", "mmc0-8bit";
0207 bias-disable;
0208 };
0209
0210 pins_msc1: msc1 {
0211 function = "mmc1";
0212 groups = "mmc1-1bit", "mmc1-4bit";
0213 bias-disable;
0214 };
0215
0216 pins_mac: mac {
0217 function = "mac";
0218 groups = "mac";
0219 bias-disable;
0220 };
0221 };