mirror of
https://github.com/smaeul/u-boot.git
synced 2025-11-20 10:53:08 +00:00
Merge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-sh into next
- V3U Falcon board support
This commit is contained in:
commit
8fba49bc8e
@ -907,7 +907,8 @@ dtb-$(CONFIG_RCAR_GEN3) += \
|
||||
r8a77970-eagle-u-boot.dtb \
|
||||
r8a77980-condor-u-boot.dtb \
|
||||
r8a77990-ebisu-u-boot.dtb \
|
||||
r8a77995-draak-u-boot.dtb
|
||||
r8a77995-draak-u-boot.dtb \
|
||||
r8a779a0-falcon-u-boot.dtb
|
||||
|
||||
ifdef CONFIG_RCAR_GEN3
|
||||
DTC_FLAGS += -R 4 -p 0x1000
|
||||
|
||||
184
arch/arm/dts/r8a779a0-falcon-cpu.dtsi
Normal file
184
arch/arm/dts/r8a779a0-falcon-cpu.dtsi
Normal file
@ -0,0 +1,184 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Device Tree Source for the Falcon CPU board
|
||||
*
|
||||
* Copyright (C) 2020 Renesas Electronics Corp.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include "r8a779a0.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Renesas Falcon CPU board";
|
||||
compatible = "renesas,falcon-cpu", "renesas,r8a779a0";
|
||||
|
||||
memory@48000000 {
|
||||
device_type = "memory";
|
||||
/* first 128MB is reserved for secure area. */
|
||||
reg = <0x0 0x48000000 0x0 0x78000000>;
|
||||
};
|
||||
|
||||
memory@500000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x5 0x00000000 0x0 0x80000000>;
|
||||
};
|
||||
|
||||
memory@600000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x6 0x00000000 0x0 0x80000000>;
|
||||
};
|
||||
|
||||
memory@700000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x7 0x00000000 0x0 0x80000000>;
|
||||
};
|
||||
|
||||
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;
|
||||
};
|
||||
};
|
||||
|
||||
&avb0 {
|
||||
pinctrl-0 = <&avb0_pins>;
|
||||
pinctrl-names = "default";
|
||||
phy-handle = <&phy0>;
|
||||
tx-internal-delay-ps = <2000>;
|
||||
status = "okay";
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
rxc-skew-ps = <1500>;
|
||||
reg = <0>;
|
||||
interrupt-parent = <&gpio4>;
|
||||
interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
|
||||
reset-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
&extal_clk {
|
||||
clock-frequency = <16666666>;
|
||||
};
|
||||
|
||||
&extalr_clk {
|
||||
clock-frequency = <32768>;
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-0 = <&i2c0_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
status = "okay";
|
||||
clock-frequency = <400000>;
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-0 = <&i2c1_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
status = "okay";
|
||||
clock-frequency = <400000>;
|
||||
};
|
||||
|
||||
&i2c6 {
|
||||
pinctrl-0 = <&i2c6_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
status = "okay";
|
||||
clock-frequency = <400000>;
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-0 = <&mmc_pins>;
|
||||
pinctrl-1 = <&mmc_pins>;
|
||||
pinctrl-names = "default", "state_uhs";
|
||||
|
||||
vmmc-supply = <®_3p3v>;
|
||||
vqmmc-supply = <®_1p8v>;
|
||||
mmc-hs200-1_8v;
|
||||
mmc-hs400-1_8v;
|
||||
bus-width = <8>;
|
||||
no-sd;
|
||||
no-sdio;
|
||||
non-removable;
|
||||
full-pwr-cycle-in-suspend;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pfc {
|
||||
pinctrl-0 = <&scif_clk_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
avb0_pins: avb0 {
|
||||
mux {
|
||||
groups = "avb0_link", "avb0_mdio", "avb0_rgmii", "avb0_txcrefclk";
|
||||
function = "avb0";
|
||||
};
|
||||
|
||||
pins_mdio {
|
||||
groups = "avb0_mdio";
|
||||
drive-strength = <21>;
|
||||
};
|
||||
|
||||
pins_mii {
|
||||
groups = "avb0_rgmii";
|
||||
drive-strength = <21>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
i2c0_pins: i2c0 {
|
||||
groups = "i2c0";
|
||||
function = "i2c0";
|
||||
};
|
||||
|
||||
i2c1_pins: i2c1 {
|
||||
groups = "i2c1";
|
||||
function = "i2c1";
|
||||
};
|
||||
|
||||
i2c6_pins: i2c6 {
|
||||
groups = "i2c6";
|
||||
function = "i2c6";
|
||||
};
|
||||
|
||||
mmc_pins: mmc {
|
||||
groups = "mmc_data8", "mmc_ctrl", "mmc_ds";
|
||||
function = "mmc";
|
||||
power-source = <1800>;
|
||||
};
|
||||
|
||||
scif0_pins: scif0 {
|
||||
groups = "scif0_data", "scif0_ctrl";
|
||||
function = "scif0";
|
||||
};
|
||||
|
||||
scif_clk_pins: scif_clk {
|
||||
groups = "scif_clk";
|
||||
function = "scif_clk";
|
||||
};
|
||||
};
|
||||
|
||||
&scif0 {
|
||||
pinctrl-0 = <&scif0_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
uart-has-rtscts;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&scif_clk {
|
||||
clock-frequency = <24000000>;
|
||||
};
|
||||
32
arch/arm/dts/r8a779a0-falcon-u-boot.dts
Normal file
32
arch/arm/dts/r8a779a0-falcon-u-boot.dts
Normal file
@ -0,0 +1,32 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Device Tree Source extras for U-Boot for the Falcon board
|
||||
*
|
||||
* Copyright (C) 2020 Renesas Electronics Corp.
|
||||
*/
|
||||
|
||||
#include "r8a779a0-falcon.dts"
|
||||
#include "r8a779a0-u-boot.dtsi"
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
spi0 = &rpc;
|
||||
};
|
||||
};
|
||||
|
||||
&rpc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
num-cs = <1>;
|
||||
spi-max-frequency = <50000000>;
|
||||
status = "okay";
|
||||
|
||||
spi-flash@0 {
|
||||
reg = <0>;
|
||||
compatible = "jedec,spi-nor";
|
||||
spi-max-frequency = <50000000>;
|
||||
spi-tx-bus-width = <1>;
|
||||
spi-rx-bus-width = <1>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
28
arch/arm/dts/r8a779a0-falcon.dts
Normal file
28
arch/arm/dts/r8a779a0-falcon.dts
Normal file
@ -0,0 +1,28 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Device Tree Source for the Falcon CPU and BreakOut boards
|
||||
*
|
||||
* Copyright (C) 2020 Renesas Electronics Corp.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "r8a779a0-falcon-cpu.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Renesas Falcon CPU and Breakout boards based on r8a779a0";
|
||||
compatible = "renesas,falcon-breakout", "renesas,falcon-cpu", "renesas,r8a779a0";
|
||||
|
||||
aliases {
|
||||
ethernet0 = &avb0;
|
||||
serial0 = &scif0;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
};
|
||||
|
||||
&rwdt {
|
||||
timeout-sec = <60>;
|
||||
status = "okay";
|
||||
};
|
||||
25
arch/arm/dts/r8a779a0-u-boot.dtsi
Normal file
25
arch/arm/dts/r8a779a0-u-boot.dtsi
Normal file
@ -0,0 +1,25 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Device Tree Source extras for U-Boot on R-Car R8A779A0 SoC
|
||||
*
|
||||
* Copyright (C) 2020 Renesas Electronics Corp.
|
||||
*/
|
||||
|
||||
#include "r8a779x-u-boot.dtsi"
|
||||
|
||||
/ {
|
||||
soc {
|
||||
rpc: spi@ee200000 {
|
||||
compatible = "renesas,rpc-r8a779a0", "renesas,rcar-gen3-rpc";
|
||||
reg = <0 0xee200000 0 0x200>, <0 0x08000000 0 0x04000000>;
|
||||
clocks = <&cpg CPG_MOD 629>;
|
||||
bank-width = <2>;
|
||||
num-cs = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&extalr_clk {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
970
arch/arm/dts/r8a779a0.dtsi
Normal file
970
arch/arm/dts/r8a779a0.dtsi
Normal file
@ -0,0 +1,970 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Device Tree Source for the R-Car V3U (R8A779A0) SoC
|
||||
*
|
||||
* Copyright (C) 2020 Renesas Electronics Corp.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/clock/r8a779a0-cpg-mssr.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/power/r8a779a0-sysc.h>
|
||||
|
||||
/ {
|
||||
compatible = "renesas,r8a779a0";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
aliases {
|
||||
i2c0 = &i2c0;
|
||||
i2c1 = &i2c1;
|
||||
i2c2 = &i2c2;
|
||||
i2c3 = &i2c3;
|
||||
i2c4 = &i2c4;
|
||||
i2c5 = &i2c5;
|
||||
i2c6 = &i2c6;
|
||||
};
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
a76_0: cpu@0 {
|
||||
compatible = "arm,cortex-a76";
|
||||
reg = <0>;
|
||||
device_type = "cpu";
|
||||
power-domains = <&sysc R8A779A0_PD_A1E0D0C0>;
|
||||
next-level-cache = <&L3_CA76_0>;
|
||||
};
|
||||
|
||||
L3_CA76_0: cache-controller-0 {
|
||||
compatible = "cache";
|
||||
power-domains = <&sysc R8A779A0_PD_A2E0D0>;
|
||||
cache-unified;
|
||||
cache-level = <3>;
|
||||
};
|
||||
};
|
||||
|
||||
extal_clk: extal {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
/* This value must be overridden by the board */
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
extalr_clk: extalr {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
/* This value must be overridden by the board */
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
pmu_a76 {
|
||||
compatible = "arm,cortex-a76-pmu";
|
||||
interrupts-extended = <&gic GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&gic GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&gic GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&gic GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
/* External SCIF clock - to be overridden by boards that provide it */
|
||||
scif_clk: scif {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
soc: soc {
|
||||
compatible = "simple-bus";
|
||||
interrupt-parent = <&gic>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
rwdt: watchdog@e6020000 {
|
||||
compatible = "renesas,r8a779a0-wdt",
|
||||
"renesas,rcar-gen3-wdt";
|
||||
reg = <0 0xe6020000 0 0x0c>;
|
||||
clocks = <&cpg CPG_MOD 907>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 907>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pfc: pin-controller@e6050000 {
|
||||
compatible = "renesas,pfc-r8a779a0";
|
||||
reg = <0 0xe6050000 0 0x16c>, <0 0xe6050800 0 0x16c>,
|
||||
<0 0xe6058000 0 0x16c>, <0 0xe6058800 0 0x16c>,
|
||||
<0 0xe6060000 0 0x16c>, <0 0xe6060800 0 0x16c>,
|
||||
<0 0xe6068000 0 0x16c>, <0 0xe6068800 0 0x16c>,
|
||||
<0 0xe6069000 0 0x16c>, <0 0xe6069800 0 0x16c>;
|
||||
};
|
||||
|
||||
gpio0: gpio@e6058180 {
|
||||
compatible = "renesas,gpio-r8a779a0";
|
||||
reg = <0 0xe6058180 0 0x54>;
|
||||
interrupts = <GIC_SPI 832 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 916>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 916>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&pfc 0 0 28>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
gpio1: gpio@e6050180 {
|
||||
compatible = "renesas,gpio-r8a779a0";
|
||||
reg = <0 0xe6050180 0 0x54>;
|
||||
interrupts = <GIC_SPI 836 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 915>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 915>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&pfc 0 32 31>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
gpio2: gpio@e6050980 {
|
||||
compatible = "renesas,gpio-r8a779a0";
|
||||
reg = <0 0xe6050980 0 0x54>;
|
||||
interrupts = <GIC_SPI 840 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 915>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 915>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&pfc 0 64 25>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
gpio3: gpio@e6058980 {
|
||||
compatible = "renesas,gpio-r8a779a0";
|
||||
reg = <0 0xe6058980 0 0x54>;
|
||||
interrupts = <GIC_SPI 844 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 916>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 916>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&pfc 0 96 17>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
gpio4: gpio@e6060180 {
|
||||
compatible = "renesas,gpio-r8a779a0";
|
||||
reg = <0 0xe6060180 0 0x54>;
|
||||
interrupts = <GIC_SPI 848 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 917>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 917>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&pfc 0 128 27>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
gpio5: gpio@e6060980 {
|
||||
compatible = "renesas,gpio-r8a779a0";
|
||||
reg = <0 0xe6060980 0 0x54>;
|
||||
interrupts = <GIC_SPI 852 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 917>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 917>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&pfc 0 160 21>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
gpio6: gpio@e6068180 {
|
||||
compatible = "renesas,gpio-r8a779a0";
|
||||
reg = <0 0xe6068180 0 0x54>;
|
||||
interrupts = <GIC_SPI 856 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 918>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 918>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&pfc 0 192 21>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
gpio7: gpio@e6068980 {
|
||||
compatible = "renesas,gpio-r8a779a0";
|
||||
reg = <0 0xe6068980 0 0x54>;
|
||||
interrupts = <GIC_SPI 860 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 918>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 918>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&pfc 0 224 21>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
gpio8: gpio@e6069180 {
|
||||
compatible = "renesas,gpio-r8a779a0";
|
||||
reg = <0 0xe6069180 0 0x54>;
|
||||
interrupts = <GIC_SPI 864 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 918>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 918>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&pfc 0 256 21>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
gpio9: gpio@e6069980 {
|
||||
compatible = "renesas,gpio-r8a779a0";
|
||||
reg = <0 0xe6069980 0 0x54>;
|
||||
interrupts = <GIC_SPI 868 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 918>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 918>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&pfc 0 288 21>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
cpg: clock-controller@e6150000 {
|
||||
compatible = "renesas,r8a779a0-cpg-mssr";
|
||||
reg = <0 0xe6150000 0 0x4000>;
|
||||
clocks = <&extal_clk>, <&extalr_clk>;
|
||||
clock-names = "extal", "extalr";
|
||||
#clock-cells = <2>;
|
||||
#power-domain-cells = <0>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
rst: reset-controller@e6160000 {
|
||||
compatible = "renesas,r8a779a0-rst";
|
||||
reg = <0 0xe6160000 0 0x4000>;
|
||||
};
|
||||
|
||||
sysc: system-controller@e6180000 {
|
||||
compatible = "renesas,r8a779a0-sysc";
|
||||
reg = <0 0xe6180000 0 0x4000>;
|
||||
#power-domain-cells = <1>;
|
||||
};
|
||||
|
||||
i2c0: i2c@e6500000 {
|
||||
compatible = "renesas,i2c-r8a779a0",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe6500000 0 0x40>;
|
||||
interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 518>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 518>;
|
||||
dmas = <&dmac1 0x91>, <&dmac1 0x90>;
|
||||
dma-names = "tx", "rx";
|
||||
i2c-scl-internal-delay-ns = <110>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c1: i2c@e6508000 {
|
||||
compatible = "renesas,i2c-r8a779a0",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe6508000 0 0x40>;
|
||||
interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 519>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 519>;
|
||||
dmas = <&dmac1 0x93>, <&dmac1 0x92>;
|
||||
dma-names = "tx", "rx";
|
||||
i2c-scl-internal-delay-ns = <110>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c2: i2c@e6510000 {
|
||||
compatible = "renesas,i2c-r8a779a0",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe6510000 0 0x40>;
|
||||
interrupts = <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 520>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 520>;
|
||||
dmas = <&dmac1 0x95>, <&dmac1 0x94>;
|
||||
dma-names = "tx", "rx";
|
||||
i2c-scl-internal-delay-ns = <110>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c3: i2c@e66d0000 {
|
||||
compatible = "renesas,i2c-r8a779a0",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe66d0000 0 0x40>;
|
||||
interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 521>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 521>;
|
||||
dmas = <&dmac1 0x97>, <&dmac1 0x96>;
|
||||
dma-names = "tx", "rx";
|
||||
i2c-scl-internal-delay-ns = <110>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c4: i2c@e66d8000 {
|
||||
compatible = "renesas,i2c-r8a779a0",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe66d8000 0 0x40>;
|
||||
interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 522>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 522>;
|
||||
dmas = <&dmac1 0x99>, <&dmac1 0x98>;
|
||||
dma-names = "tx", "rx";
|
||||
i2c-scl-internal-delay-ns = <110>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c5: i2c@e66e0000 {
|
||||
compatible = "renesas,i2c-r8a779a0",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe66e0000 0 0x40>;
|
||||
interrupts = <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 523>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 523>;
|
||||
dmas = <&dmac1 0x9b>, <&dmac1 0x9a>;
|
||||
dma-names = "tx", "rx";
|
||||
i2c-scl-internal-delay-ns = <110>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c6: i2c@e66e8000 {
|
||||
compatible = "renesas,i2c-r8a779a0",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe66e8000 0 0x40>;
|
||||
interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 524>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 524>;
|
||||
dmas = <&dmac1 0x9d>, <&dmac1 0x9c>;
|
||||
dma-names = "tx", "rx";
|
||||
i2c-scl-internal-delay-ns = <110>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
hscif0: serial@e6540000 {
|
||||
compatible = "renesas,hscif-r8a779a0",
|
||||
"renesas,rcar-gen3-hscif", "renesas,hscif";
|
||||
reg = <0 0xe6540000 0 0x60>;
|
||||
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 514>,
|
||||
<&cpg CPG_CORE R8A779A0_CLK_S1D2>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x31>, <&dmac1 0x30>;
|
||||
dma-names = "tx", "rx";
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 514>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
hscif1: serial@e6550000 {
|
||||
compatible = "renesas,hscif-r8a779a0",
|
||||
"renesas,rcar-gen3-hscif", "renesas,hscif";
|
||||
reg = <0 0xe6550000 0 0x60>;
|
||||
interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 515>,
|
||||
<&cpg CPG_CORE R8A779A0_CLK_S1D2>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x33>, <&dmac1 0x32>;
|
||||
dma-names = "tx", "rx";
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 515>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
hscif2: serial@e6560000 {
|
||||
compatible = "renesas,hscif-r8a779a0",
|
||||
"renesas,rcar-gen3-hscif", "renesas,hscif";
|
||||
reg = <0 0xe6560000 0 0x60>;
|
||||
interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 516>,
|
||||
<&cpg CPG_CORE R8A779A0_CLK_S1D2>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x35>, <&dmac1 0x34>;
|
||||
dma-names = "tx", "rx";
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 516>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
hscif3: serial@e66a0000 {
|
||||
compatible = "renesas,hscif-r8a779a0",
|
||||
"renesas,rcar-gen3-hscif", "renesas,hscif";
|
||||
reg = <0 0xe66a0000 0 0x60>;
|
||||
interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 517>,
|
||||
<&cpg CPG_CORE R8A779A0_CLK_S1D2>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x37>, <&dmac1 0x36>;
|
||||
dma-names = "tx", "rx";
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 517>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
avb0: ethernet@e6800000 {
|
||||
compatible = "renesas,etheravb-r8a779a0",
|
||||
"renesas,etheravb-rcar-gen3";
|
||||
reg = <0 0xe6800000 0 0x800>;
|
||||
interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 257 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 264 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 273 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 274 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 275 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 276 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "ch0", "ch1", "ch2", "ch3",
|
||||
"ch4", "ch5", "ch6", "ch7",
|
||||
"ch8", "ch9", "ch10", "ch11",
|
||||
"ch12", "ch13", "ch14", "ch15",
|
||||
"ch16", "ch17", "ch18", "ch19",
|
||||
"ch20", "ch21", "ch22", "ch23",
|
||||
"ch24";
|
||||
clocks = <&cpg CPG_MOD 211>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 211>;
|
||||
phy-mode = "rgmii";
|
||||
rx-internal-delay-ps = <0>;
|
||||
tx-internal-delay-ps = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
avb1: ethernet@e6810000 {
|
||||
compatible = "renesas,etheravb-r8a779a0",
|
||||
"renesas,etheravb-rcar-gen3";
|
||||
reg = <0 0xe6810000 0 0x800>;
|
||||
interrupts = <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 285 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 289 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 291 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 292 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 294 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 301 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 303 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "ch0", "ch1", "ch2", "ch3",
|
||||
"ch4", "ch5", "ch6", "ch7",
|
||||
"ch8", "ch9", "ch10", "ch11",
|
||||
"ch12", "ch13", "ch14", "ch15",
|
||||
"ch16", "ch17", "ch18", "ch19",
|
||||
"ch20", "ch21", "ch22", "ch23",
|
||||
"ch24";
|
||||
clocks = <&cpg CPG_MOD 212>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 212>;
|
||||
phy-mode = "rgmii";
|
||||
rx-internal-delay-ps = <0>;
|
||||
tx-internal-delay-ps = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
avb2: ethernet@e6820000 {
|
||||
compatible = "renesas,etheravb-r8a779a0",
|
||||
"renesas,etheravb-rcar-gen3";
|
||||
reg = <0 0xe6820000 0 0x1000>;
|
||||
interrupts = <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "ch0", "ch1", "ch2", "ch3",
|
||||
"ch4", "ch5", "ch6", "ch7",
|
||||
"ch8", "ch9", "ch10", "ch11",
|
||||
"ch12", "ch13", "ch14", "ch15",
|
||||
"ch16", "ch17", "ch18", "ch19",
|
||||
"ch20", "ch21", "ch22", "ch23",
|
||||
"ch24";
|
||||
clocks = <&cpg CPG_MOD 213>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 213>;
|
||||
phy-mode = "rgmii";
|
||||
rx-internal-delay-ps = <0>;
|
||||
tx-internal-delay-ps = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
avb3: ethernet@e6830000 {
|
||||
compatible = "renesas,etheravb-r8a779a0",
|
||||
"renesas,etheravb-rcar-gen3";
|
||||
reg = <0 0xe6830000 0 0x1000>;
|
||||
interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 349 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 350 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 351 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "ch0", "ch1", "ch2", "ch3",
|
||||
"ch4", "ch5", "ch6", "ch7",
|
||||
"ch8", "ch9", "ch10", "ch11",
|
||||
"ch12", "ch13", "ch14", "ch15",
|
||||
"ch16", "ch17", "ch18", "ch19",
|
||||
"ch20", "ch21", "ch22", "ch23",
|
||||
"ch24";
|
||||
clocks = <&cpg CPG_MOD 214>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 214>;
|
||||
phy-mode = "rgmii";
|
||||
rx-internal-delay-ps = <0>;
|
||||
tx-internal-delay-ps = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
avb4: ethernet@e6840000 {
|
||||
compatible = "renesas,etheravb-r8a779a0",
|
||||
"renesas,etheravb-rcar-gen3";
|
||||
reg = <0 0xe6840000 0 0x1000>;
|
||||
interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 362 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 364 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 365 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 366 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 367 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 368 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 369 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 376 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 377 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 380 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "ch0", "ch1", "ch2", "ch3",
|
||||
"ch4", "ch5", "ch6", "ch7",
|
||||
"ch8", "ch9", "ch10", "ch11",
|
||||
"ch12", "ch13", "ch14", "ch15",
|
||||
"ch16", "ch17", "ch18", "ch19",
|
||||
"ch20", "ch21", "ch22", "ch23",
|
||||
"ch24";
|
||||
clocks = <&cpg CPG_MOD 215>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 215>;
|
||||
phy-mode = "rgmii";
|
||||
rx-internal-delay-ps = <0>;
|
||||
tx-internal-delay-ps = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
avb5: ethernet@e6850000 {
|
||||
compatible = "renesas,etheravb-r8a779a0",
|
||||
"renesas,etheravb-rcar-gen3";
|
||||
reg = <0 0xe6850000 0 0x1000>;
|
||||
interrupts = <GIC_SPI 381 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 382 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 383 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 384 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 385 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 386 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 387 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 388 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 389 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 390 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 391 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 392 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 393 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 394 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "ch0", "ch1", "ch2", "ch3",
|
||||
"ch4", "ch5", "ch6", "ch7",
|
||||
"ch8", "ch9", "ch10", "ch11",
|
||||
"ch12", "ch13", "ch14", "ch15",
|
||||
"ch16", "ch17", "ch18", "ch19",
|
||||
"ch20", "ch21", "ch22", "ch23",
|
||||
"ch24";
|
||||
clocks = <&cpg CPG_MOD 216>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 216>;
|
||||
phy-mode = "rgmii";
|
||||
rx-internal-delay-ps = <0>;
|
||||
tx-internal-delay-ps = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
scif0: serial@e6e60000 {
|
||||
compatible = "renesas,scif-r8a779a0",
|
||||
"renesas,rcar-gen3-scif", "renesas,scif";
|
||||
reg = <0 0xe6e60000 0 64>;
|
||||
interrupts = <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 702>,
|
||||
<&cpg CPG_CORE R8A779A0_CLK_S1D2>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x51>, <&dmac1 0x50>;
|
||||
dma-names = "tx", "rx";
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 702>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
scif1: serial@e6e68000 {
|
||||
compatible = "renesas,scif-r8a779a0",
|
||||
"renesas,rcar-gen3-scif", "renesas,scif";
|
||||
reg = <0 0xe6e68000 0 64>;
|
||||
interrupts = <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 703>,
|
||||
<&cpg CPG_CORE R8A779A0_CLK_S1D2>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x53>, <&dmac1 0x52>;
|
||||
dma-names = "tx", "rx";
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 703>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
scif3: serial@e6c50000 {
|
||||
compatible = "renesas,scif-r8a779a0",
|
||||
"renesas,rcar-gen3-scif", "renesas,scif";
|
||||
reg = <0 0xe6c50000 0 64>;
|
||||
interrupts = <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 704>,
|
||||
<&cpg CPG_CORE R8A779A0_CLK_S1D2>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x57>, <&dmac1 0x56>;
|
||||
dma-names = "tx", "rx";
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 704>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
scif4: serial@e6c40000 {
|
||||
compatible = "renesas,scif-r8a779a0",
|
||||
"renesas,rcar-gen3-scif", "renesas,scif";
|
||||
reg = <0 0xe6c40000 0 64>;
|
||||
interrupts = <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 705>,
|
||||
<&cpg CPG_CORE R8A779A0_CLK_S1D2>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x59>, <&dmac1 0x58>;
|
||||
dma-names = "tx", "rx";
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 705>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
msiof0: spi@e6e90000 {
|
||||
compatible = "renesas,msiof-r8a779a0",
|
||||
"renesas,rcar-gen3-msiof";
|
||||
reg = <0 0xe6e90000 0 0x0064>;
|
||||
interrupts = <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 618>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 618>;
|
||||
dmas = <&dmac1 0x41>, <&dmac1 0x40>;
|
||||
dma-names = "tx", "rx";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
msiof1: spi@e6ea0000 {
|
||||
compatible = "renesas,msiof-r8a779a0",
|
||||
"renesas,rcar-gen3-msiof";
|
||||
reg = <0 0xe6ea0000 0 0x0064>;
|
||||
interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 619>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 619>;
|
||||
dmas = <&dmac1 0x43>, <&dmac1 0x42>;
|
||||
dma-names = "tx", "rx";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
msiof2: spi@e6c00000 {
|
||||
compatible = "renesas,msiof-r8a779a0",
|
||||
"renesas,rcar-gen3-msiof";
|
||||
reg = <0 0xe6c00000 0 0x0064>;
|
||||
interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 620>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 620>;
|
||||
dmas = <&dmac1 0x45>, <&dmac1 0x44>;
|
||||
dma-names = "tx", "rx";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
msiof3: spi@e6c10000 {
|
||||
compatible = "renesas,msiof-r8a779a0",
|
||||
"renesas,rcar-gen3-msiof";
|
||||
reg = <0 0xe6c10000 0 0x0064>;
|
||||
interrupts = <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 621>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 621>;
|
||||
dmas = <&dmac1 0x47>, <&dmac1 0x46>;
|
||||
dma-names = "tx", "rx";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
msiof4: spi@e6c20000 {
|
||||
compatible = "renesas,msiof-r8a779a0",
|
||||
"renesas,rcar-gen3-msiof";
|
||||
reg = <0 0xe6c20000 0 0x0064>;
|
||||
interrupts = <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 622>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 622>;
|
||||
dmas = <&dmac1 0x49>, <&dmac1 0x48>;
|
||||
dma-names = "tx", "rx";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
msiof5: spi@e6c28000 {
|
||||
compatible = "renesas,msiof-r8a779a0",
|
||||
"renesas,rcar-gen3-msiof";
|
||||
reg = <0 0xe6c28000 0 0x0064>;
|
||||
interrupts = <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 623>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 623>;
|
||||
dmas = <&dmac1 0x4b>, <&dmac1 0x4a>;
|
||||
dma-names = "tx", "rx";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
dmac1: dma-controller@e7350000 {
|
||||
compatible = "renesas,dmac-r8a779a0";
|
||||
reg = <0 0xe7350000 0 0x1000>,
|
||||
<0 0xe7300000 0 0x10000>;
|
||||
interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "error",
|
||||
"ch0", "ch1", "ch2", "ch3", "ch4",
|
||||
"ch5", "ch6", "ch7", "ch8", "ch9",
|
||||
"ch10", "ch11", "ch12", "ch13",
|
||||
"ch14", "ch15";
|
||||
clocks = <&cpg CPG_MOD 709>;
|
||||
clock-names = "fck";
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 709>;
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <16>;
|
||||
};
|
||||
|
||||
dmac2: dma-controller@e7351000 {
|
||||
compatible = "renesas,dmac-r8a779a0";
|
||||
reg = <0 0xe7351000 0 0x1000>,
|
||||
<0 0xe7310000 0 0x10000>;
|
||||
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "error",
|
||||
"ch0", "ch1", "ch2", "ch3", "ch4",
|
||||
"ch5", "ch6", "ch7";
|
||||
clocks = <&cpg CPG_MOD 710>;
|
||||
clock-names = "fck";
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 710>;
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <8>;
|
||||
};
|
||||
|
||||
mmc0: mmc@ee140000 {
|
||||
compatible = "renesas,sdhi-r8a779a0",
|
||||
"renesas,rcar-gen3-sdhi";
|
||||
reg = <0 0xee140000 0 0x2000>;
|
||||
interrupts = <GIC_SPI 236 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 706>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 706>;
|
||||
max-frequency = <200000000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gic: interrupt-controller@f1000000 {
|
||||
compatible = "arm,gic-v3";
|
||||
#interrupt-cells = <3>;
|
||||
#address-cells = <0>;
|
||||
interrupt-controller;
|
||||
reg = <0x0 0xf1000000 0 0x20000>,
|
||||
<0x0 0xf1060000 0 0x110000>;
|
||||
interrupts = <GIC_PPI 9
|
||||
(GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>;
|
||||
power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>;
|
||||
};
|
||||
|
||||
prr: chipid@fff00044 {
|
||||
compatible = "renesas,prr";
|
||||
reg = <0 0xfff00044 0 4>;
|
||||
};
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;
|
||||
};
|
||||
};
|
||||
@ -57,6 +57,11 @@ config R8A77995
|
||||
imply CLK_R8A77995
|
||||
imply PINCTRL_PFC_R8A77995
|
||||
|
||||
config R8A779A0
|
||||
bool "Renesas SoC R8A779A0"
|
||||
imply CLK_R8A779A0
|
||||
imply PINCTRL_PFC_R8A779A0
|
||||
|
||||
config RZ_G2
|
||||
bool "Renesas ARM SoCs RZ/G2 (64bit)"
|
||||
|
||||
@ -108,6 +113,12 @@ config TARGET_EBISU
|
||||
help
|
||||
Support for Renesas R-Car Gen3 Ebisu platform
|
||||
|
||||
config TARGET_FALCON
|
||||
bool "Falcon board"
|
||||
imply R8A779A0
|
||||
help
|
||||
Support for Renesas R-Car Gen3 Falcon platform
|
||||
|
||||
config TARGET_HIHOPE_RZG2
|
||||
bool "HiHope RZ/G2 board"
|
||||
imply R8A774A1
|
||||
@ -158,6 +169,7 @@ source "board/renesas/condor/Kconfig"
|
||||
source "board/renesas/draak/Kconfig"
|
||||
source "board/renesas/eagle/Kconfig"
|
||||
source "board/renesas/ebisu/Kconfig"
|
||||
source "board/renesas/falcon/Kconfig"
|
||||
source "board/renesas/salvator-x/Kconfig"
|
||||
source "board/renesas/ulcb/Kconfig"
|
||||
source "board/beacon/beacon-rzg2m/Kconfig"
|
||||
|
||||
@ -15,6 +15,10 @@ obj-$(CONFIG_RCAR_GEN2) += lowlevel_init_ca15.o cpu_info-rcar.o
|
||||
obj-$(CONFIG_RCAR_GEN3) += lowlevel_init_gen3.o cpu_info-rcar.o memmap-gen3.o
|
||||
obj-$(CONFIG_RZ_G2) += cpu_info-rzg.o
|
||||
|
||||
ifneq ($(CONFIG_R8A779A0),)
|
||||
obj-$(CONFIG_ARMV8_PSCI) += psci-r8a779a0.o
|
||||
endif
|
||||
|
||||
OBJCOPYFLAGS_u-boot-spl.srec := -O srec
|
||||
quiet_cmd_objcopy = OBJCOPY $@
|
||||
cmd_objcopy = $(OBJCOPY) --gap-fill=0x00 $(OBJCOPYFLAGS) \
|
||||
|
||||
@ -76,6 +76,7 @@ static const struct {
|
||||
{ RMOBILE_CPU_TYPE_R8A77980, "R8A77980" },
|
||||
{ RMOBILE_CPU_TYPE_R8A77990, "R8A77990" },
|
||||
{ RMOBILE_CPU_TYPE_R8A77995, "R8A77995" },
|
||||
{ RMOBILE_CPU_TYPE_R8A779A0, "R8A779A0" },
|
||||
{ 0x0, "CPU" },
|
||||
};
|
||||
|
||||
|
||||
@ -39,6 +39,7 @@
|
||||
#define RMOBILE_CPU_TYPE_R8A77980 0x56
|
||||
#define RMOBILE_CPU_TYPE_R8A77990 0x57
|
||||
#define RMOBILE_CPU_TYPE_R8A77995 0x58
|
||||
#define RMOBILE_CPU_TYPE_R8A779A0 0x59
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
const u8 *rzg_get_cpu_name(void);
|
||||
|
||||
49
arch/arm/mach-rmobile/psci-r8a779a0.c
Normal file
49
arch/arm/mach-rmobile/psci-r8a779a0.c
Normal file
@ -0,0 +1,49 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* This file implements basic PSCI support for Renesas r8a779a0 SoC
|
||||
*
|
||||
* Copyright (C) 2020 Renesas Electronics Corp.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/psci.h>
|
||||
#include <asm/secure.h>
|
||||
|
||||
int __secure psci_features(u32 function_id, u32 psci_fid)
|
||||
{
|
||||
switch (psci_fid) {
|
||||
case ARM_PSCI_0_2_FN_PSCI_VERSION:
|
||||
case ARM_PSCI_0_2_FN_SYSTEM_RESET:
|
||||
return 0x0;
|
||||
}
|
||||
/* case ARM_PSCI_0_2_FN_CPU_ON: */
|
||||
/* case ARM_PSCI_0_2_FN_CPU_OFF: */
|
||||
/* case ARM_PSCI_0_2_FN_AFFINITY_INFO: */
|
||||
/* case ARM_PSCI_0_2_FN_MIGRATE_INFO_TYPE: */
|
||||
/* case ARM_PSCI_0_2_FN_SYSTEM_OFF: */
|
||||
return ARM_PSCI_RET_NI;
|
||||
}
|
||||
|
||||
u32 __secure psci_version(void)
|
||||
{
|
||||
return ARM_PSCI_VER_0_2;
|
||||
}
|
||||
|
||||
#define RST_BASE 0xE6160000 /* Domain0 */
|
||||
#define RST_SRESCR0 (RST_BASE + 0x18)
|
||||
#define RST_SPRES 0x5AA58000
|
||||
|
||||
void __secure __noreturn psci_system_reset(void)
|
||||
{
|
||||
writel(RST_SPRES, RST_SRESCR0);
|
||||
|
||||
while (1)
|
||||
;
|
||||
}
|
||||
|
||||
int psci_update_dt(void *fdt)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
15
board/renesas/falcon/Kconfig
Normal file
15
board/renesas/falcon/Kconfig
Normal file
@ -0,0 +1,15 @@
|
||||
if TARGET_FALCON
|
||||
|
||||
config SYS_SOC
|
||||
default "rmobile"
|
||||
|
||||
config SYS_BOARD
|
||||
default "falcon"
|
||||
|
||||
config SYS_VENDOR
|
||||
default "renesas"
|
||||
|
||||
config SYS_CONFIG_NAME
|
||||
default "falcon"
|
||||
|
||||
endif
|
||||
6
board/renesas/falcon/MAINTAINERS
Normal file
6
board/renesas/falcon/MAINTAINERS
Normal file
@ -0,0 +1,6 @@
|
||||
FALCON BOARD
|
||||
M: Marek Vasut <marek.vasut+renesas@gmail.com>
|
||||
S: Maintained
|
||||
F: board/renesas/falcon/
|
||||
F: include/configs/falcon.h
|
||||
F: configs/r8a779a0_falcon_defconfig
|
||||
13
board/renesas/falcon/Makefile
Normal file
13
board/renesas/falcon/Makefile
Normal file
@ -0,0 +1,13 @@
|
||||
#
|
||||
# board/renesas/falcon/Makefile
|
||||
#
|
||||
# Copyright (C) 2020 Renesas Electronics Corp.
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
|
||||
ifdef CONFIG_SPL_BUILD
|
||||
obj-y := ../rcar-common/gen3-spl.o
|
||||
else
|
||||
obj-y := falcon.o ../rcar-common/common.o
|
||||
endif
|
||||
101
board/renesas/falcon/falcon.c
Normal file
101
board/renesas/falcon/falcon.c
Normal file
@ -0,0 +1,101 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* board/renesas/falcon/falcon.c
|
||||
* This file is Falcon board support.
|
||||
*
|
||||
* Copyright (C) 2020 Renesas Electronics Corp.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/arch/rmobile.h>
|
||||
#include <asm/arch/sys_proto.h>
|
||||
#include <asm/global_data.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/processor.h>
|
||||
#include <linux/errno.h>
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
#define CPGWPR 0xE6150000
|
||||
#define CPGWPCR 0xE6150004
|
||||
|
||||
#define EXTAL_CLK 16666600u
|
||||
#define CNTCR_BASE 0xE6080000
|
||||
#define CNTFID0 (CNTCR_BASE + 0x020)
|
||||
#define CNTCR_EN BIT(0)
|
||||
|
||||
static void init_generic_timer(void)
|
||||
{
|
||||
u32 freq;
|
||||
|
||||
/* Set frequency data in CNTFID0 */
|
||||
freq = EXTAL_CLK;
|
||||
|
||||
/* Update memory mapped and register based freqency */
|
||||
asm volatile ("msr cntfrq_el0, %0" :: "r" (freq));
|
||||
writel(freq, CNTFID0);
|
||||
|
||||
/* Enable counter */
|
||||
setbits_le32(CNTCR_BASE, CNTCR_EN);
|
||||
}
|
||||
|
||||
/* Distributor Registers */
|
||||
#define GICD_BASE 0xF1000000
|
||||
|
||||
/* ReDistributor Registers for Control and Physical LPIs */
|
||||
#define GICR_LPI_BASE 0xF1060000
|
||||
#define GICR_WAKER 0x0014
|
||||
#define GICR_PWRR 0x0024
|
||||
#define GICR_LPI_WAKER (GICR_LPI_BASE + GICR_WAKER)
|
||||
#define GICR_LPI_PWRR (GICR_LPI_BASE + GICR_PWRR)
|
||||
|
||||
/* ReDistributor Registers for SGIs and PPIs */
|
||||
#define GICR_SGI_BASE 0xF1070000
|
||||
#define GICR_IGROUPR0 0x0080
|
||||
|
||||
static void init_gic_v3(void)
|
||||
{
|
||||
/* GIC v3 power on */
|
||||
writel(0x00000002, (GICR_LPI_PWRR));
|
||||
|
||||
/* Wait till the WAKER_CA_BIT changes to 0 */
|
||||
writel(readl(GICR_LPI_WAKER) & ~0x00000002, (GICR_LPI_WAKER));
|
||||
while (readl(GICR_LPI_WAKER) & 0x00000004)
|
||||
;
|
||||
|
||||
writel(0xffffffff, GICR_SGI_BASE + GICR_IGROUPR0);
|
||||
}
|
||||
|
||||
void s_init(void)
|
||||
{
|
||||
init_generic_timer();
|
||||
}
|
||||
|
||||
int board_early_init_f(void)
|
||||
{
|
||||
/* Unlock CPG access */
|
||||
writel(0x5A5AFFFF, CPGWPR);
|
||||
writel(0xA5A50000, CPGWPCR);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int board_init(void)
|
||||
{
|
||||
/* address of boot parameters */
|
||||
gd->bd->bi_boot_params = CONFIG_SYS_TEXT_BASE + 0x50000;
|
||||
|
||||
init_gic_v3();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define RST_BASE 0xE6160000 /* Domain0 */
|
||||
#define RST_SRESCR0 (RST_BASE + 0x18)
|
||||
#define RST_SPRES 0x5AA58000
|
||||
|
||||
void reset_cpu(void)
|
||||
{
|
||||
writel(RST_SPRES, RST_SRESCR0);
|
||||
}
|
||||
65
configs/r8a779a0_falcon_defconfig
Normal file
65
configs/r8a779a0_falcon_defconfig
Normal file
@ -0,0 +1,65 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_CPU_INIT=y
|
||||
CONFIG_ARCH_RMOBILE=y
|
||||
CONFIG_SYS_TEXT_BASE=0x50000000
|
||||
CONFIG_ENV_SIZE=0x40000
|
||||
CONFIG_ENV_OFFSET=0xC00000
|
||||
CONFIG_ENV_SECT_SIZE=0x40000
|
||||
CONFIG_DM_GPIO=y
|
||||
CONFIG_SPL_TEXT_BASE=0xe6338000
|
||||
CONFIG_RCAR_GEN3=y
|
||||
CONFIG_TARGET_FALCON=y
|
||||
# CONFIG_PSCI_RESET is not set
|
||||
CONFIG_ARMV8_PSCI=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="r8a779a0-falcon-u-boot"
|
||||
CONFIG_FIT=y
|
||||
CONFIG_SUPPORT_RAW_INITRD=y
|
||||
CONFIG_USE_BOOTARGS=y
|
||||
CONFIG_BOOTARGS="root=/dev/nfs rw nfsroot=192.168.0.1:/export/rfs ip=192.168.0.20"
|
||||
CONFIG_DEFAULT_FDT_FILE="r8a779a0-falcon.dtb"
|
||||
CONFIG_HUSH_PARSER=y
|
||||
CONFIG_CMD_BOOTZ=y
|
||||
CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_I2C=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_SPI=y
|
||||
CONFIG_CMD_DHCP=y
|
||||
CONFIG_CMD_MII=y
|
||||
CONFIG_CMD_PING=y
|
||||
CONFIG_CMD_EXT2=y
|
||||
CONFIG_CMD_EXT4=y
|
||||
CONFIG_CMD_EXT4_WRITE=y
|
||||
CONFIG_CMD_FAT=y
|
||||
CONFIG_CMD_FS_GENERIC=y
|
||||
CONFIG_OF_CONTROL=y
|
||||
CONFIG_ENV_IS_IN_SPI_FLASH=y
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_VERSION_VARIABLE=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_SYSCON=y
|
||||
CONFIG_CLK=y
|
||||
CONFIG_CLK_RENESAS=y
|
||||
CONFIG_RCAR_GPIO=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_SYS_I2C_RCAR_IIC=y
|
||||
CONFIG_DM_MMC=y
|
||||
CONFIG_MMC_IO_VOLTAGE=y
|
||||
CONFIG_MMC_UHS_SUPPORT=y
|
||||
CONFIG_MMC_HS200_SUPPORT=y
|
||||
CONFIG_RENESAS_SDHI=y
|
||||
CONFIG_MTD=y
|
||||
CONFIG_DM_SPI_FLASH=y
|
||||
CONFIG_SPI_FLASH_SPANSION=y
|
||||
# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
|
||||
CONFIG_PHY_MICREL=y
|
||||
CONFIG_PHY_MICREL_KSZ90X1=y
|
||||
CONFIG_DM_ETH=y
|
||||
CONFIG_RENESAS_RAVB=y
|
||||
CONFIG_DM_REGULATOR=y
|
||||
CONFIG_DM_REGULATOR_FIXED=y
|
||||
CONFIG_DM_REGULATOR_GPIO=y
|
||||
CONFIG_SCIF_CONSOLE=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_DM_SPI=y
|
||||
CONFIG_RENESAS_RPC_SPI=y
|
||||
CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
@ -114,3 +114,9 @@ config CLK_R8A77995
|
||||
depends on CLK_RCAR_GEN3
|
||||
help
|
||||
Enable this to support the clocks on Renesas R8A77995 SoC.
|
||||
|
||||
config CLK_R8A779A0
|
||||
bool "Renesas R8A779A0 clock driver"
|
||||
depends on CLK_RCAR_GEN3
|
||||
help
|
||||
Enable this to support the clocks on Renesas R8A779A0 SoC.
|
||||
|
||||
@ -17,3 +17,4 @@ obj-$(CONFIG_CLK_R8A77970) += r8a77970-cpg-mssr.o
|
||||
obj-$(CONFIG_CLK_R8A77980) += r8a77980-cpg-mssr.o
|
||||
obj-$(CONFIG_CLK_R8A77990) += r8a77990-cpg-mssr.o
|
||||
obj-$(CONFIG_CLK_R8A77995) += r8a77995-cpg-mssr.o
|
||||
obj-$(CONFIG_CLK_R8A779A0) += r8a779a0-cpg-mssr.o
|
||||
|
||||
@ -253,6 +253,28 @@ static u64 gen3_clk_get_rate64(struct clk *clk)
|
||||
return gen3_clk_get_rate64_pll_mul_reg(priv, &parent, core,
|
||||
CPG_PLL4CR, 0, 0, "PLL4");
|
||||
|
||||
case CLK_TYPE_R8A779A0_MAIN:
|
||||
return gen3_clk_get_rate64_pll_mul_reg(priv, &parent, core,
|
||||
0, 1, pll_config->extal_div,
|
||||
"V3U_MAIN");
|
||||
|
||||
case CLK_TYPE_R8A779A0_PLL1:
|
||||
return gen3_clk_get_rate64_pll_mul_reg(priv, &parent, core,
|
||||
0, pll_config->pll1_mult,
|
||||
pll_config->pll1_div,
|
||||
"V3U_PLL1");
|
||||
|
||||
case CLK_TYPE_R8A779A0_PLL2X_3X:
|
||||
return gen3_clk_get_rate64_pll_mul_reg(priv, &parent, core,
|
||||
core->offset, 0, 0,
|
||||
"V3U_PLL2X_3X");
|
||||
|
||||
case CLK_TYPE_R8A779A0_PLL5:
|
||||
return gen3_clk_get_rate64_pll_mul_reg(priv, &parent, core,
|
||||
0, pll_config->pll5_mult,
|
||||
pll_config->pll5_div,
|
||||
"V3U_PLL5");
|
||||
|
||||
case CLK_TYPE_FF:
|
||||
return gen3_clk_get_rate64_pll_mul_reg(priv, &parent, core,
|
||||
0, core->mult, core->div,
|
||||
@ -268,6 +290,8 @@ static u64 gen3_clk_get_rate64(struct clk *clk)
|
||||
return rate;
|
||||
|
||||
case CLK_TYPE_GEN3_SD: /* FIXME */
|
||||
fallthrough;
|
||||
case CLK_TYPE_R8A779A0_SD:
|
||||
value = readl(priv->base + core->offset);
|
||||
value &= CPG_SD_STP_MASK | CPG_SD_FC_MASK;
|
||||
|
||||
@ -394,6 +418,11 @@ int gen3_clk_probe(struct udevice *dev)
|
||||
priv->info->control_regs = smstpcr;
|
||||
priv->info->reset_regs = srcr;
|
||||
priv->info->reset_clear_regs = srstclr;
|
||||
} else if (info->reg_layout == CLK_REG_LAYOUT_RCAR_V3U) {
|
||||
priv->info->status_regs = mstpsr_for_v3u;
|
||||
priv->info->control_regs = mstpcr_for_v3u;
|
||||
priv->info->reset_regs = srcr_for_v3u;
|
||||
priv->info->reset_clear_regs = srstclr_for_v3u;
|
||||
} else {
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
300
drivers/clk/renesas/r8a779a0-cpg-mssr.c
Normal file
300
drivers/clk/renesas/r8a779a0-cpg-mssr.c
Normal file
@ -0,0 +1,300 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* r8a779a0 Clock Pulse Generator / Module Standby and Software Reset
|
||||
*
|
||||
* Copyright (C) 2020 Renesas Electronics Corp.
|
||||
*
|
||||
* Based on r8a7795-cpg-mssr.c
|
||||
*
|
||||
* Copyright (C) 2015 Glider bvba
|
||||
* Copyright (C) 2015 Renesas Electronics Corp.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <clk-uclass.h>
|
||||
#include <dm.h>
|
||||
|
||||
#include <dt-bindings/clock/r8a779a0-cpg-mssr.h>
|
||||
|
||||
#include "renesas-cpg-mssr.h"
|
||||
#include "rcar-gen3-cpg.h"
|
||||
|
||||
enum clk_ids {
|
||||
/* Core Clock Outputs exported to DT */
|
||||
LAST_DT_CORE_CLK = R8A779A0_CLK_OSC,
|
||||
|
||||
/* External Input Clocks */
|
||||
CLK_EXTAL,
|
||||
CLK_EXTALR,
|
||||
|
||||
/* Internal Core Clocks */
|
||||
CLK_MAIN,
|
||||
CLK_PLL1,
|
||||
CLK_PLL20,
|
||||
CLK_PLL21,
|
||||
CLK_PLL30,
|
||||
CLK_PLL31,
|
||||
CLK_PLL5,
|
||||
CLK_PLL1_DIV2,
|
||||
CLK_PLL20_DIV2,
|
||||
CLK_PLL21_DIV2,
|
||||
CLK_PLL30_DIV2,
|
||||
CLK_PLL31_DIV2,
|
||||
CLK_PLL5_DIV2,
|
||||
CLK_PLL5_DIV4,
|
||||
CLK_S1,
|
||||
CLK_S3,
|
||||
CLK_SDSRC,
|
||||
CLK_RPCSRC,
|
||||
CLK_OCO,
|
||||
|
||||
/* Module Clocks */
|
||||
MOD_CLK_BASE
|
||||
};
|
||||
|
||||
#define DEF_PLL(_name, _id, _offset) \
|
||||
DEF_BASE(_name, _id, CLK_TYPE_R8A779A0_PLL2X_3X, CLK_MAIN, \
|
||||
.offset = _offset)
|
||||
|
||||
#define DEF_SD(_name, _id, _parent, _offset) \
|
||||
DEF_BASE(_name, _id, CLK_TYPE_R8A779A0_SD, _parent, .offset = _offset)
|
||||
|
||||
#define DEF_MDSEL(_name, _id, _md, _parent0, _div0, _parent1, _div1) \
|
||||
DEF_BASE(_name, _id, CLK_TYPE_R8A779A0_MDSEL, \
|
||||
(_parent0) << 16 | (_parent1), \
|
||||
.div = (_div0) << 16 | (_div1), .offset = _md)
|
||||
|
||||
#define DEF_OSC(_name, _id, _parent, _div) \
|
||||
DEF_BASE(_name, _id, CLK_TYPE_R8A779A0_OSC, _parent, .div = _div)
|
||||
|
||||
static const struct cpg_core_clk r8a779a0_core_clks[] = {
|
||||
/* External Clock Inputs */
|
||||
DEF_INPUT("extal", CLK_EXTAL),
|
||||
DEF_INPUT("extalr", CLK_EXTALR),
|
||||
|
||||
/* Internal Core Clocks */
|
||||
DEF_BASE(".main", CLK_MAIN, CLK_TYPE_R8A779A0_MAIN, CLK_EXTAL),
|
||||
DEF_BASE(".pll1", CLK_PLL1, CLK_TYPE_R8A779A0_PLL1, CLK_MAIN),
|
||||
DEF_BASE(".pll5", CLK_PLL5, CLK_TYPE_R8A779A0_PLL5, CLK_MAIN),
|
||||
DEF_PLL(".pll20", CLK_PLL20, 0x0834),
|
||||
DEF_PLL(".pll21", CLK_PLL21, 0x0838),
|
||||
DEF_PLL(".pll30", CLK_PLL30, 0x083c),
|
||||
DEF_PLL(".pll31", CLK_PLL31, 0x0840),
|
||||
|
||||
DEF_FIXED(".pll1_div2", CLK_PLL1_DIV2, CLK_PLL1, 2, 1),
|
||||
DEF_FIXED(".pll20_div2", CLK_PLL20_DIV2, CLK_PLL20, 2, 1),
|
||||
DEF_FIXED(".pll21_div2", CLK_PLL21_DIV2, CLK_PLL21, 2, 1),
|
||||
DEF_FIXED(".pll30_div2", CLK_PLL30_DIV2, CLK_PLL30, 2, 1),
|
||||
DEF_FIXED(".pll31_div2", CLK_PLL31_DIV2, CLK_PLL31, 2, 1),
|
||||
DEF_FIXED(".pll5_div2", CLK_PLL5_DIV2, CLK_PLL5, 2, 1),
|
||||
DEF_FIXED(".pll5_div4", CLK_PLL5_DIV4, CLK_PLL5_DIV2, 2, 1),
|
||||
DEF_FIXED(".s1", CLK_S1, CLK_PLL1_DIV2, 2, 1),
|
||||
DEF_FIXED(".s3", CLK_S3, CLK_PLL1_DIV2, 4, 1),
|
||||
DEF_FIXED(".sdsrc", CLK_SDSRC, CLK_PLL5_DIV4, 1, 1),
|
||||
DEF_RATE(".oco", CLK_OCO, 32768),
|
||||
|
||||
/* Core Clock Outputs */
|
||||
DEF_FIXED("zx", R8A779A0_CLK_ZX, CLK_PLL20_DIV2, 2, 1),
|
||||
DEF_FIXED("s1d1", R8A779A0_CLK_S1D1, CLK_S1, 1, 1),
|
||||
DEF_FIXED("s1d2", R8A779A0_CLK_S1D2, CLK_S1, 2, 1),
|
||||
DEF_FIXED("s1d4", R8A779A0_CLK_S1D4, CLK_S1, 4, 1),
|
||||
DEF_FIXED("s1d8", R8A779A0_CLK_S1D8, CLK_S1, 8, 1),
|
||||
DEF_FIXED("s1d12", R8A779A0_CLK_S1D12, CLK_S1, 12, 1),
|
||||
DEF_FIXED("s3d1", R8A779A0_CLK_S3D1, CLK_S3, 1, 1),
|
||||
DEF_FIXED("s3d2", R8A779A0_CLK_S3D2, CLK_S3, 2, 1),
|
||||
DEF_FIXED("s3d4", R8A779A0_CLK_S3D4, CLK_S3, 4, 1),
|
||||
DEF_FIXED("zs", R8A779A0_CLK_ZS, CLK_PLL1_DIV2, 4, 1),
|
||||
DEF_FIXED("zt", R8A779A0_CLK_ZT, CLK_PLL1_DIV2, 2, 1),
|
||||
DEF_FIXED("ztr", R8A779A0_CLK_ZTR, CLK_PLL1_DIV2, 2, 1),
|
||||
DEF_FIXED("zr", R8A779A0_CLK_ZR, CLK_PLL1_DIV2, 1, 1),
|
||||
DEF_FIXED("dsi", R8A779A0_CLK_DSI, CLK_PLL5_DIV4, 1, 1),
|
||||
DEF_FIXED("cnndsp", R8A779A0_CLK_CNNDSP, CLK_PLL5_DIV4, 1, 1),
|
||||
DEF_FIXED("vip", R8A779A0_CLK_VIP, CLK_PLL5, 5, 1),
|
||||
DEF_FIXED("adgh", R8A779A0_CLK_ADGH, CLK_PLL5_DIV4, 1, 1),
|
||||
DEF_FIXED("icu", R8A779A0_CLK_ICU, CLK_PLL5_DIV4, 2, 1),
|
||||
DEF_FIXED("icud2", R8A779A0_CLK_ICUD2, CLK_PLL5_DIV4, 4, 1),
|
||||
DEF_FIXED("vcbus", R8A779A0_CLK_VCBUS, CLK_PLL5_DIV4, 1, 1),
|
||||
DEF_FIXED("cbfusa", R8A779A0_CLK_CBFUSA, CLK_EXTAL, 2, 1),
|
||||
DEF_FIXED("cp", R8A779A0_CLK_CP, CLK_EXTAL, 2, 1),
|
||||
|
||||
DEF_SD("sd0", R8A779A0_CLK_SD0, CLK_SDSRC, 0x870),
|
||||
|
||||
DEF_DIV6P1("mso", R8A779A0_CLK_MSO, CLK_PLL5_DIV4, 0x87c),
|
||||
DEF_DIV6P1("canfd", R8A779A0_CLK_CANFD, CLK_PLL5_DIV4, 0x878),
|
||||
DEF_DIV6P1("csi0", R8A779A0_CLK_CSI0, CLK_PLL5_DIV4, 0x880),
|
||||
|
||||
DEF_OSC("osc", R8A779A0_CLK_OSC, CLK_EXTAL, 8),
|
||||
DEF_MDSEL("r", R8A779A0_CLK_R, 29, CLK_EXTALR, 1, CLK_OCO, 1),
|
||||
};
|
||||
|
||||
static const struct mssr_mod_clk r8a779a0_mod_clks[] = {
|
||||
DEF_MOD("avb0", 211, R8A779A0_CLK_S3D2),
|
||||
DEF_MOD("avb1", 212, R8A779A0_CLK_S3D2),
|
||||
DEF_MOD("avb2", 213, R8A779A0_CLK_S3D2),
|
||||
DEF_MOD("avb3", 214, R8A779A0_CLK_S3D2),
|
||||
DEF_MOD("avb4", 215, R8A779A0_CLK_S3D2),
|
||||
DEF_MOD("avb5", 216, R8A779A0_CLK_S3D2),
|
||||
DEF_MOD("csi40", 331, R8A779A0_CLK_CSI0),
|
||||
DEF_MOD("csi41", 400, R8A779A0_CLK_CSI0),
|
||||
DEF_MOD("csi42", 401, R8A779A0_CLK_CSI0),
|
||||
DEF_MOD("csi43", 402, R8A779A0_CLK_CSI0),
|
||||
DEF_MOD("fcpvd0", 508, R8A779A0_CLK_S3D1),
|
||||
DEF_MOD("fcpvd1", 509, R8A779A0_CLK_S3D1),
|
||||
DEF_MOD("hscif0", 514, R8A779A0_CLK_S1D2),
|
||||
DEF_MOD("hscif1", 515, R8A779A0_CLK_S1D2),
|
||||
DEF_MOD("hscif2", 516, R8A779A0_CLK_S1D2),
|
||||
DEF_MOD("hscif3", 517, R8A779A0_CLK_S1D2),
|
||||
DEF_MOD("i2c0", 518, R8A779A0_CLK_S1D4),
|
||||
DEF_MOD("i2c1", 519, R8A779A0_CLK_S1D4),
|
||||
DEF_MOD("i2c2", 520, R8A779A0_CLK_S1D4),
|
||||
DEF_MOD("i2c3", 521, R8A779A0_CLK_S1D4),
|
||||
DEF_MOD("i2c4", 522, R8A779A0_CLK_S1D4),
|
||||
DEF_MOD("i2c5", 523, R8A779A0_CLK_S1D4),
|
||||
DEF_MOD("i2c6", 524, R8A779A0_CLK_S1D4),
|
||||
DEF_MOD("msi0", 618, R8A779A0_CLK_MSO),
|
||||
DEF_MOD("msi1", 619, R8A779A0_CLK_MSO),
|
||||
DEF_MOD("msi2", 620, R8A779A0_CLK_MSO),
|
||||
DEF_MOD("msi3", 621, R8A779A0_CLK_MSO),
|
||||
DEF_MOD("msi4", 622, R8A779A0_CLK_MSO),
|
||||
DEF_MOD("msi5", 623, R8A779A0_CLK_MSO),
|
||||
DEF_MOD("scif0", 702, R8A779A0_CLK_S1D8),
|
||||
DEF_MOD("scif1", 703, R8A779A0_CLK_S1D8),
|
||||
DEF_MOD("scif3", 704, R8A779A0_CLK_S1D8),
|
||||
DEF_MOD("scif4", 705, R8A779A0_CLK_S1D8),
|
||||
DEF_MOD("sdhi0", 706, R8A779A0_CLK_SD0),
|
||||
DEF_MOD("sydm1", 709, R8A779A0_CLK_S1D2),
|
||||
DEF_MOD("sydm2", 710, R8A779A0_CLK_S1D2),
|
||||
DEF_MOD("vin00", 730, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin01", 731, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin02", 800, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin03", 801, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin04", 802, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin05", 803, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin06", 804, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin07", 805, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin10", 806, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin11", 807, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin12", 808, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin13", 809, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin14", 810, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin15", 811, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin16", 812, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin17", 813, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin20", 814, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin21", 815, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin22", 816, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin23", 817, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin24", 818, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin25", 819, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin26", 820, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin27", 821, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin30", 822, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin31", 823, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin32", 824, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin33", 825, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin34", 826, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin35", 827, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin36", 828, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vin37", 829, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vspd0", 830, R8A779A0_CLK_S3D1),
|
||||
DEF_MOD("vspd1", 831, R8A779A0_CLK_S3D1),
|
||||
DEF_MOD("rwdt", 907, R8A779A0_CLK_R),
|
||||
DEF_MOD("pfc0", 915, R8A779A0_CLK_CP),
|
||||
DEF_MOD("pfc1", 916, R8A779A0_CLK_CP),
|
||||
DEF_MOD("pfc2", 917, R8A779A0_CLK_CP),
|
||||
DEF_MOD("pfc3", 918, R8A779A0_CLK_CP),
|
||||
DEF_MOD("vspx0", 1028, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vspx1", 1029, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vspx2", 1030, R8A779A0_CLK_S1D1),
|
||||
DEF_MOD("vspx3", 1031, R8A779A0_CLK_S1D1),
|
||||
};
|
||||
|
||||
/*
|
||||
* CPG Clock Data
|
||||
*/
|
||||
|
||||
/*
|
||||
* MD EXTAL PLL1 PLL20 PLL30 PLL4 PLL5 OSC
|
||||
* 14 13 (MHz) 21 31
|
||||
* --------------------------------------------------------
|
||||
* 0 0 16.66 x 1 x128 x216 x128 x144 x192 /16
|
||||
* 0 1 20 x 1 x106 x180 x106 x120 x160 /19
|
||||
* 1 0 Prohibited setting
|
||||
* 1 1 33.33 / 2 x128 x216 x128 x144 x192 /32
|
||||
*/
|
||||
#define CPG_PLL_CONFIG_INDEX(md) ((((md) & BIT(14)) >> 13) | \
|
||||
(((md) & BIT(13)) >> 13))
|
||||
|
||||
static const struct rcar_gen3_cpg_pll_config cpg_pll_configs[4] = {
|
||||
/* EXTAL div PLL1 mult/div Not used OSC prediv PLL5 mult/div */
|
||||
{ 1, 128, 1, 128, 1, 16, 192, 1, },
|
||||
{ 1, 106, 1, 106, 1, 19, 160, 1, },
|
||||
{ 0, 0, 0, 0, 0, 0, 0, 0, },
|
||||
{ 2, 128, 1, 128, 1, 32, 192, 1, },
|
||||
};
|
||||
|
||||
/*
|
||||
* Note that the only clock left running before booting Linux are now
|
||||
* MFIS, INTC-AP, INTC-EX and SCIF0 on V3U
|
||||
*/
|
||||
#define MSTPCR7_SCIF0 BIT(2)
|
||||
#define MSTPCR6_MFIS BIT(17)
|
||||
#define MSTPCR6_INTC BIT(11) /* No information: INTC-AP, INTC-EX */
|
||||
|
||||
static const struct mstp_stop_table r8a779a0_mstp_table[] = {
|
||||
{ 0x003f7ffe, 0x0, 0x0, 0x0 },
|
||||
{ 0x00cb0000, 0x0, 0x0, 0x0 },
|
||||
{ 0x0001f800, 0x0, 0x0, 0x0 },
|
||||
{ 0x90000000, 0x0, 0x0, 0x0 },
|
||||
{ 0x0001c807, 0x0, 0x0, 0x0 },
|
||||
{ 0x7e03c380, 0x0, 0x0, 0x0 },
|
||||
{ 0x1f01f001, MSTPCR6_MFIS, 0x0, 0x0 },
|
||||
{ 0xffffe040, MSTPCR7_SCIF0, 0x0, 0x0 },
|
||||
{ 0xffffffff, 0x0, 0x0, 0x0 },
|
||||
{ 0x00003c78, 0x0, 0x0, 0x0 },
|
||||
{ 0xf0000000, 0x0, 0x0, 0x0 },
|
||||
{ 0x0000000f, 0x0, 0x0, 0x0 },
|
||||
{ 0xbe800000, 0x0, 0x0, 0x0 },
|
||||
{ 0x00000037, 0x0, 0x0, 0x0 },
|
||||
{ 0x00000000, 0x0, 0x0, 0x0 },
|
||||
};
|
||||
|
||||
static const void *r8a779a0_get_pll_config(const u32 cpg_mode)
|
||||
{
|
||||
return &cpg_pll_configs[CPG_PLL_CONFIG_INDEX(cpg_mode)];
|
||||
}
|
||||
|
||||
static const struct cpg_mssr_info r8a779a0_cpg_mssr_info = {
|
||||
.core_clk = r8a779a0_core_clks,
|
||||
.core_clk_size = ARRAY_SIZE(r8a779a0_core_clks),
|
||||
.mod_clk = r8a779a0_mod_clks,
|
||||
.mod_clk_size = ARRAY_SIZE(r8a779a0_mod_clks),
|
||||
.mstp_table = r8a779a0_mstp_table,
|
||||
.mstp_table_size = ARRAY_SIZE(r8a779a0_mstp_table),
|
||||
.reset_node = "renesas,r8a779a0-rst",
|
||||
.reset_modemr_offset = 0x00,
|
||||
.extalr_node = "extalr",
|
||||
.mod_clk_base = MOD_CLK_BASE,
|
||||
.clk_extal_id = CLK_EXTAL,
|
||||
.clk_extalr_id = CLK_EXTALR,
|
||||
.get_pll_config = r8a779a0_get_pll_config,
|
||||
.reg_layout = CLK_REG_LAYOUT_RCAR_V3U,
|
||||
};
|
||||
|
||||
static const struct udevice_id r8a779a0_clk_ids[] = {
|
||||
{
|
||||
.compatible = "renesas,r8a779a0-cpg-mssr",
|
||||
.data = (ulong)&r8a779a0_cpg_mssr_info
|
||||
},
|
||||
{ }
|
||||
};
|
||||
|
||||
U_BOOT_DRIVER(clk_r8a779a0) = {
|
||||
.name = "clk_r8a779a0",
|
||||
.id = UCLASS_CLK,
|
||||
.of_match = r8a779a0_clk_ids,
|
||||
.priv_auto = sizeof(struct gen3_clk_priv),
|
||||
.ops = &gen3_clk_ops,
|
||||
.probe = gen3_clk_probe,
|
||||
.remove = gen3_clk_remove,
|
||||
};
|
||||
@ -28,6 +28,14 @@ enum rcar_gen3_clk_types {
|
||||
CLK_TYPE_GEN3_RPC,
|
||||
CLK_TYPE_GEN3_RPCD2,
|
||||
|
||||
CLK_TYPE_R8A779A0_MAIN,
|
||||
CLK_TYPE_R8A779A0_PLL1,
|
||||
CLK_TYPE_R8A779A0_PLL2X_3X, /* PLL[23][01] */
|
||||
CLK_TYPE_R8A779A0_PLL5,
|
||||
CLK_TYPE_R8A779A0_SD,
|
||||
CLK_TYPE_R8A779A0_MDSEL, /* Select parent/divider using mode pin */
|
||||
CLK_TYPE_R8A779A0_OSC, /* OSC EXTAL predivider and fixed divider */
|
||||
|
||||
/* SoC specific definitions start here */
|
||||
CLK_TYPE_GEN3_SOC_BASE,
|
||||
};
|
||||
@ -69,6 +77,8 @@ struct rcar_gen3_cpg_pll_config {
|
||||
u8 pll3_mult;
|
||||
u8 pll3_div;
|
||||
u8 osc_prediv;
|
||||
u8 pll5_mult;
|
||||
u8 pll5_div;
|
||||
};
|
||||
|
||||
#define CPG_RST_MODEMR 0x060
|
||||
|
||||
@ -127,6 +127,10 @@ int renesas_clk_remove(void __iomem *base, struct cpg_mssr_info *info)
|
||||
clrsetbits_le32(base + info->control_regs[i],
|
||||
info->mstp_table[i].sdis,
|
||||
info->mstp_table[i].sen);
|
||||
|
||||
if (info->reg_layout == CLK_REG_LAYOUT_RCAR_V3U)
|
||||
continue;
|
||||
|
||||
clrsetbits_le32(base + RMSTPCR(i),
|
||||
info->mstp_table[i].rdis,
|
||||
info->mstp_table[i].ren);
|
||||
|
||||
@ -17,6 +17,7 @@
|
||||
|
||||
enum clk_reg_layout {
|
||||
CLK_REG_LAYOUT_RCAR_GEN2_AND_GEN3 = 0,
|
||||
CLK_REG_LAYOUT_RCAR_V3U,
|
||||
};
|
||||
|
||||
struct cpg_mssr_info {
|
||||
@ -146,6 +147,11 @@ static const u16 mstpsr[] = {
|
||||
0x9A0, 0x9A4, 0x9A8, 0x9AC,
|
||||
};
|
||||
|
||||
static const u16 mstpsr_for_v3u[] = {
|
||||
0x2E00, 0x2E04, 0x2E08, 0x2E0C, 0x2E10, 0x2E14, 0x2E18, 0x2E1C,
|
||||
0x2E20, 0x2E24, 0x2E28, 0x2E2C, 0x2E30, 0x2E34, 0x2E38,
|
||||
};
|
||||
|
||||
/*
|
||||
* System Module Stop Control Register offsets
|
||||
*/
|
||||
@ -155,6 +161,11 @@ static const u16 smstpcr[] = {
|
||||
0x990, 0x994, 0x998, 0x99C,
|
||||
};
|
||||
|
||||
static const u16 mstpcr_for_v3u[] = {
|
||||
0x2D00, 0x2D04, 0x2D08, 0x2D0C, 0x2D10, 0x2D14, 0x2D18, 0x2D1C,
|
||||
0x2D20, 0x2D24, 0x2D28, 0x2D2C, 0x2D30, 0x2D34, 0x2D38,
|
||||
};
|
||||
|
||||
/*
|
||||
* Software Reset Register offsets
|
||||
*/
|
||||
@ -164,6 +175,11 @@ static const u16 srcr[] = {
|
||||
0x920, 0x924, 0x928, 0x92C,
|
||||
};
|
||||
|
||||
static const u16 srcr_for_v3u[] = {
|
||||
0x2C00, 0x2C04, 0x2C08, 0x2C0C, 0x2C10, 0x2C14, 0x2C18, 0x2C1C,
|
||||
0x2C20, 0x2C24, 0x2C28, 0x2C2C, 0x2C30, 0x2C34, 0x2C38,
|
||||
};
|
||||
|
||||
/* Realtime Module Stop Control Register offsets */
|
||||
#define RMSTPCR(i) ((i) < 8 ? smstpcr[i] - 0x20 : smstpcr[i] - 0x10)
|
||||
|
||||
@ -177,4 +193,9 @@ static const u16 srstclr[] = {
|
||||
0x960, 0x964, 0x968, 0x96C,
|
||||
};
|
||||
|
||||
static const u16 srstclr_for_v3u[] = {
|
||||
0x2C80, 0x2C84, 0x2C88, 0x2C8C, 0x2C90, 0x2C94, 0x2C98, 0x2C9C,
|
||||
0x2CA0, 0x2CA4, 0x2CA8, 0x2CAC, 0x2CB0, 0x2CB4, 0x2CB8,
|
||||
};
|
||||
|
||||
#endif /* __DRIVERS_CLK_RENESAS_CPG_MSSR__ */
|
||||
|
||||
@ -28,13 +28,17 @@
|
||||
#define GPIO_EDGLEVEL 0x24 /* Edge/level Select Register */
|
||||
#define GPIO_FILONOFF 0x28 /* Chattering Prevention On/Off Register */
|
||||
#define GPIO_BOTHEDGE 0x4c /* One Edge/Both Edge Select Register */
|
||||
#define GPIO_INEN 0x50 /* General Input Enable Register */
|
||||
|
||||
#define RCAR_MAX_GPIO_PER_BANK 32
|
||||
|
||||
#define RCAR_GPIO_HAS_INEN BIT(0)
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
struct rcar_gpio_priv {
|
||||
void __iomem *regs;
|
||||
u32 quirks;
|
||||
int pfc_offset;
|
||||
};
|
||||
|
||||
@ -81,6 +85,14 @@ static void rcar_gpio_set_direction(struct udevice *dev, unsigned offset,
|
||||
/* Configure postive logic in POSNEG */
|
||||
clrbits_le32(regs + GPIO_POSNEG, BIT(offset));
|
||||
|
||||
/* Select "Input Enable/Disable" in INEN */
|
||||
if (priv->quirks & RCAR_GPIO_HAS_INEN) {
|
||||
if (output)
|
||||
clrbits_le32(regs + GPIO_INEN, BIT(offset));
|
||||
else
|
||||
setbits_le32(regs + GPIO_INEN, BIT(offset));
|
||||
}
|
||||
|
||||
/* Select "General Input/Output Mode" in IOINTSEL */
|
||||
clrbits_le32(regs + GPIO_IOINTSEL, BIT(offset));
|
||||
|
||||
@ -149,6 +161,7 @@ static int rcar_gpio_probe(struct udevice *dev)
|
||||
int ret;
|
||||
|
||||
priv->regs = dev_read_addr_ptr(dev);
|
||||
priv->quirks = dev_get_driver_data(dev);
|
||||
uc_priv->bank_name = dev->name;
|
||||
|
||||
ret = fdtdec_parse_phandle_with_args(gd->fdt_blob, node, "gpio-ranges",
|
||||
@ -179,6 +192,7 @@ static const struct udevice_id rcar_gpio_ids[] = {
|
||||
{ .compatible = "renesas,gpio-r8a77970" },
|
||||
{ .compatible = "renesas,gpio-r8a77990" },
|
||||
{ .compatible = "renesas,gpio-r8a77995" },
|
||||
{ .compatible = "renesas,gpio-r8a779a0", .data = RCAR_GPIO_HAS_INEN },
|
||||
{ .compatible = "renesas,rcar-gen2-gpio" },
|
||||
{ .compatible = "renesas,rcar-gen3-gpio" },
|
||||
{ /* sentinel */ }
|
||||
|
||||
@ -107,6 +107,12 @@ config PINCTRL_PFC_R8A77995
|
||||
help
|
||||
Support pin multiplexing control on Renesas RCar Gen3 R8A77995 SoCs.
|
||||
|
||||
config PINCTRL_PFC_R8A779A0
|
||||
bool "Renesas RCar Gen3 R8A779A0 pin control driver"
|
||||
depends on PINCTRL_PFC
|
||||
help
|
||||
Support pin multiplexing control on Renesas RCar Gen3 R8A779A0 SoCs.
|
||||
|
||||
config PINCTRL_PFC_R7S72100
|
||||
bool "Renesas RZ/A1 R7S72100 pin control driver"
|
||||
depends on CPU_RZA1
|
||||
|
||||
@ -15,4 +15,5 @@ obj-$(CONFIG_PINCTRL_PFC_R8A77970) += pfc-r8a77970.o
|
||||
obj-$(CONFIG_PINCTRL_PFC_R8A77980) += pfc-r8a77980.o
|
||||
obj-$(CONFIG_PINCTRL_PFC_R8A77990) += pfc-r8a77990.o
|
||||
obj-$(CONFIG_PINCTRL_PFC_R8A77995) += pfc-r8a77995.o
|
||||
obj-$(CONFIG_PINCTRL_PFC_R8A779A0) += pfc-r8a779a0.o
|
||||
obj-$(CONFIG_PINCTRL_PFC_R7S72100) += pfc-r7s72100.o
|
||||
|
||||
4503
drivers/pinctrl/renesas/pfc-r8a779a0.c
Normal file
4503
drivers/pinctrl/renesas/pfc-r8a779a0.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -41,6 +41,7 @@ enum sh_pfc_model {
|
||||
SH_PFC_R8A77980,
|
||||
SH_PFC_R8A77990,
|
||||
SH_PFC_R8A77995,
|
||||
SH_PFC_R8A779A0,
|
||||
};
|
||||
|
||||
struct sh_pfc_pin_config {
|
||||
@ -955,6 +956,10 @@ static int sh_pfc_pinctrl_probe(struct udevice *dev)
|
||||
if (model == SH_PFC_R8A77995)
|
||||
priv->pfc.info = &r8a77995_pinmux_info;
|
||||
#endif
|
||||
#ifdef CONFIG_PINCTRL_PFC_R8A779A0
|
||||
if (model == SH_PFC_R8A779A0)
|
||||
priv->pfc.info = &r8a779a0_pinmux_info;
|
||||
#endif
|
||||
|
||||
priv->pmx.pfc = &priv->pfc;
|
||||
sh_pfc_init_ranges(&priv->pfc);
|
||||
@ -1060,6 +1065,13 @@ static const struct udevice_id sh_pfc_pinctrl_ids[] = {
|
||||
.data = SH_PFC_R8A77995,
|
||||
},
|
||||
#endif
|
||||
#ifdef CONFIG_PINCTRL_PFC_R8A779A0
|
||||
{
|
||||
.compatible = "renesas,pfc-r8a779a0",
|
||||
.data = SH_PFC_R8A779A0,
|
||||
},
|
||||
#endif
|
||||
|
||||
{ },
|
||||
};
|
||||
|
||||
|
||||
@ -319,6 +319,7 @@ extern const struct sh_pfc_soc_info r8a77970_pinmux_info;
|
||||
extern const struct sh_pfc_soc_info r8a77980_pinmux_info;
|
||||
extern const struct sh_pfc_soc_info r8a77990_pinmux_info;
|
||||
extern const struct sh_pfc_soc_info r8a77995_pinmux_info;
|
||||
extern const struct sh_pfc_soc_info r8a779a0_pinmux_info;
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Helper macros to create pin and port lists
|
||||
|
||||
36
include/configs/falcon.h
Normal file
36
include/configs/falcon.h
Normal file
@ -0,0 +1,36 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
/*
|
||||
* include/configs/falcon.h
|
||||
* This file is Falcon board configuration.
|
||||
*
|
||||
* Copyright (C) 2020 Renesas Electronics Corp.
|
||||
*/
|
||||
|
||||
#ifndef __FALCON_H
|
||||
#define __FALCON_H
|
||||
|
||||
#include "rcar-gen3-common.h"
|
||||
|
||||
/* Generic Interrupt Controller Definitions */
|
||||
#ifdef CONFIG_GICV2
|
||||
#undef CONFIG_GICV2
|
||||
#undef GICD_BASE
|
||||
#undef GICC_BASE
|
||||
#undef GICR_BASE
|
||||
#endif
|
||||
#define CONFIG_GICV3
|
||||
#define GICD_BASE 0xF1000000
|
||||
#define GICR_BASE 0xF1060000
|
||||
|
||||
/* Ethernet RAVB */
|
||||
#define CONFIG_BITBANGMII
|
||||
#define CONFIG_BITBANGMII_MULTI
|
||||
|
||||
/* Board Clock */
|
||||
/* XTAL_CLK : 16.66MHz */
|
||||
#define CONFIG_SYS_CLK_FREQ 16666666u
|
||||
|
||||
/* Generic Timer Definitions (use in assembler source) */
|
||||
#define COUNTER_FREQUENCY 0xFE502A /* 16.66MHz from CPclk */
|
||||
|
||||
#endif /* __FALCON_H */
|
||||
55
include/dt-bindings/clock/r8a779a0-cpg-mssr.h
Normal file
55
include/dt-bindings/clock/r8a779a0-cpg-mssr.h
Normal file
@ -0,0 +1,55 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* Copyright (C) 2020 Renesas Electronics Corp.
|
||||
*/
|
||||
#ifndef __DT_BINDINGS_CLOCK_R8A779A0_CPG_MSSR_H__
|
||||
#define __DT_BINDINGS_CLOCK_R8A779A0_CPG_MSSR_H__
|
||||
|
||||
#include <dt-bindings/clock/renesas-cpg-mssr.h>
|
||||
|
||||
/* r8a779A0 CPG Core Clocks */
|
||||
#define R8A779A0_CLK_Z0 0
|
||||
#define R8A779A0_CLK_ZX 1
|
||||
#define R8A779A0_CLK_Z1 2
|
||||
#define R8A779A0_CLK_ZR 3
|
||||
#define R8A779A0_CLK_ZS 4
|
||||
#define R8A779A0_CLK_ZT 5
|
||||
#define R8A779A0_CLK_ZTR 6
|
||||
#define R8A779A0_CLK_S1D1 7
|
||||
#define R8A779A0_CLK_S1D2 8
|
||||
#define R8A779A0_CLK_S1D4 9
|
||||
#define R8A779A0_CLK_S1D8 10
|
||||
#define R8A779A0_CLK_S1D12 11
|
||||
#define R8A779A0_CLK_S3D1 12
|
||||
#define R8A779A0_CLK_S3D2 13
|
||||
#define R8A779A0_CLK_S3D4 14
|
||||
#define R8A779A0_CLK_LB 15
|
||||
#define R8A779A0_CLK_CP 16
|
||||
#define R8A779A0_CLK_CL 17
|
||||
#define R8A779A0_CLK_CL16MCK 18
|
||||
#define R8A779A0_CLK_ZB30 19
|
||||
#define R8A779A0_CLK_ZB30D2 20
|
||||
#define R8A779A0_CLK_ZB30D4 21
|
||||
#define R8A779A0_CLK_ZB31 22
|
||||
#define R8A779A0_CLK_ZB31D2 23
|
||||
#define R8A779A0_CLK_ZB31D4 24
|
||||
#define R8A779A0_CLK_SD0H 25
|
||||
#define R8A779A0_CLK_SD0 26
|
||||
#define R8A779A0_CLK_RPC 27
|
||||
#define R8A779A0_CLK_RPCD2 28
|
||||
#define R8A779A0_CLK_MSO 29
|
||||
#define R8A779A0_CLK_CANFD 30
|
||||
#define R8A779A0_CLK_CSI0 31
|
||||
#define R8A779A0_CLK_FRAY 32
|
||||
#define R8A779A0_CLK_DSI 33
|
||||
#define R8A779A0_CLK_VIP 34
|
||||
#define R8A779A0_CLK_ADGH 35
|
||||
#define R8A779A0_CLK_CNNDSP 36
|
||||
#define R8A779A0_CLK_ICU 37
|
||||
#define R8A779A0_CLK_ICUD2 38
|
||||
#define R8A779A0_CLK_VCBUS 39
|
||||
#define R8A779A0_CLK_CBFUSA 40
|
||||
#define R8A779A0_CLK_R 41
|
||||
#define R8A779A0_CLK_OSC 42
|
||||
|
||||
#endif /* __DT_BINDINGS_CLOCK_R8A779A0_CPG_MSSR_H__ */
|
||||
59
include/dt-bindings/power/r8a779a0-sysc.h
Normal file
59
include/dt-bindings/power/r8a779a0-sysc.h
Normal file
@ -0,0 +1,59 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* Copyright (C) 2020 Renesas Electronics Corp.
|
||||
*/
|
||||
#ifndef __DT_BINDINGS_POWER_R8A779A0_SYSC_H__
|
||||
#define __DT_BINDINGS_POWER_R8A779A0_SYSC_H__
|
||||
|
||||
/*
|
||||
* These power domain indices match the Power Domain Register Numbers (PDR)
|
||||
*/
|
||||
|
||||
#define R8A779A0_PD_A1E0D0C0 0
|
||||
#define R8A779A0_PD_A1E0D0C1 1
|
||||
#define R8A779A0_PD_A1E0D1C0 2
|
||||
#define R8A779A0_PD_A1E0D1C1 3
|
||||
#define R8A779A0_PD_A1E1D0C0 4
|
||||
#define R8A779A0_PD_A1E1D0C1 5
|
||||
#define R8A779A0_PD_A1E1D1C0 6
|
||||
#define R8A779A0_PD_A1E1D1C1 7
|
||||
#define R8A779A0_PD_A2E0D0 16
|
||||
#define R8A779A0_PD_A2E0D1 17
|
||||
#define R8A779A0_PD_A2E1D0 18
|
||||
#define R8A779A0_PD_A2E1D1 19
|
||||
#define R8A779A0_PD_A3E0 20
|
||||
#define R8A779A0_PD_A3E1 21
|
||||
#define R8A779A0_PD_3DG_A 24
|
||||
#define R8A779A0_PD_3DG_B 25
|
||||
#define R8A779A0_PD_A1CNN2 32
|
||||
#define R8A779A0_PD_A1DSP0 33
|
||||
#define R8A779A0_PD_A2IMP01 34
|
||||
#define R8A779A0_PD_A2DP0 35
|
||||
#define R8A779A0_PD_A2CV0 36
|
||||
#define R8A779A0_PD_A2CV1 37
|
||||
#define R8A779A0_PD_A2CV4 38
|
||||
#define R8A779A0_PD_A2CV6 39
|
||||
#define R8A779A0_PD_A2CN2 40
|
||||
#define R8A779A0_PD_A1CNN0 41
|
||||
#define R8A779A0_PD_A2CN0 42
|
||||
#define R8A779A0_PD_A3IR 43
|
||||
#define R8A779A0_PD_A1CNN1 44
|
||||
#define R8A779A0_PD_A1DSP1 45
|
||||
#define R8A779A0_PD_A2IMP23 46
|
||||
#define R8A779A0_PD_A2DP1 47
|
||||
#define R8A779A0_PD_A2CV2 48
|
||||
#define R8A779A0_PD_A2CV3 49
|
||||
#define R8A779A0_PD_A2CV5 50
|
||||
#define R8A779A0_PD_A2CV7 51
|
||||
#define R8A779A0_PD_A2CN1 52
|
||||
#define R8A779A0_PD_A3VIP0 56
|
||||
#define R8A779A0_PD_A3VIP1 57
|
||||
#define R8A779A0_PD_A3VIP2 58
|
||||
#define R8A779A0_PD_A3VIP3 59
|
||||
#define R8A779A0_PD_A3ISP01 60
|
||||
#define R8A779A0_PD_A3ISP23 61
|
||||
|
||||
/* Always-on power area */
|
||||
#define R8A779A0_PD_ALWAYS_ON 64
|
||||
|
||||
#endif /* __DT_BINDINGS_POWER_R8A779A0_SYSC_H__ */
|
||||
Loading…
x
Reference in New Issue
Block a user