mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-14 18:36:42 +07:00
9fe2420d06
Add GPIO controllers for RDA8810PL SoC. There are 4 GPIO controllers in this SoC with maximum of 32 gpios. Except GPIOC, all controllers are capable of generating edge/level interrupts from first 8 lines. Link: https://lore.kernel.org/r/20191030101154.6312-2-manivannan.sadhasivam@linaro.org Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Olof Johansson <olof@lixom.net>
148 lines
2.9 KiB
Plaintext
148 lines
2.9 KiB
Plaintext
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
/*
|
|
* RDA8810PL SoC
|
|
*
|
|
* Copyright (c) 2017 Andreas Färber
|
|
* Copyright (c) 2018 Manivannan Sadhasivam
|
|
*/
|
|
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
|
|
/ {
|
|
compatible = "rda,8810pl";
|
|
interrupt-parent = <&intc>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
cpus {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
cpu@0 {
|
|
device_type = "cpu";
|
|
compatible = "arm,cortex-a5";
|
|
reg = <0x0>;
|
|
};
|
|
};
|
|
|
|
sram@100000 {
|
|
compatible = "mmio-sram";
|
|
reg = <0x100000 0x10000>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges;
|
|
};
|
|
|
|
modem@10000000 {
|
|
compatible = "simple-bus";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges = <0x0 0x10000000 0xfffffff>;
|
|
|
|
gpioc@1a08000 {
|
|
compatible = "rda,8810pl-gpio";
|
|
reg = <0x1a08000 0x1000>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
ngpios = <32>;
|
|
};
|
|
};
|
|
|
|
apb@20800000 {
|
|
compatible = "simple-bus";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges = <0x0 0x20800000 0x100000>;
|
|
|
|
intc: interrupt-controller@0 {
|
|
compatible = "rda,8810pl-intc";
|
|
reg = <0x0 0x1000>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
};
|
|
|
|
apb@20900000 {
|
|
compatible = "simple-bus";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges = <0x0 0x20900000 0x100000>;
|
|
|
|
timer@10000 {
|
|
compatible = "rda,8810pl-timer";
|
|
reg = <0x10000 0x1000>;
|
|
interrupts = <16 IRQ_TYPE_LEVEL_HIGH>,
|
|
<17 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-names = "hwtimer", "ostimer";
|
|
};
|
|
|
|
gpioa@30000 {
|
|
compatible = "rda,8810pl-gpio";
|
|
reg = <0x30000 0x1000>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
ngpios = <32>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
interrupts = <12 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
gpiob@31000 {
|
|
compatible = "rda,8810pl-gpio";
|
|
reg = <0x31000 0x1000>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
ngpios = <32>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
interrupts = <13 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
gpiod@32000 {
|
|
compatible = "rda,8810pl-gpio";
|
|
reg = <0x32000 0x1000>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
ngpios = <32>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
interrupts = <14 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
};
|
|
|
|
apb@20a00000 {
|
|
compatible = "simple-bus";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges = <0x0 0x20a00000 0x100000>;
|
|
|
|
uart1: serial@0 {
|
|
compatible = "rda,8810pl-uart";
|
|
reg = <0x0 0x1000>;
|
|
interrupts = <9 IRQ_TYPE_LEVEL_HIGH>;
|
|
status = "disabled";
|
|
};
|
|
|
|
uart2: serial@10000 {
|
|
compatible = "rda,8810pl-uart";
|
|
reg = <0x10000 0x1000>;
|
|
interrupts = <10 IRQ_TYPE_LEVEL_HIGH>;
|
|
status = "disabled";
|
|
};
|
|
|
|
uart3: serial@90000 {
|
|
compatible = "rda,8810pl-uart";
|
|
reg = <0x90000 0x1000>;
|
|
interrupts = <11 IRQ_TYPE_LEVEL_HIGH>;
|
|
status = "disabled";
|
|
};
|
|
};
|
|
|
|
l2: cache-controller@21100000 {
|
|
compatible = "arm,pl310-cache";
|
|
reg = <0x21100000 0x1000>;
|
|
cache-unified;
|
|
cache-level = <2>;
|
|
};
|
|
};
|