1
0
Fork 0

Gemini DTS updates for ARM SoC take one.

-----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJZiayzAAoJEEEQszewGV1zqQoQAIaywuQGNO/nugEzQiUSdTte
 s8prIJOGZBHB9bqpWZt+R1C7euVZ6qSV7lKhacHBStJsT2Ev2w3/4VtDNODFEP6X
 0IpfeqEZT+AIrDerZFQL/T6hNciT8QqNATrrCAj64XdmvFY7UJutVqF8anJid6Zv
 y0pJ+n4sS41UnW60PCH9O0TPVnc7fZyzh6d5kqzs3vH96jxnIWokYsTipuH9wW2/
 76RWyzjGv5Kb9iFAe9qWop2JamfWsPvqrHJjy6pJzv9RKPKi7eWHuruMg6lCqMJb
 pAOuIDWNRjPK/JxyxUNGOoz3jBqM0J3xoyOnBBXa/rlBbMk0+TcwcoNjlxyxPMjD
 pyCHF1iUakqKqTdQI7My3CsxiZUqPqycNVgW5P95z/jg6FUMxOMdK2Y4uRLi5luh
 rOLIkjjZVcDE1VFytB4yiaiiCcqeKwHw70C6p2xL7IT8ZyfWwHMKbis9NFfEoST0
 orrgh+wI9y7v2W3pxs8jj2DRwNSTcohXaruxEnBbRX5rrUQSD45hKQHt4IvbUPfo
 NwFxIqrydQXsK6ARuRr1euyIZ3EpOx4JVJsa+zE5W8UO8YzAhWRG2vJx8NbSCijy
 W0Ji2gWtxCPjDj4kppxb04S0Tz+/hdkA979/4ctxu2iWAMvJyb+K9+L7IiYN1cUt
 p/lV2/P8A/lxQ2YMU8qe
 =SWBN
 -----END PGP SIGNATURE-----

Merge tag 'gemini-dts-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into next/dt

Pull "Gemini DTS updates for ARM SoC take one" from Linus Walleij:

* tag 'gemini-dts-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
  ARM: dts: gemini: add pin control set-up for the SoC
  ARM: dts: Add DTS file for D-Link DIR-685
  ARM: dts: gemini: Switch to using macros
hifive-unleashed-5.1
Arnd Bergmann 2017-08-16 23:12:39 +02:00
commit 92a2a8cbc1
8 changed files with 543 additions and 28 deletions

View File

@ -180,6 +180,7 @@ dtb-$(CONFIG_ARCH_EXYNOS5) += \
exynos5440-ssdk5440.dtb \
exynos5800-peach-pi.dtb
dtb-$(CONFIG_ARCH_GEMINI) += \
gemini-dlink-dir-685.dtb \
gemini-nas4220b.dtb \
gemini-rut1xx.dtb \
gemini-sq201.dtb \

View File

