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:
@@ -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>;
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user