mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-25 06:00:43 +00:00
c7d681207d
Synchronize R-Car Gen3 device trees with Linux 5.6.2, commit 9fbe5c87eaa9b72db08425c52c373eb5f6537a0a . Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
528 lines
8.7 KiB
Text
528 lines
8.7 KiB
Text
// SPDX-License-Identifier: GPL-2.0
|
|
/*
|
|
* Device Tree Source for the Draak board
|
|
*
|
|
* Copyright (C) 2016-2018 Renesas Electronics Corp.
|
|
* Copyright (C) 2017 Glider bvba
|
|
*/
|
|
|
|
/dts-v1/;
|
|
#include "r8a77995.dtsi"
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
|
|
/ {
|
|
model = "Renesas Draak board based on r8a77995";
|
|
compatible = "renesas,draak", "renesas,r8a77995";
|
|
|
|
aliases {
|
|
serial0 = &scif2;
|
|
ethernet0 = &avb;
|
|
};
|
|
|
|
backlight: backlight {
|
|
compatible = "pwm-backlight";
|
|
pwms = <&pwm1 0 50000>;
|
|
|
|
brightness-levels = <512 511 505 494 473 440 392 327 241 133 0>;
|
|
default-brightness-level = <10>;
|
|
|
|
power-supply = <®_12p0v>;
|
|
enable-gpios = <&gpio4 0 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
chosen {
|
|
bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
|
|
stdout-path = "serial0:115200n8";
|
|
};
|
|
|
|
composite-in {
|
|
compatible = "composite-video-connector";
|
|
|
|
port {
|
|
composite_con_in: endpoint {
|
|
remote-endpoint = <&adv7180_in>;
|
|
};
|
|
};
|
|
};
|
|
|
|
hdmi-in {
|
|
compatible = "hdmi-connector";
|
|
type = "a";
|
|
|
|
port {
|
|
hdmi_con_in: endpoint {
|
|
remote-endpoint = <&adv7612_in>;
|
|
};
|
|
};
|
|
};
|
|
|
|
hdmi-out {
|
|
compatible = "hdmi-connector";
|
|
type = "a";
|
|
|
|
port {
|
|
hdmi_con_out: endpoint {
|
|
remote-endpoint = <&adv7511_out>;
|
|
};
|
|
};
|
|
};
|
|
|
|
lvds-decoder {
|
|
compatible = "thine,thc63lvd1024";
|
|
vcc-supply = <®_3p3v>;
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
thc63lvd1024_in: endpoint {
|
|
remote-endpoint = <&lvds0_out>;
|
|
};
|
|
};
|
|
|
|
port@2 {
|
|
reg = <2>;
|
|
thc63lvd1024_out: endpoint {
|
|
remote-endpoint = <&adv7511_in>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
memory@48000000 {
|
|
device_type = "memory";
|
|
/* first 128MB is reserved for secure area. */
|
|
reg = <0x0 0x48000000 0x0 0x18000000>;
|
|
};
|
|
|
|
reg_1p8v: regulator-1p8v {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "fixed-1.8V";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
reg_3p3v: regulator-3p3v {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "fixed-3.3V";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
reg_12p0v: regulator-12p0v {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "D12.0V";
|
|
regulator-min-microvolt = <12000000>;
|
|
regulator-max-microvolt = <12000000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vga {
|
|
compatible = "vga-connector";
|
|
|
|
port {
|
|
vga_in: endpoint {
|
|
remote-endpoint = <&adv7123_out>;
|
|
};
|
|
};
|
|
};
|
|
|
|
vga-encoder {
|
|
compatible = "adi,adv7123";
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
adv7123_in: endpoint {
|
|
remote-endpoint = <&du_out_rgb>;
|
|
};
|
|
};
|
|
port@1 {
|
|
reg = <1>;
|
|
adv7123_out: endpoint {
|
|
remote-endpoint = <&vga_in>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
x12_clk: x12 {
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <0>;
|
|
clock-frequency = <74250000>;
|
|
};
|
|
};
|
|
|
|
&avb {
|
|
pinctrl-0 = <&avb0_pins>;
|
|
pinctrl-names = "default";
|
|
renesas,no-ether-link;
|
|
phy-handle = <&phy0>;
|
|
status = "okay";
|
|
|
|
phy0: ethernet-phy@0 {
|
|
rxc-skew-ps = <1500>;
|
|
reg = <0>;
|
|
interrupt-parent = <&gpio5>;
|
|
interrupts = <19 IRQ_TYPE_LEVEL_LOW>;
|
|
/*
|
|
* TX clock internal delay mode is required for reliable
|
|
* 1Gbps communication using the KSZ9031RNX phy present on
|
|
* the Draak board, however, TX clock internal delay mode
|
|
* isn't supported on r8a77995. Thus, limit speed to
|
|
* 100Mbps for reliable communication.
|
|
*/
|
|
max-speed = <100>;
|
|
};
|
|
};
|
|
|
|
&can0 {
|
|
pinctrl-0 = <&can0_pins>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
};
|
|
|
|
&can1 {
|
|
pinctrl-0 = <&can1_pins>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
};
|
|
|
|
&du {
|
|
pinctrl-0 = <&du_pins>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
|
|
clocks = <&cpg CPG_MOD 724>,
|
|
<&cpg CPG_MOD 723>,
|
|
<&x12_clk>;
|
|
clock-names = "du.0", "du.1", "dclkin.0";
|
|
|
|
ports {
|
|
port@0 {
|
|
endpoint {
|
|
remote-endpoint = <&adv7123_in>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&ehci0 {
|
|
dr_mode = "host";
|
|
status = "okay";
|
|
};
|
|
|
|
&extal_clk {
|
|
clock-frequency = <48000000>;
|
|
};
|
|
|
|
&hsusb {
|
|
dr_mode = "host";
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c0 {
|
|
pinctrl-0 = <&i2c0_pins>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
|
|
composite-in@20 {
|
|
compatible = "adi,adv7180cp";
|
|
reg = <0x20>;
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
adv7180_in: endpoint {
|
|
remote-endpoint = <&composite_con_in>;
|
|
};
|
|
};
|
|
|
|
port@3 {
|
|
reg = <3>;
|
|
|
|
/*
|
|
* The VIN4 video input path is shared between
|
|
* CVBS and HDMI inputs through SW[49-53]
|
|
* switches.
|
|
*
|
|
* CVBS is the default selection, link it to
|
|
* VIN4 here.
|
|
*/
|
|
adv7180_out: endpoint {
|
|
remote-endpoint = <&vin4_in>;
|
|
};
|
|
};
|
|
};
|
|
|
|
};
|
|
|
|
hdmi-encoder@39 {
|
|
compatible = "adi,adv7511w";
|
|
reg = <0x39>, <0x3f>, <0x38>, <0x3c>;
|
|
reg-names = "main", "edid", "packet", "cec";
|
|
interrupt-parent = <&gpio1>;
|
|
interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
|
|
|
|
/* Depends on LVDS */
|
|
max-clock = <135000000>;
|
|
min-vrefresh = <50>;
|
|
|
|
adi,input-depth = <8>;
|
|
adi,input-colorspace = "rgb";
|
|
adi,input-clock = "1x";
|
|
adi,input-style = <1>;
|
|
adi,input-justification = "evenly";
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
adv7511_in: endpoint {
|
|
remote-endpoint = <&thc63lvd1024_out>;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
reg = <1>;
|
|
adv7511_out: endpoint {
|
|
remote-endpoint = <&hdmi_con_out>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
hdmi-decoder@4c {
|
|
compatible = "adi,adv7612";
|
|
reg = <0x4c>;
|
|
default-input = <0>;
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
|
|
adv7612_in: endpoint {
|
|
remote-endpoint = <&hdmi_con_in>;
|
|
};
|
|
};
|
|
|
|
port@2 {
|
|
reg = <2>;
|
|
|
|
/*
|
|
* The VIN4 video input path is shared between
|
|
* CVBS and HDMI inputs through SW[49-53]
|
|
* switches.
|
|
*
|
|
* CVBS is the default selection, leave HDMI
|
|
* not connected here.
|
|
*/
|
|
adv7612_out: endpoint {
|
|
pclk-sample = <0>;
|
|
hsync-active = <0>;
|
|
vsync-active = <0>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
eeprom@50 {
|
|
compatible = "rohm,br24t01", "atmel,24c01";
|
|
reg = <0x50>;
|
|
pagesize = <8>;
|
|
};
|
|
};
|
|
|
|
&i2c1 {
|
|
pinctrl-0 = <&i2c1_pins>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
};
|
|
|
|
&lvds0 {
|
|
status = "okay";
|
|
|
|
clocks = <&cpg CPG_MOD 727>,
|
|
<&x12_clk>,
|
|
<&extal_clk>;
|
|
clock-names = "fck", "dclkin.0", "extal";
|
|
|
|
ports {
|
|
port@1 {
|
|
lvds0_out: endpoint {
|
|
remote-endpoint = <&thc63lvd1024_in>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&lvds1 {
|
|
/*
|
|
* Even though the LVDS1 output is not connected, the encoder must be
|
|
* enabled to supply a pixel clock to the DU for the DPAD output when
|
|
* LVDS0 is in use.
|
|
*/
|
|
status = "okay";
|
|
|
|
clocks = <&cpg CPG_MOD 727>,
|
|
<&x12_clk>,
|
|
<&extal_clk>;
|
|
clock-names = "fck", "dclkin.0", "extal";
|
|
};
|
|
|
|
&ohci0 {
|
|
dr_mode = "host";
|
|
status = "okay";
|
|
};
|
|
|
|
&pfc {
|
|
avb0_pins: avb {
|
|
mux {
|
|
groups = "avb0_link", "avb0_mdio", "avb0_mii";
|
|
function = "avb0";
|
|
};
|
|
};
|
|
|
|
can0_pins: can0 {
|
|
groups = "can0_data_a";
|
|
function = "can0";
|
|
};
|
|
|
|
can1_pins: can1 {
|
|
groups = "can1_data_a";
|
|
function = "can1";
|
|
};
|
|
|
|
du_pins: du {
|
|
groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0";
|
|
function = "du";
|
|
};
|
|
|
|
i2c0_pins: i2c0 {
|
|
groups = "i2c0";
|
|
function = "i2c0";
|
|
};
|
|
|
|
i2c1_pins: i2c1 {
|
|
groups = "i2c1";
|
|
function = "i2c1";
|
|
};
|
|
|
|
pwm0_pins: pwm0 {
|
|
groups = "pwm0_c";
|
|
function = "pwm0";
|
|
};
|
|
|
|
pwm1_pins: pwm1 {
|
|
groups = "pwm1_c";
|
|
function = "pwm1";
|
|
};
|
|
|
|
scif2_pins: scif2 {
|
|
groups = "scif2_data";
|
|
function = "scif2";
|
|
};
|
|
|
|
sdhi2_pins: sd2 {
|
|
groups = "mmc_data8", "mmc_ctrl";
|
|
function = "mmc";
|
|
power-source = <1800>;
|
|
};
|
|
|
|
sdhi2_pins_uhs: sd2_uhs {
|
|
groups = "mmc_data8", "mmc_ctrl";
|
|
function = "mmc";
|
|
power-source = <1800>;
|
|
};
|
|
|
|
usb0_pins: usb0 {
|
|
groups = "usb0";
|
|
function = "usb0";
|
|
};
|
|
|
|
vin4_pins_cvbs: vin4 {
|
|
groups = "vin4_data8", "vin4_sync", "vin4_clk";
|
|
function = "vin4";
|
|
};
|
|
};
|
|
|
|
&pwm0 {
|
|
pinctrl-0 = <&pwm0_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
status = "okay";
|
|
};
|
|
|
|
&pwm1 {
|
|
pinctrl-0 = <&pwm1_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
status = "okay";
|
|
};
|
|
|
|
&rwdt {
|
|
timeout-sec = <60>;
|
|
status = "okay";
|
|
};
|
|
|
|
&scif2 {
|
|
pinctrl-0 = <&scif2_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
status = "okay";
|
|
};
|
|
|
|
&sdhi2 {
|
|
/* used for on-board eMMC */
|
|
pinctrl-0 = <&sdhi2_pins>;
|
|
pinctrl-1 = <&sdhi2_pins_uhs>;
|
|
pinctrl-names = "default", "state_uhs";
|
|
|
|
vmmc-supply = <®_3p3v>;
|
|
vqmmc-supply = <®_1p8v>;
|
|
bus-width = <8>;
|
|
mmc-hs200-1_8v;
|
|
non-removable;
|
|
status = "okay";
|
|
};
|
|
|
|
&usb2_phy0 {
|
|
pinctrl-0 = <&usb0_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
renesas,no-otg-pins;
|
|
status = "okay";
|
|
};
|
|
|
|
&vin4 {
|
|
pinctrl-0 = <&vin4_pins_cvbs>;
|
|
pinctrl-names = "default";
|
|
|
|
status = "okay";
|
|
|
|
ports {
|
|
port {
|
|
vin4_in: endpoint {
|
|
remote-endpoint = <&adv7180_out>;
|
|
};
|
|
};
|
|
};
|
|
};
|