@ -0,0 +1,246 @@
/*
* Device Tree file for D-Link DIR-685 Xtreme N Storage Router
*/
/dts-v1/;
#include "gemini.dtsi"
#include <dt-bindings/input/input.h>
/ {
model = "D-Link DIR-685 Xtreme N Storage Router";
compatible = "dlink,dir-685", "cortina,gemini";
#address-cells = <1>;
#size-cells = <1>;
memory {
/* 128 MB SDRAM in 2 x Hynix HY5DU121622DTP-D43 */
device_type = "memory";
reg = <0x00000000 0x8000000>;
};
chosen {
stdout-path = "uart0:115200n8";
};
gpio_keys {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
button-esc {
debounce_interval = <50>;
wakeup-source;
linux,code = <KEY_ESC>;
label = "reset";
/* Collides with LPC_LAD[0], UART DCD, SSP 97RST */
gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
};
button-eject {
debounce_interval = <50>;
wakeup-source;
linux,code = <KEY_EJECTCD>;
label = "unmount";
/* Collides with LPC LFRAME, UART RTS, SSP TXD */
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
};
};
leds {
compatible = "gpio-leds";
led-wps {
label = "dir685:blue:WPS";
/* Collides with ICE */
gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
default-state = "on";
linux,default-trigger = "heartbeat";
};
/*
* These two LEDs are on the side of the device.
* For electrical reasons, both LEDs cannot be active
* at the same time so only blue or orange can on at
* one time. Enabling both makes the LED go dark.
* The LEDs both sit inside the unmount button and the
* label on the case says "unmount".
*/
led-blue-hd {
label = "dir685:blue:HD";
/* Collides with LPC_SERIRQ, UART DTR, SSP FSC pins */
gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
led-orange-hd {
label = "dir685:orange:HD";
/* Collides with LPC_LAD[2], UART DSR, SSP ECLK pins */
gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
};
/*
* This is a Sunon Maglev GM0502PFV2-8 cooling fan @10000 RPM.
* Since the platform has no temperature sensor, this is controlled
* from userspace by using the hard disks S.M.A.R.T. temperature
* sensor. It is turned on when the temperature exceeds 46 degrees
* and turned off when the temperatures goes below 41 degrees
* (celsius).
*/
gpio-fan {
compatible = "gpio-fan";
/* Collides with IDE */
gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
gpio-fan,speed-map = <0 0>, <10000 1>;
#cooling-cells = <2>;
};
/*
* The touchpad input is connected to a GPIO bit-banged
* I2C bus.
*/
gpio-i2c {
compatible = "i2c-gpio";
/* Collides with ICE */
gpios = <&gpio0 5 0>, /* SDA */
<&gpio0 6 0>; /* SCL */
#address-cells = <1>;
#size-cells = <0>;
touchkeys@26 {
compatible = "dlink,dir685-touchkeys";
reg = <0x26>;
interrupt-parent = <&gpio0>;
/* Collides with NAND flash */
interrupts = <17 IRQ_TYPE_EDGE_FALLING>;
};
};
soc {
flash@30000000 {
status = "okay";
/* 32MB of flash */
reg = <0x30000000 0x02000000>;
/*
* This "RedBoot" is the Storlink derivative.
*/
partition@0 {
label = "RedBoot";
reg = <0x00000000 0x00040000>;
read-only;
};
/*
* Between the boot loader and the rootfs is the kernel
* in a custom Storlink format flashed from the boot
* menu. The rootfs is in squashfs format.
*/
partition@1800c0 {
label = "rootfs";
reg = <0x001800c0 0x01dbff40>;
read-only;
};
partition@1f40000 {
label = "upgrade";
reg = <0x01f40000 0x00040000>;
read-only;
};
partition@1f80000 {
label = "rgdb";
reg = <0x01f80000 0x00040000>;
read-only;
};
/*
* This partition contains MAC addresses for WAN,
* WLAN and LAN, and the country code (for wireless
* I guess).
*/
partition@1fc0000 {
label = "nvram";
reg = <0x01fc0000 0x00020000>;
read-only;
};
partition@1fe0000 {
label = "LangPack";
reg = <0x01fe0000 0x00020000>;
read-only;
};
};
syscon: syscon@40000000 {
pinctrl {
/*
* gpio0bgrp cover line 5, 6 used by TK I2C
* gpio0bgrp cover line 7 used by WPS LED
* gpio0cgrp cover line 8, 13 used by keys
* and 11, 12 used by the HD LEDs
* gpio0egrp cover line 16 used by VDISP
* gpio0fgrp cover line 17 used by TK IRQ
* gpio0ggrp cover line 20 used by panel CS
* gpio0hgrp cover line 21,22 used by RTL8366RB
*/
gpio0_default_pins: pinctrl-gpio0 {
mux {
function = "gpio0";
groups = "gpio0bgrp",
"gpio0cgrp",
"gpio0egrp",
"gpio0fgrp",
"gpio0ggrp",
"gpio0hgrp";
};
};
/*
* gpio1bgrp cover line 5,8,7 used by panel SPI
* also line 6 used by the fan
*
*/
gpio1_default_pins: pinctrl-gpio1 {
mux {
function = "gpio1";
groups = "gpio1bgrp";
};
};
};
};
sata: sata@46000000 {
cortina,gemini-ata-muxmode = <0>;
cortina,gemini-enable-sata-bridge;
status = "okay";
};
gpio0: gpio@4d000000 {
pinctrl-names = "default";
pinctrl-0 = <&gpio0_default_pins>;
};
gpio1: gpio@4e000000 {
pinctrl-names = "default";
pinctrl-0 = <&gpio1_default_pins>;
};
pci@50000000 {
status = "okay";
interrupt-map-mask = <0xf800 0 0 7>;
interrupt-map =
<0x4800 0 0 1 &pci_intc 0>, /* Slot 9 */
<0x4800 0 0 2 &pci_intc 1>,
<0x4800 0 0 3 &pci_intc 2>,
<0x4800 0 0 4 &pci_intc 3>,
<0x5000 0 0 1 &pci_intc 1>, /* Slot 10 */
<0x5000 0 0 2 &pci_intc 2>,
<0x5000 0 0 3 &pci_intc 3>,
<0x5000 0 0 4 &pci_intc 0>,
<0x5800 0 0 1 &pci_intc 2>, /* Slot 11 */
<0x5800 0 0 2 &pci_intc 3>,
<0x5800 0 0 3 &pci_intc 0>,
<0x5800 0 0 4 &pci_intc 1>,
<0x6000 0 0 1 &pci_intc 3>, /* Slot 12 */
<0x6000 0 0 2 &pci_intc 0>,
<0x6000 0 0 3 &pci_intc 1>,
<0x6000 0 0 4 &pci_intc 2>;
};
ata@63000000 {
status = "okay";
};
};
};

View File

@ -33,6 +33,7 @@
wakeup-source;
linux,code = <KEY_SETUP>;
label = "Backup button";
/* Conflict with TVC */
gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
};
button@31 {
@ -40,6 +41,7 @@
wakeup-source;
linux,code = <KEY_RESTART>;
label = "Softreset button";
/* Conflict with TVC */
gpios = <&gpio1 31 GPIO_ACTIVE_LOW>;
};
};
@ -48,11 +50,13 @@
compatible = "gpio-leds";
led@28 {
label = "nas4220b:orange:hdd";
/* Conflict with TVC */
gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
default-state = "on";
};
led@30 {
label = "nas4220b:green:os";
/* Conflict with TVC */
gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>;
default-state = "on";
linux,default-trigger = "heartbeat";
@ -99,12 +103,32 @@
};
};
syscon: syscon@40000000 {
pinctrl {
/*
* gpio1dgrp cover line 28-31 otherwise used
* by TVC.
*/
gpio1_default_pins: pinctrl-gpio1 {
mux {
function = "gpio1";
groups = "gpio1dgrp";
};
};
};
};
sata: sata@46000000 {
cortina,gemini-ata-muxmode = <0>;
cortina,gemini-enable-sata-bridge;
status = "okay";
};
gpio1: gpio@4e000000 {
pinctrl-names = "default";
pinctrl-0 = <&gpio1_default_pins>;
};
ata@63000000 {
status = "okay";
};

