1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2c66ec88fSEmmanuel Vadot/dts-v1/; 3c66ec88fSEmmanuel Vadot 4c66ec88fSEmmanuel Vadot#include "x1830.dtsi" 5c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 65def4c47SEmmanuel Vadot#include <dt-bindings/clock/ingenic,sysost.h> 7c66ec88fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadot/ { 10c66ec88fSEmmanuel Vadot compatible = "yna,cu1830-neo", "ingenic,x1830"; 11c66ec88fSEmmanuel Vadot model = "YSH & ATIL General Board CU1830-Neo"; 12c66ec88fSEmmanuel Vadot 13c66ec88fSEmmanuel Vadot aliases { 14c66ec88fSEmmanuel Vadot serial1 = &uart1; 15c66ec88fSEmmanuel Vadot }; 16c66ec88fSEmmanuel Vadot 17c66ec88fSEmmanuel Vadot chosen { 18c66ec88fSEmmanuel Vadot stdout-path = "serial1:115200n8"; 19c66ec88fSEmmanuel Vadot }; 20c66ec88fSEmmanuel Vadot 21c66ec88fSEmmanuel Vadot memory { 22c66ec88fSEmmanuel Vadot device_type = "memory"; 23c66ec88fSEmmanuel Vadot reg = <0x0 0x08000000>; 24c66ec88fSEmmanuel Vadot }; 25c66ec88fSEmmanuel Vadot 26c66ec88fSEmmanuel Vadot leds { 27c66ec88fSEmmanuel Vadot compatible = "gpio-leds"; 28c66ec88fSEmmanuel Vadot led-0 { 29c66ec88fSEmmanuel Vadot gpios = <&gpc 17 GPIO_ACTIVE_HIGH>; 30c66ec88fSEmmanuel Vadot linux,default-trigger = "mmc0"; 31c66ec88fSEmmanuel Vadot }; 32c66ec88fSEmmanuel Vadot }; 33c66ec88fSEmmanuel Vadot 34c66ec88fSEmmanuel Vadot wlan_pwrseq: msc1-pwrseq { 35c66ec88fSEmmanuel Vadot compatible = "mmc-pwrseq-simple"; 36c66ec88fSEmmanuel Vadot 37c66ec88fSEmmanuel Vadot reset-gpios = <&gpc 13 GPIO_ACTIVE_LOW>; 38c66ec88fSEmmanuel Vadot post-power-on-delay-ms = <200>; 39c66ec88fSEmmanuel Vadot }; 40c66ec88fSEmmanuel Vadot}; 41c66ec88fSEmmanuel Vadot 42c66ec88fSEmmanuel Vadot&exclk { 43c66ec88fSEmmanuel Vadot clock-frequency = <24000000>; 44c66ec88fSEmmanuel Vadot}; 45c66ec88fSEmmanuel Vadot 465def4c47SEmmanuel Vadot&cgu { 475def4c47SEmmanuel Vadot /* 485def4c47SEmmanuel Vadot * Use the 32.768 kHz oscillator as the parent of the RTC for a higher 495def4c47SEmmanuel Vadot * precision. 505def4c47SEmmanuel Vadot */ 515def4c47SEmmanuel Vadot assigned-clocks = <&cgu X1830_CLK_RTC>; 525def4c47SEmmanuel Vadot assigned-clock-parents = <&cgu X1830_CLK_RTCLK>; 535def4c47SEmmanuel Vadot}; 54c66ec88fSEmmanuel Vadot 555def4c47SEmmanuel Vadot&ost { 565def4c47SEmmanuel Vadot /* 1500 kHz for the system timer and clocksource */ 57*d5b0e70fSEmmanuel Vadot assigned-clocks = <&ost OST_CLK_EVENT_TIMER>, <&ost OST_CLK_GLOBAL_TIMER>; 585def4c47SEmmanuel Vadot assigned-clock-rates = <1500000>, <1500000>; 59c66ec88fSEmmanuel Vadot}; 60c66ec88fSEmmanuel Vadot 61c66ec88fSEmmanuel Vadot&uart1 { 62c66ec88fSEmmanuel Vadot status = "okay"; 63c66ec88fSEmmanuel Vadot 64c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 65c66ec88fSEmmanuel Vadot pinctrl-0 = <&pins_uart1>; 66c66ec88fSEmmanuel Vadot}; 67c66ec88fSEmmanuel Vadot 68*d5b0e70fSEmmanuel Vadot&ssi0 { 69*d5b0e70fSEmmanuel Vadot status = "okay"; 70*d5b0e70fSEmmanuel Vadot 71*d5b0e70fSEmmanuel Vadot num-cs = <2>; 72*d5b0e70fSEmmanuel Vadot 73*d5b0e70fSEmmanuel Vadot pinctrl-names = "default"; 74*d5b0e70fSEmmanuel Vadot pinctrl-0 = <&pins_ssi0>; 75*d5b0e70fSEmmanuel Vadot 76*d5b0e70fSEmmanuel Vadot sc16is752: expander@0 { 77*d5b0e70fSEmmanuel Vadot compatible = "nxp,sc16is752"; 78*d5b0e70fSEmmanuel Vadot reg = <0>; /* CE0 */ 79*d5b0e70fSEmmanuel Vadot 80*d5b0e70fSEmmanuel Vadot spi-rx-bus-width = <1>; 81*d5b0e70fSEmmanuel Vadot spi-tx-bus-width = <1>; 82*d5b0e70fSEmmanuel Vadot spi-max-frequency = <4000000>; 83*d5b0e70fSEmmanuel Vadot 84*d5b0e70fSEmmanuel Vadot clocks = <&exclk_sc16is752>; 85*d5b0e70fSEmmanuel Vadot 86*d5b0e70fSEmmanuel Vadot interrupt-parent = <&gpb>; 87*d5b0e70fSEmmanuel Vadot interrupts = <18 IRQ_TYPE_EDGE_FALLING>; 88*d5b0e70fSEmmanuel Vadot 89*d5b0e70fSEmmanuel Vadot gpio-controller; 90*d5b0e70fSEmmanuel Vadot #gpio-cells = <2>; 91*d5b0e70fSEmmanuel Vadot 92*d5b0e70fSEmmanuel Vadot exclk_sc16is752: sc16is752 { 93*d5b0e70fSEmmanuel Vadot compatible = "fixed-clock"; 94*d5b0e70fSEmmanuel Vadot #clock-cells = <0>; 95*d5b0e70fSEmmanuel Vadot clock-frequency = <48000000>; 96*d5b0e70fSEmmanuel Vadot }; 97*d5b0e70fSEmmanuel Vadot }; 98*d5b0e70fSEmmanuel Vadot}; 99*d5b0e70fSEmmanuel Vadot 100c66ec88fSEmmanuel Vadot&i2c0 { 101c66ec88fSEmmanuel Vadot status = "okay"; 102c66ec88fSEmmanuel Vadot 103c66ec88fSEmmanuel Vadot clock-frequency = <400000>; 104c66ec88fSEmmanuel Vadot 105c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 106c66ec88fSEmmanuel Vadot pinctrl-0 = <&pins_i2c0>; 107c66ec88fSEmmanuel Vadot 108c66ec88fSEmmanuel Vadot ads7830: adc@48 { 109c66ec88fSEmmanuel Vadot compatible = "ti,ads7830"; 110c66ec88fSEmmanuel Vadot reg = <0x48>; 111c66ec88fSEmmanuel Vadot }; 112c66ec88fSEmmanuel Vadot}; 113c66ec88fSEmmanuel Vadot 1145def4c47SEmmanuel Vadot&dtrng { 1155def4c47SEmmanuel Vadot status = "okay"; 1165def4c47SEmmanuel Vadot}; 1175def4c47SEmmanuel Vadot 118c66ec88fSEmmanuel Vadot&msc0 { 119c66ec88fSEmmanuel Vadot status = "okay"; 120c66ec88fSEmmanuel Vadot 121c66ec88fSEmmanuel Vadot bus-width = <4>; 122c66ec88fSEmmanuel Vadot max-frequency = <50000000>; 123c66ec88fSEmmanuel Vadot 124c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 125c66ec88fSEmmanuel Vadot pinctrl-0 = <&pins_msc0>; 126c66ec88fSEmmanuel Vadot 127c66ec88fSEmmanuel Vadot non-removable; 128c66ec88fSEmmanuel Vadot}; 129c66ec88fSEmmanuel Vadot 130c66ec88fSEmmanuel Vadot&msc1 { 131c66ec88fSEmmanuel Vadot status = "okay"; 132c66ec88fSEmmanuel Vadot 133c66ec88fSEmmanuel Vadot #address-cells = <1>; 134c66ec88fSEmmanuel Vadot #size-cells = <0>; 135c66ec88fSEmmanuel Vadot bus-width = <4>; 136c66ec88fSEmmanuel Vadot max-frequency = <50000000>; 137c66ec88fSEmmanuel Vadot 138c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 139c66ec88fSEmmanuel Vadot pinctrl-0 = <&pins_msc1>; 140c66ec88fSEmmanuel Vadot 141c66ec88fSEmmanuel Vadot non-removable; 142c66ec88fSEmmanuel Vadot 143c66ec88fSEmmanuel Vadot mmc-pwrseq = <&wlan_pwrseq>; 144c66ec88fSEmmanuel Vadot 145c66ec88fSEmmanuel Vadot ap6212a: wifi@1 { 146c66ec88fSEmmanuel Vadot compatible = "brcm,bcm4329-fmac"; 147c66ec88fSEmmanuel Vadot reg = <1>; 148c66ec88fSEmmanuel Vadot 149c66ec88fSEmmanuel Vadot interrupt-parent = <&gpc>; 150c66ec88fSEmmanuel Vadot interrupts = <25 IRQ_TYPE_EDGE_FALLING>; 151c66ec88fSEmmanuel Vadot interrupt-names = "host-wake"; 152c66ec88fSEmmanuel Vadot 153c66ec88fSEmmanuel Vadot brcm,drive-strength = <10>; 154c66ec88fSEmmanuel Vadot }; 155c66ec88fSEmmanuel Vadot}; 156c66ec88fSEmmanuel Vadot 157c66ec88fSEmmanuel Vadot&mac { 158c66ec88fSEmmanuel Vadot status = "okay"; 159c66ec88fSEmmanuel Vadot 160c66ec88fSEmmanuel Vadot phy-mode = "rmii"; 161c66ec88fSEmmanuel Vadot phy-handle = <&ip101gr>; 162c66ec88fSEmmanuel Vadot 163c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 164c66ec88fSEmmanuel Vadot pinctrl-0 = <&pins_mac>; 165c66ec88fSEmmanuel Vadot 166c66ec88fSEmmanuel Vadot snps,reset-gpio = <&gpb 28 GPIO_ACTIVE_LOW>; /* PB28 */ 167c66ec88fSEmmanuel Vadot snps,reset-active-low; 168c66ec88fSEmmanuel Vadot snps,reset-delays-us = <0 10000 30000>; 169c66ec88fSEmmanuel Vadot}; 170c66ec88fSEmmanuel Vadot 171c66ec88fSEmmanuel Vadot&mdio { 172c66ec88fSEmmanuel Vadot status = "okay"; 173c66ec88fSEmmanuel Vadot 174c66ec88fSEmmanuel Vadot ip101gr: ethernet-phy@0 { 175c66ec88fSEmmanuel Vadot compatible = "ethernet-phy-id0243.0c54", "ethernet-phy-ieee802.3-c22"; 176c66ec88fSEmmanuel Vadot reg = <0>; 177c66ec88fSEmmanuel Vadot }; 178c66ec88fSEmmanuel Vadot}; 179c66ec88fSEmmanuel Vadot 1805def4c47SEmmanuel Vadot&otg_phy { 1815def4c47SEmmanuel Vadot status = "okay"; 1825def4c47SEmmanuel Vadot}; 1835def4c47SEmmanuel Vadot 1845def4c47SEmmanuel Vadot&otg { 1855def4c47SEmmanuel Vadot status = "okay"; 1865def4c47SEmmanuel Vadot}; 1875def4c47SEmmanuel Vadot 188c66ec88fSEmmanuel Vadot&pinctrl { 189c66ec88fSEmmanuel Vadot pins_uart1: uart1 { 190c66ec88fSEmmanuel Vadot function = "uart1"; 191c66ec88fSEmmanuel Vadot groups = "uart1-data"; 192c66ec88fSEmmanuel Vadot bias-pull-up; 193c66ec88fSEmmanuel Vadot }; 194c66ec88fSEmmanuel Vadot 195*d5b0e70fSEmmanuel Vadot pins_ssi0: ssi0 { 196*d5b0e70fSEmmanuel Vadot function = "ssi0"; 197*d5b0e70fSEmmanuel Vadot groups = "ssi0-dt", "ssi0-dr", "ssi0-clk", "ssi0-ce0", "ssi0-ce1"; 198*d5b0e70fSEmmanuel Vadot bias-disable; 199*d5b0e70fSEmmanuel Vadot }; 200*d5b0e70fSEmmanuel Vadot 201c66ec88fSEmmanuel Vadot pins_i2c0: i2c0 { 202c66ec88fSEmmanuel Vadot function = "i2c0"; 203c66ec88fSEmmanuel Vadot groups = "i2c0-data"; 204c66ec88fSEmmanuel Vadot bias-pull-up; 205c66ec88fSEmmanuel Vadot }; 206c66ec88fSEmmanuel Vadot 207c66ec88fSEmmanuel Vadot pins_msc0: msc0 { 208c66ec88fSEmmanuel Vadot function = "mmc0"; 209c66ec88fSEmmanuel Vadot groups = "mmc0-1bit", "mmc0-4bit"; 210c66ec88fSEmmanuel Vadot bias-disable; 211c66ec88fSEmmanuel Vadot }; 212c66ec88fSEmmanuel Vadot 213c66ec88fSEmmanuel Vadot pins_msc1: msc1 { 214c66ec88fSEmmanuel Vadot function = "mmc1"; 215c66ec88fSEmmanuel Vadot groups = "mmc1-1bit", "mmc1-4bit"; 216c66ec88fSEmmanuel Vadot bias-disable; 217c66ec88fSEmmanuel Vadot }; 218c66ec88fSEmmanuel Vadot 219c66ec88fSEmmanuel Vadot pins_mac: mac { 220c66ec88fSEmmanuel Vadot function = "mac"; 221c66ec88fSEmmanuel Vadot groups = "mac"; 222c66ec88fSEmmanuel Vadot bias-disable; 223c66ec88fSEmmanuel Vadot }; 224c66ec88fSEmmanuel Vadot}; 225