arm64: dts: rockchip: rk3568-amp: add configs for amp irqs

Signed-off-by: Zain Wang <wzz@rock-chips.com>
Change-Id: I9509b9dbaffc081aefe53e4ca1bf97cff7a339c0
This commit is contained in:
Zain Wang
2024-02-07 14:47:18 +08:00
committed by Tao Huang
parent 3402a5b434
commit 8679c3ff3c

View File

@@ -3,6 +3,22 @@
* Copyright (c) 2023 Rockchip Electronics Co., Ltd.
*/
#include <dt-bindings/soc/rockchip-amp.h>
#define CPU_GET_AFFINITY(cpu, cluster) ((cpu) << 8)
#define RSVD0_IRQn 283
#define RSVD_IRQn(_N) (RSVD0_IRQn + (_N))
#define AMP_CPUOFF_REQ_IRQ(cpu) RSVD_IRQn(11 + (cpu)) /* gic irq: 294 */
#define GIC_TOUCH_REQ_IRQ(cpu) (AMP_CPUOFF_REQ_IRQ(4) + cpu) /* gic irq: 298 */
#define GPIO_IRQ_GROUP_DISABLE 0x0
#define GPIO_IRQ_GROUP_EN_BANK_TYPE 0x1
#define GPIO_IRQ_GROUP_EN_GROUP_TYPE 0x2
#define GPIO4_IRQn 69
#define GPIO3_IRQn 68
#define GPIO2_IRQn 67
#define GPIO1_IRQn 66
#define GPIO0_IRQn 65
/ {
rockchip_amp: rockchip-amp {
compatible = "rockchip,rk3568-amp";
@@ -14,11 +30,108 @@
pinctrl-0 = <&uart4m1_xfer>;
status = "okay";
amp-irqs = /bits/ 64 <
GIC_AMP_IRQ_CFG_ROUTE(152, 0xd0, CPU_GET_AFFINITY(3, 0))
GIC_AMP_IRQ_CFG_ROUTE(AMP_CPUOFF_REQ_IRQ(3), 0xd0, CPU_GET_AFFINITY(3, 0))
GIC_AMP_IRQ_CFG_ROUTE(GIC_TOUCH_REQ_IRQ(3), 0xd0, CPU_GET_AFFINITY(3, 0))>;
gpio-group-banks = <5>;
gpio-group {
status = "disabled";
amp-gpio0 {
gpio-bank-id = <0>;
group-irq-en = <GPIO_IRQ_GROUP_EN_BANK_TYPE>;
bank-type-cfg {
hw-irq = <GPIO0_IRQn>;
hw-irq-cpu-aff = /bits/ 64 <CPU_GET_AFFINITY(3, 0)>;
prio = <0xd0>;
status = "disabled";
};
};
amp-gpio1 {
gpio-bank-id = <1>;
group-irq-en = <GPIO_IRQ_GROUP_EN_BANK_TYPE>;
bank-type-cfg {
hw-irq = <GPIO1_IRQn>;
hw-irq-cpu-aff = /bits/ 64 <CPU_GET_AFFINITY(3, 0)>;
prio = <0xd0>;
status = "disabled";
};
};
amp-gpio2 {
gpio-bank-id = <2>;
group-irq-en = <GPIO_IRQ_GROUP_EN_BANK_TYPE>;
bank-type-cfg {
hw-irq = <GPIO2_IRQn>;
hw-irq-cpu-aff = /bits/ 64 <CPU_GET_AFFINITY(3, 0)>;
prio = <0xd0>;
status = "disabled";
};
};
amp-gpio3 {
gpio-bank-id = <3>;
group-irq-en = <GPIO_IRQ_GROUP_EN_BANK_TYPE>;
bank-type-cfg {
hw-irq = <GPIO3_IRQn>;
hw-irq-cpu-aff = /bits/ 64 <CPU_GET_AFFINITY(3, 0)>;
prio = <0xd0>;
status = "disabled";
};
};
amp-gpio4 {
gpio-bank-id = <4>;
group-irq-en = <GPIO_IRQ_GROUP_EN_GROUP_TYPE>;
bank-type-cfg {
hw-irq = <GPIO4_IRQn>;
hw-irq-cpu-aff = /bits/ 64 <CPU_GET_AFFINITY(3, 0)>;
prio = <0xd0>;
status = "disabled";
};
prio-group0 {
group-prio = <0x80>;
group-irq-id = <RSVD_IRQn(39) RSVD_IRQn(40)
RSVD_IRQn(41) GPIO4_IRQn>;
group-irq-aff = /bits/ 64 <CPU_GET_AFFINITY(0, 0)
CPU_GET_AFFINITY(1, 0)
CPU_GET_AFFINITY(2, 0)
CPU_GET_AFFINITY(3, 0)>;
group-irq-en = <0x1 0x1 0x1 0x1>;
status = "disabled";
};
prio-group1 {
group-prio = <0x90>;
group-irq-id = <RSVD_IRQn(42) RSVD_IRQn(43)
RSVD_IRQn(44) RSVD_IRQn(45)>;
group-irq-aff = /bits/ 64 <CPU_GET_AFFINITY(0, 0)
CPU_GET_AFFINITY(1, 0)
CPU_GET_AFFINITY(2, 0)
CPU_GET_AFFINITY(3, 0)>;
group-irq-en = <0x0 0x1 0x1 0x1>;
status = "disabled";
};
prio-group2 {
group-prio = <0xA0>;
group-irq-id = <RSVD_IRQn(46) RSVD_IRQn(47)
RSVD_IRQn(48) RSVD_IRQn(49)>;
group-irq-aff = /bits/ 64 <CPU_GET_AFFINITY(0, 0)
CPU_GET_AFFINITY(1, 0)
CPU_GET_AFFINITY(2, 0)
CPU_GET_AFFINITY(3, 0)>;
group-irq-en = <0x1 0x1 0x1 0x1>;
status = "disabled";
};
};
};
amp_cpus: amp-cpus {
amp-cpu3 {
id = <0x0 0x300>;
entry = <0x0 0x2800000>;
boot-on = <0>;
boot-on = <1>;
mode = <0>;
};
};