View File

@ -33,6 +33,7 @@
wakeup-source;
linux,code = <KEY_SETUP>;
label = "Reset to defaults";
/* Conflict with TVC */
gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
};
};
@ -42,12 +43,14 @@
led@7 {
/* FIXME: add the LED color */
label = "rut1xx::gsm";
/* Conflict with ICE */
gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
default-state = "on";
};
led@31 {
/* FIXME: add the LED color */
label = "rut1xx::power";
/* Conflict with NAND CE0 */
gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;
default-state = "off";
linux,default-trigger = "heartbeat";
@ -61,5 +64,41 @@
reg = <0x30000000 0x00800000>;
/* TODO: add flash partitions here */
};
syscon: syscon@40000000 {
pinctrl {
/*
* gpio0bgrp cover line 7 used by GSM LED
* gpio0fgrp cover line 17 used by power LED
*/
gpio0_default_pins: pinctrl-gpio0 {
mux {
function = "gpio0";
groups = "gpio0bgrp",
"gpio0fgrp";
};
};
/*
* gpio1dgrp cover line 28-31 otherwise used
* by TVC.
*/
gpio1_default_pins: pinctrl-gpio1 {
mux {
function = "gpio1";
groups = "gpio1dgrp";
};
};
};
};
gpio0: gpio@4d000000 {
pinctrl-names = "default";
pinctrl-0 = <&gpio0_default_pins>;
};
gpio1: gpio@4e000000 {
pinctrl-names = "default";
pinctrl-0 = <&gpio1_default_pins>;
};
};
};

View File

