forked from Minki/linux
a6b4226645
Add a device node for the da9063 PMIC, with subnodes for rtc and wdt. Regulator support is not yet included. This allows the system to be restarted when the watchdog timer times out, or when a system restart is requested. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
621 lines
11 KiB
Plaintext
621 lines
11 KiB
Plaintext
/*
|
|
* Device Tree Source for the Koelsch board
|
|
*
|
|
* Copyright (C) 2013 Renesas Electronics Corporation
|
|
* Copyright (C) 2013-2014 Renesas Solutions Corp.
|
|
* Copyright (C) 2014 Cogent Embedded, Inc.
|
|
*
|
|
* This file is licensed under the terms of the GNU General Public License
|
|
* version 2. This program is licensed "as is" without any warranty of any
|
|
* kind, whether express or implied.
|
|
*/
|
|
|
|
/*
|
|
* SSI-AK4643
|
|
*
|
|
* SW1: 1: AK4643
|
|
* 2: CN22
|
|
* 3: ADV7511
|
|
*
|
|
* This command is required when Playback/Capture
|
|
*
|
|
* amixer set "LINEOUT Mixer DACL" on
|
|
* amixer set "DVC Out" 100%
|
|
* amixer set "DVC In" 100%
|
|
*
|
|
* You can use Mute
|
|
*
|
|
* amixer set "DVC Out Mute" on
|
|
* amixer set "DVC In Mute" on
|
|
*
|
|
* You can use Volume Ramp
|
|
*
|
|
* amixer set "DVC Out Ramp Up Rate" "0.125 dB/64 steps"
|
|
* amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps"
|
|
* amixer set "DVC Out Ramp" on
|
|
* aplay xxx.wav &
|
|
* amixer set "DVC Out" 80% // Volume Down
|
|
* amixer set "DVC Out" 100% // Volume Up
|
|
*/
|
|
|
|
/dts-v1/;
|
|
#include "r8a7791.dtsi"
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/input/input.h>
|
|
|
|
/ {
|
|
model = "Koelsch";
|
|
compatible = "renesas,koelsch", "renesas,r8a7791";
|
|
|
|
aliases {
|
|
serial0 = &scif0;
|
|
serial1 = &scif1;
|
|
};
|
|
|
|
chosen {
|
|
bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
|
|
stdout-path = &scif0;
|
|
};
|
|
|
|
memory@40000000 {
|
|
device_type = "memory";
|
|
reg = <0 0x40000000 0 0x40000000>;
|
|
};
|
|
|
|
memory@200000000 {
|
|
device_type = "memory";
|
|
reg = <2 0x00000000 0 0x40000000>;
|
|
};
|
|
|
|
lbsc {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
};
|
|
|
|
keyboard {
|
|
compatible = "gpio-keys";
|
|
|
|
key-1 {
|
|
gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_1>;
|
|
label = "SW2-1";
|
|
gpio-key,wakeup;
|
|
debounce-interval = <20>;
|
|
};
|
|
key-2 {
|
|
gpios = <&gpio5 1 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_2>;
|
|
label = "SW2-2";
|
|
gpio-key,wakeup;
|
|
debounce-interval = <20>;
|
|
};
|
|
key-3 {
|
|
gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_3>;
|
|
label = "SW2-3";
|
|
gpio-key,wakeup;
|
|
debounce-interval = <20>;
|
|
};
|
|
key-4 {
|
|
gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_4>;
|
|
label = "SW2-4";
|
|
gpio-key,wakeup;
|
|
debounce-interval = <20>;
|
|
};
|
|
key-a {
|
|
gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_A>;
|
|
label = "SW30";
|
|
gpio-key,wakeup;
|
|
debounce-interval = <20>;
|
|
};
|
|
key-b {
|
|
gpios = <&gpio7 1 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_B>;
|
|
label = "SW31";
|
|
gpio-key,wakeup;
|
|
debounce-interval = <20>;
|
|
};
|
|
key-c {
|
|
gpios = <&gpio7 2 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_C>;
|
|
label = "SW32";
|
|
gpio-key,wakeup;
|
|
debounce-interval = <20>;
|
|
};
|
|
key-d {
|
|
gpios = <&gpio7 3 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_D>;
|
|
label = "SW33";
|
|
gpio-key,wakeup;
|
|
debounce-interval = <20>;
|
|
};
|
|
key-e {
|
|
gpios = <&gpio7 4 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_E>;
|
|
label = "SW34";
|
|
gpio-key,wakeup;
|
|
debounce-interval = <20>;
|
|
};
|
|
key-f {
|
|
gpios = <&gpio7 5 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_F>;
|
|
label = "SW35";
|
|
gpio-key,wakeup;
|
|
debounce-interval = <20>;
|
|
};
|
|
key-g {
|
|
gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_G>;
|
|
label = "SW36";
|
|
gpio-key,wakeup;
|
|
debounce-interval = <20>;
|
|
};
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
led6 {
|
|
gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>;
|
|
label = "LED6";
|
|
};
|
|
led7 {
|
|
gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
|
|
label = "LED7";
|
|
};
|
|
led8 {
|
|
gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
|
|
label = "LED8";
|
|
};
|
|
};
|
|
|
|
vcc_sdhi0: regulator@0 {
|
|
compatible = "regulator-fixed";
|
|
|
|
regulator-name = "SDHI0 Vcc";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
|
|
gpio = <&gpio7 17 GPIO_ACTIVE_HIGH>;
|
|
enable-active-high;
|
|
};
|
|
|
|
vccq_sdhi0: regulator@1 {
|
|
compatible = "regulator-gpio";
|
|
|
|
regulator-name = "SDHI0 VccQ";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
|
|
gpios = <&gpio2 12 GPIO_ACTIVE_HIGH>;
|
|
gpios-states = <1>;
|
|
states = <3300000 1
|
|
1800000 0>;
|
|
};
|
|
|
|
vcc_sdhi1: regulator@2 {
|
|
compatible = "regulator-fixed";
|
|
|
|
regulator-name = "SDHI1 Vcc";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
|
|
gpio = <&gpio7 18 GPIO_ACTIVE_HIGH>;
|
|
enable-active-high;
|
|
};
|
|
|
|
vccq_sdhi1: regulator@3 {
|
|
compatible = "regulator-gpio";
|
|
|
|
regulator-name = "SDHI1 VccQ";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
|
|
gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>;
|
|
gpios-states = <1>;
|
|
states = <3300000 1
|
|
1800000 0>;
|
|
};
|
|
|
|
vcc_sdhi2: regulator@4 {
|
|
compatible = "regulator-fixed";
|
|
|
|
regulator-name = "SDHI2 Vcc";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
|
|
gpio = <&gpio7 19 GPIO_ACTIVE_HIGH>;
|
|
enable-active-high;
|
|
};
|
|
|
|
vccq_sdhi2: regulator@5 {
|
|
compatible = "regulator-gpio";
|
|
|
|
regulator-name = "SDHI2 VccQ";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
|
|
gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>;
|
|
gpios-states = <1>;
|
|
states = <3300000 1
|
|
1800000 0>;
|
|
};
|
|
|
|
sound {
|
|
compatible = "simple-audio-card";
|
|
|
|
simple-audio-card,format = "left_j";
|
|
simple-audio-card,bitclock-master = <&sndcodec>;
|
|
simple-audio-card,frame-master = <&sndcodec>;
|
|
|
|
sndcpu: simple-audio-card,cpu {
|
|
sound-dai = <&rcar_sound>;
|
|
};
|
|
|
|
sndcodec: simple-audio-card,codec {
|
|
sound-dai = <&ak4643>;
|
|
system-clock-frequency = <11289600>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&du {
|
|
pinctrl-0 = <&du_pins>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
|
|
ports {
|
|
port@1 {
|
|
lvds_connector: endpoint {
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&extal_clk {
|
|
clock-frequency = <20000000>;
|
|
};
|
|
|
|
&pfc {
|
|
i2c2_pins: i2c2 {
|
|
renesas,groups = "i2c2";
|
|
renesas,function = "i2c2";
|
|
};
|
|
|
|
du_pins: du {
|
|
renesas,groups = "du_rgb666", "du_sync", "du_clk_out_0";
|
|
renesas,function = "du";
|
|
};
|
|
|
|
scif0_pins: serial0 {
|
|
renesas,groups = "scif0_data_d";
|
|
renesas,function = "scif0";
|
|
};
|
|
|
|
scif1_pins: serial1 {
|
|
renesas,groups = "scif1_data_d";
|
|
renesas,function = "scif1";
|
|
};
|
|
|
|
ether_pins: ether {
|
|
renesas,groups = "eth_link", "eth_mdio", "eth_rmii";
|
|
renesas,function = "eth";
|
|
};
|
|
|
|
phy1_pins: phy1 {
|
|
renesas,groups = "intc_irq0";
|
|
renesas,function = "intc";
|
|
};
|
|
|
|
sdhi0_pins: sd0 {
|
|
renesas,groups = "sdhi0_data4", "sdhi0_ctrl";
|
|
renesas,function = "sdhi0";
|
|
};
|
|
|
|
sdhi1_pins: sd1 {
|
|
renesas,groups = "sdhi1_data4", "sdhi1_ctrl";
|
|
renesas,function = "sdhi1";
|
|
};
|
|
|
|
sdhi2_pins: sd2 {
|
|
renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
|
|
renesas,function = "sdhi2";
|
|
};
|
|
|
|
qspi_pins: spi0 {
|
|
renesas,groups = "qspi_ctrl", "qspi_data4";
|
|
renesas,function = "qspi";
|
|
};
|
|
|
|
msiof0_pins: spi1 {
|
|
renesas,groups = "msiof0_clk", "msiof0_sync", "msiof0_rx",
|
|
"msiof0_tx";
|
|
renesas,function = "msiof0";
|
|
};
|
|
|
|
usb0_pins: usb0 {
|
|
renesas,groups = "usb0";
|
|
renesas,function = "usb0";
|
|
};
|
|
|
|
usb1_pins: usb1 {
|
|
renesas,groups = "usb1";
|
|
renesas,function = "usb1";
|
|
};
|
|
|
|
vin1_pins: vin1 {
|
|
renesas,groups = "vin1_data8", "vin1_clk";
|
|
renesas,function = "vin1";
|
|
};
|
|
|
|
sound_pins: sound {
|
|
renesas,groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
|
|
renesas,function = "ssi";
|
|
};
|
|
|
|
sound_clk_pins: sound_clk {
|
|
renesas,groups = "audio_clk_a";
|
|
renesas,function = "audio_clk";
|
|
};
|
|
};
|
|
|
|
ðer {
|
|
pinctrl-0 = <ðer_pins &phy1_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
phy-handle = <&phy1>;
|
|
renesas,ether-link-active-low;
|
|
status = "okay";
|
|
|
|
phy1: ethernet-phy@1 {
|
|
reg = <1>;
|
|
interrupt-parent = <&irqc0>;
|
|
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
|
micrel,led-mode = <1>;
|
|
};
|
|
};
|
|
|
|
&cmt0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&sata0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&scif0 {
|
|
pinctrl-0 = <&scif0_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
status = "okay";
|
|
};
|
|
|
|
&scif1 {
|
|
pinctrl-0 = <&scif1_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
status = "okay";
|
|
};
|
|
|
|
&sdhi0 {
|
|
pinctrl-0 = <&sdhi0_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
vmmc-supply = <&vcc_sdhi0>;
|
|
vqmmc-supply = <&vccq_sdhi0>;
|
|
cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>;
|
|
wp-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
|
|
status = "okay";
|
|
};
|
|
|
|
&sdhi1 {
|
|
pinctrl-0 = <&sdhi1_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
vmmc-supply = <&vcc_sdhi1>;
|
|
vqmmc-supply = <&vccq_sdhi1>;
|
|
cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
|
|
wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
|
|
status = "okay";
|
|
};
|
|
|
|
&sdhi2 {
|
|
pinctrl-0 = <&sdhi2_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
vmmc-supply = <&vcc_sdhi2>;
|
|
vqmmc-supply = <&vccq_sdhi2>;
|
|
cd-gpios = <&gpio6 22 GPIO_ACTIVE_LOW>;
|
|
status = "okay";
|
|
};
|
|
|
|
&qspi {
|
|
pinctrl-0 = <&qspi_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
status = "okay";
|
|
|
|
flash: flash@0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "spansion,s25fl512s";
|
|
reg = <0>;
|
|
spi-max-frequency = <30000000>;
|
|
spi-tx-bus-width = <4>;
|
|
spi-rx-bus-width = <4>;
|
|
spi-cpha;
|
|
spi-cpol;
|
|
m25p,fast-read;
|
|
|
|
partition@0 {
|
|
label = "loader";
|
|
reg = <0x00000000 0x00080000>;
|
|
read-only;
|
|
};
|
|
partition@80000 {
|
|
label = "user";
|
|
reg = <0x00080000 0x00580000>;
|
|
read-only;
|
|
};
|
|
partition@600000 {
|
|
label = "flash";
|
|
reg = <0x00600000 0x03a00000>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&msiof0 {
|
|
pinctrl-0 = <&msiof0_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
status = "okay";
|
|
|
|
pmic: pmic@0 {
|
|
compatible = "renesas,r2a11302ft";
|
|
reg = <0>;
|
|
spi-max-frequency = <6000000>;
|
|
spi-cpol;
|
|
spi-cpha;
|
|
};
|
|
};
|
|
|
|
&i2c2 {
|
|
pinctrl-0 = <&i2c2_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
status = "okay";
|
|
clock-frequency = <100000>;
|
|
|
|
ak4643: sound-codec@12 {
|
|
compatible = "asahi-kasei,ak4643";
|
|
#sound-dai-cells = <0>;
|
|
reg = <0x12>;
|
|
};
|
|
|
|
composite-in@20 {
|
|
compatible = "adi,adv7180";
|
|
reg = <0x20>;
|
|
remote = <&vin1>;
|
|
|
|
port {
|
|
adv7180: endpoint {
|
|
bus-width = <8>;
|
|
remote-endpoint = <&vin1ep>;
|
|
};
|
|
};
|
|
};
|
|
|
|
eeprom@50 {
|
|
compatible = "renesas,24c02";
|
|
reg = <0x50>;
|
|
pagesize = <16>;
|
|
};
|
|
};
|
|
|
|
&i2c6 {
|
|
status = "okay";
|
|
clock-frequency = <100000>;
|
|
|
|
pmic@58 {
|
|
compatible = "dlg,da9063";
|
|
reg = <0x58>;
|
|
interrupt-parent = <&irqc0>;
|
|
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
|
|
interrupt-controller;
|
|
|
|
rtc {
|
|
compatible = "dlg,da9063-rtc";
|
|
};
|
|
|
|
wdt {
|
|
compatible = "dlg,da9063-watchdog";
|
|
};
|
|
};
|
|
|
|
vdd_dvfs: regulator@68 {
|
|
compatible = "dlg,da9210";
|
|
reg = <0x68>;
|
|
interrupt-parent = <&irqc0>;
|
|
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
|
|
|
|
regulator-min-microvolt = <1000000>;
|
|
regulator-max-microvolt = <1000000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
};
|
|
|
|
&pci0 {
|
|
status = "okay";
|
|
pinctrl-0 = <&usb0_pins>;
|
|
pinctrl-names = "default";
|
|
};
|
|
|
|
&pci1 {
|
|
status = "okay";
|
|
pinctrl-0 = <&usb1_pins>;
|
|
pinctrl-names = "default";
|
|
};
|
|
|
|
&hsusb {
|
|
status = "okay";
|
|
pinctrl-0 = <&usb0_pins>;
|
|
pinctrl-names = "default";
|
|
renesas,enable-gpio = <&gpio5 31 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
&usbphy {
|
|
status = "okay";
|
|
};
|
|
|
|
&pcie_bus_clk {
|
|
status = "okay";
|
|
};
|
|
|
|
&pciec {
|
|
status = "okay";
|
|
};
|
|
|
|
&cpu0 {
|
|
cpu0-supply = <&vdd_dvfs>;
|
|
};
|
|
|
|
/* composite video input */
|
|
&vin1 {
|
|
status = "okay";
|
|
pinctrl-0 = <&vin1_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
port {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
vin1ep: endpoint {
|
|
remote-endpoint = <&adv7180>;
|
|
bus-width = <8>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&rcar_sound {
|
|
pinctrl-0 = <&sound_pins &sound_clk_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
/* Single DAI */
|
|
#sound-dai-cells = <0>;
|
|
|
|
status = "okay";
|
|
|
|
rcar_sound,dai {
|
|
dai0 {
|
|
playback = <&ssi0 &src2 &dvc0>;
|
|
capture = <&ssi1 &src3 &dvc1>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&ssi1 {
|
|
shared-pin;
|
|
};
|