@ -33,6 +33,7 @@
wakeup-source;
linux,code = <KEY_SETUP>;
label = "factory reset";
/* Conflict with NAND flash */
gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
};
};
@ -41,12 +42,14 @@
compatible = "gpio-leds";
led@20 {
label = "sq201:green:info";
/* Conflict with parallel flash */
gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>;
default-state = "on";
linux,default-trigger = "heartbeat";
};
led@31 {
label = "sq201:green:usb";
/* Conflict with parallel and NAND flash */
gpios = <&gpio0 31 GPIO_ACTIVE_HIGH>;
default-state = "off";
linux,default-trigger = "usb-host";
@ -55,7 +58,15 @@
soc {
flash@30000000 {
status = "okay";
/*
* Flash access can be enabled, with the side effect
* of disabling access to GPIO LED on GPIO0[20] which
* reuse one of the parallel flash chip select lines.
* Also the default firmware on the machine has the
* problem that since it uses the flash, the two LEDS
* on the right become numb.
*/
/* status = "okay"; */
/* 16MB of flash */
reg = <0x30000000 0x01000000>;
@ -93,12 +104,35 @@
};
};
syscon: syscon@40000000 {
pinctrl {
/*
* gpio0fgrp cover line 18 used by reset button
* gpio0ggrp cover line 20 used by info LED
* gpio0kgrp cover line 31 used by USB LED
*/
gpio0_default_pins: pinctrl-gpio0 {
mux {
function = "gpio0";
groups = "gpio0fgrp",
"gpio0ggrp",
"gpio0kgrp";
};
};
};
};
sata: sata@46000000 {
cortina,gemini-ata-muxmode = <0>;
cortina,gemini-enable-sata-bridge;
status = "okay";
};
gpio0: gpio@4d000000 {
pinctrl-names = "default";
pinctrl-0 = <&gpio0_default_pins>;
};
pci@50000000 {
status = "okay";
interrupt-map-mask = <0xf800 0 0 7>;

View File

@ -33,6 +33,7 @@
wakeup-source;
linux,code = <KEY_SETUP>;
label = "reset";
/* Conflict with ICE */
gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
};
};
@ -42,21 +43,25 @@
led@1 {
label = "wbd111:red:L3";
/* Conflict with TVC and extended parallel flash */
gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
led@2 {
label = "wbd111:green:L4";
/* Conflict with TVC and extended parallel flash */
gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
led@3 {
label = "wbd111:red:L4";
/* Conflict with TVC and extended parallel flash */
gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
led@5 {
label = "wbd111:green:L3";
/* Conflict with TVC and extended parallel flash */
gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>;
default-state = "on";
linux,default-trigger = "heartbeat";
@ -98,5 +103,26 @@
read-only;
};
};
syscon: syscon@40000000 {
pinctrl {
/*
* gpio0agrp cover line 0-4
* gpio0bgrp cover line 5
*/
gpio0_default_pins: pinctrl-gpio0 {
mux {
function = "gpio0";
groups = "gpio0agrp",
"gpio0bgrp";
};
};
};
};
gpio0: gpio@4d000000 {
pinctrl-names = "default";
pinctrl-0 = <&gpio0_default_pins>;
};
};
};

View File

@ -33,6 +33,7 @@
wakeup-source;
linux,code = <KEY_SETUP>;
label = "reset";
/* Conflict with ICE */
gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
};
};
@ -42,21 +43,25 @@
led@1 {
label = "wbd111:red:L3";
/* Conflict with TVC and extended parallel flash */
gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
led@2 {
label = "wbd111:green:L4";
/* Conflict with TVC and extended parallel flash */
gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
led@3 {
label = "wbd111:red:L4";
/* Conflict with TVC and extended parallel flash */
gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
led@5 {
label = "wbd111:green:L3";
/* Conflict with TVC and extended parallel flash */
gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>;
default-state = "on";
linux,default-trigger = "heartbeat";
@ -98,5 +103,26 @@
read-only;
};
};
syscon: syscon@40000000 {
pinctrl {
/*
* gpio0agrp cover line 0-4
* gpio0bgrp cover line 5
*/
gpio0_default_pins: pinctrl-gpio0 {
mux {
function = "gpio0";
groups = "gpio0agrp",
"gpio0bgrp";
};
};
};
};
gpio0: gpio@4d000000 {
pinctrl-names = "default";
pinctrl-0 = <&gpio0_default_pins>;
};
};
};

View File

@ -5,6 +5,8 @@
/include/ "skeleton.dtsi"
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/clock/cortina,gemini-clock.h>
#include <dt-bindings/reset/cortina,gemini-reset.h>
#include <dt-bindings/gpio/gpio.h>
/ {
@ -18,6 +20,8 @@
flash@30000000 {
compatible = "cortina,gemini-flash", "cfi-flash";
syscon = <&syscon>;
pinctrl-names = "default";
pinctrl-0 = <&pflash_default_pins>;
bank-width = <2>;
#address-cells = <1>;
#size-cells = <1>;
@ -39,22 +43,123 @@
/* RESET_GLOBAL | RESET_CPU1 */
mask = <0xC0000000>;
};
pinctrl {
compatible = "cortina,gemini-pinctrl";
regmap = <&syscon>;
/* Hog the DRAM pins */
pinctrl-names = "default";
pinctrl-0 = <&dram_default_pins>, <&system_default_pins>,
<&vcontrol_default_pins>;
dram_default_pins: pinctrl-dram {
mux {
function = "dram";
groups = "dramgrp";
};
};
rtc_default_pins: pinctrl-rtc {
mux {
function = "rtc";
groups = "rtcgrp";
};
};
power_default_pins: pinctrl-power {
mux {
function = "power";
groups = "powergrp";
};
};
cir_default_pins: pinctrl-cir {
mux {
function = "cir";
groups = "cirgrp";
};
};
system_default_pins: pinctrl-system {
mux {
function = "system";
groups = "systemgrp";
};
};
vcontrol_default_pins: pinctrl-vcontrol {
mux {
function = "vcontrol";
groups = "vcontrolgrp";
};
};
ice_default_pins: pinctrl-ice {
mux {
function = "ice";
groups = "icegrp";
};
};
uart_default_pins: pinctrl-uart {
mux {
function = "uart";
groups = "uartrxtxgrp";
};
};
pflash_default_pins: pinctrl-pflash {
mux {
function = "pflash";
groups = "pflashgrp";
};
};
usb_default_pins: pinctrl-usb {
mux {
function = "usb";
groups = "usbgrp";
};
};
gmii_default_pins: pinctrl-gmii {
mux {
function = "gmii";
groups = "gmiigrp";
};
};
pci_default_pins: pinctrl-pci {
mux {
function = "pci";
groups = "pcigrp";
};
};
sata_default_pins: pinctrl-sata {
mux {
function = "sata";
groups = "satagrp";
};
};
/* Activate both groups of pins for this state */
sata_and_ide_pins: pinctrl-sata-ide {
mux0 {
function = "sata";
groups = "satagrp";
};
mux1 {
function = "ide";
groups = "idegrp";
};
};
};
};
watchdog@41000000 {
compatible = "cortina,gemini-watchdog";
reg = <0x41000000 0x1000>;
interrupts = <3 IRQ_TYPE_LEVEL_HIGH>;
resets = <&syscon 23>;
clocks = <&syscon 2>;
resets = <&syscon GEMINI_RESET_WDOG>;
clocks = <&syscon GEMINI_CLK_APB>;
};
uart0: serial@42000000 {
compatible = "ns16550a";
reg = <0x42000000 0x100>;
resets = <&syscon 18>;
clocks = <&syscon 6>;
resets = <&syscon GEMINI_RESET_UART>;
clocks = <&syscon GEMINI_CLK_UART>;
interrupts = <18 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&uart_default_pins>;
reg-shift = <2>;
};
@ -65,9 +170,9 @@
interrupts = <14 IRQ_TYPE_EDGE_FALLING>, /* Timer 1 */
<15 IRQ_TYPE_EDGE_FALLING>, /* Timer 2 */
<16 IRQ_TYPE_EDGE_FALLING>; /* Timer 3 */
resets = <&syscon 17>;
resets = <&syscon GEMINI_RESET_TIMER>;
/* APB clock or RTC clock */
clocks = <&syscon 2>, <&syscon 0>;
clocks = <&syscon GEMINI_CLK_APB>, <&syscon GEMINI_CLK_RTC>;
clock-names = "PCLK", "EXTCLK";
syscon = <&syscon>;
};
@ -76,20 +181,30 @@
compatible = "cortina,gemini-rtc";
reg = <0x45000000 0x100>;
interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;
resets = <&syscon 16>;
clocks = <&syscon 2>, <&syscon 0>;
resets = <&syscon GEMINI_RESET_RTC>;
clocks = <&syscon GEMINI_CLK_APB>, <&syscon GEMINI_CLK_RTC>;
clock-names = "PCLK", "EXTCLK";
pinctrl-names = "default";
pinctrl-0 = <&rtc_default_pins>;
};
sata: sata@46000000 {
compatible = "cortina,gemini-sata-bridge";
reg = <0x46000000 0x100>;
resets = <&syscon 26>,
<&syscon 27>;
resets = <&syscon GEMINI_RESET_SATA0>,
<&syscon GEMINI_RESET_SATA1>;
reset-names = "sata0", "sata1";
clocks = <&syscon 10>,
<&syscon 11>;
clocks = <&syscon GEMINI_CLK_GATE_SATA0>,
<&syscon GEMINI_CLK_GATE_SATA1>;
clock-names = "SATA0_PCLK", "SATA1_PCLK";
/*
* This defines the special "ide" state that needs
* to be explicitly enabled to enable the IDE pins,
* as these pins are normally used for other things.
*/
pinctrl-names = "default", "ide";
pinctrl-0 = <&sata_default_pins>;
pinctrl-1 = <&sata_and_ide_pins>;
syscon = <&syscon>;
status = "disabled";
};
@ -97,7 +212,7 @@
intcon: interrupt-controller@48000000 {
compatible = "faraday,ftintc010";
reg = <0x48000000 0x1000>;
resets = <&syscon 14>;
resets = <&syscon GEMINI_RESET_INTCON0>;
interrupt-controller;
#interrupt-cells = <2>;
};
@ -106,14 +221,16 @@
compatible = "cortina,gemini-power-controller";
reg = <0x4b000000 0x100>;
interrupts = <26 IRQ_TYPE_EDGE_RISING>;
pinctrl-names = "default";
pinctrl-0 = <&power_default_pins>;
};
gpio0: gpio@4d000000 {
compatible = "cortina,gemini-gpio", "faraday,ftgpio010";
reg = <0x4d000000 0x100>;
interrupts = <22 IRQ_TYPE_LEVEL_HIGH>;
resets = <&syscon 20>;
clocks = <&syscon 2>;
resets = <&syscon GEMINI_RESET_GPIO0>;
clocks = <&syscon GEMINI_CLK_APB>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
@ -124,8 +241,8 @@
compatible = "cortina,gemini-gpio", "faraday,ftgpio010";
reg = <0x4e000000 0x100>;
interrupts = <23 IRQ_TYPE_LEVEL_HIGH>;
resets = <&syscon 21>;
clocks = <&syscon 2>;
resets = <&syscon GEMINI_RESET_GPIO1>;
clocks = <&syscon GEMINI_CLK_APB>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
@ -136,8 +253,8 @@
compatible = "cortina,gemini-gpio", "faraday,ftgpio010";
reg = <0x4f000000 0x100>;
interrupts = <24 IRQ_TYPE_LEVEL_HIGH>;
resets = <&syscon 22>;
clocks = <&syscon 2>;
resets = <&syscon GEMINI_RESET_GPIO2>;
clocks = <&syscon GEMINI_CLK_APB>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
@ -151,9 +268,11 @@
* to configure the host bridge.
*/
reg = <0x50000000 0x100>;
resets = <&syscon 7>;
clocks = <&syscon 15>, <&syscon 4>;
resets = <&syscon GEMINI_RESET_PCI>;
clocks = <&syscon GEMINI_CLK_GATE_PCI>, <&syscon GEMINI_CLK_PCI>;
clock-names = "PCLK", "PCICLK";
pinctrl-names = "default";
pinctrl-0 = <&pci_default_pins>;
#address-cells = <3>;
#size-cells = <2>;
#interrupt-cells = <1>;
@ -193,8 +312,8 @@
compatible = "cortina,gemini-pata", "faraday,ftide010";
reg = <0x63000000 0x1000>;
interrupts = <4 IRQ_TYPE_EDGE_RISING>;
resets = <&syscon 2>;
clocks = <&syscon 14>;
resets = <&syscon GEMINI_RESET_IDE>;
clocks = <&syscon GEMINI_CLK_GATE_IDE>;
clock-names = "PCLK";
sata = <&sata>;
status = "disabled";
@ -204,8 +323,8 @@
compatible = "cortina,gemini-pata", "faraday,ftide010";
reg = <0x63400000 0x1000>;
interrupts = <5 IRQ_TYPE_EDGE_RISING>;
resets = <&syscon 2>;
clocks = <&syscon 14>;
resets = <&syscon GEMINI_RESET_IDE>;
clocks = <&syscon GEMINI_CLK_GATE_IDE>;
clock-names = "PCLK";
sata = <&sata>;
status = "disabled";
@ -217,8 +336,8 @@
arm,primecell-periphid = <0x0003b080>;
reg = <0x67000000 0x1000>;
interrupts = <9 IRQ_TYPE_EDGE_RISING>;
resets = <&syscon 10>;
clocks = <&syscon 1>;
resets = <&syscon GEMINI_RESET_DMAC>;
clocks = <&syscon GEMINI_CLK_AHB>;
clock-names = "apb_pclk";
/* Bus interface AHB1 (AHB0) is totally tilted */
lli-bus-interface-ahb2;