Merge "hikey960: Enable system power off callback" into integration
This commit is contained in:
commit
2f006b2c66
|
@ -166,6 +166,7 @@ void bl31_platform_setup(void)
|
||||||
|
|
||||||
hikey960_edma_init();
|
hikey960_edma_init();
|
||||||
hikey960_iomcu_dma_init();
|
hikey960_iomcu_dma_init();
|
||||||
|
hikey960_gpio_init();
|
||||||
|
|
||||||
hisi_ipc_init();
|
hisi_ipc_init();
|
||||||
}
|
}
|
||||||
|
|
|
@ -466,6 +466,13 @@ void hikey960_gpio_init(void)
|
||||||
pl061_gpio_register(GPIO19_BASE, 19);
|
pl061_gpio_register(GPIO19_BASE, 19);
|
||||||
pl061_gpio_register(GPIO20_BASE, 20);
|
pl061_gpio_register(GPIO20_BASE, 20);
|
||||||
pl061_gpio_register(GPIO21_BASE, 21);
|
pl061_gpio_register(GPIO21_BASE, 21);
|
||||||
|
pl061_gpio_register(GPIO22_BASE, 22);
|
||||||
|
pl061_gpio_register(GPIO23_BASE, 23);
|
||||||
|
pl061_gpio_register(GPIO24_BASE, 24);
|
||||||
|
pl061_gpio_register(GPIO25_BASE, 25);
|
||||||
|
pl061_gpio_register(GPIO26_BASE, 26);
|
||||||
|
pl061_gpio_register(GPIO27_BASE, 27);
|
||||||
|
pl061_gpio_register(GPIO28_BASE, 28);
|
||||||
|
|
||||||
/* PCIE_PERST_N output low */
|
/* PCIE_PERST_N output low */
|
||||||
gpio_set_direction(89, GPIO_DIR_OUT);
|
gpio_set_direction(89, GPIO_DIR_OUT);
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
#include <drivers/arm/cci.h>
|
#include <drivers/arm/cci.h>
|
||||||
#include <drivers/arm/gicv2.h>
|
#include <drivers/arm/gicv2.h>
|
||||||
#include <drivers/arm/pl011.h>
|
#include <drivers/arm/pl011.h>
|
||||||
|
#include <drivers/arm/pl061_gpio.h>
|
||||||
#include <drivers/delay_timer.h>
|
#include <drivers/delay_timer.h>
|
||||||
#include <lib/mmio.h>
|
#include <lib/mmio.h>
|
||||||
#include <lib/psci/psci.h>
|
#include <lib/psci/psci.h>
|
||||||
|
@ -116,6 +117,13 @@ void hikey960_pwr_domain_off(const psci_power_state_t *target_state)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void __dead2 hikey960_system_off(void)
|
||||||
|
{
|
||||||
|
gpio_set_direction(176, GPIO_DIR_OUT);
|
||||||
|
gpio_set_value(176, GPIO_LEVEL_LOW);
|
||||||
|
panic();
|
||||||
|
}
|
||||||
|
|
||||||
static void __dead2 hikey960_system_reset(void)
|
static void __dead2 hikey960_system_reset(void)
|
||||||
{
|
{
|
||||||
dsb();
|
dsb();
|
||||||
|
@ -293,7 +301,7 @@ static const plat_psci_ops_t hikey960_psci_ops = {
|
||||||
.pwr_domain_off = hikey960_pwr_domain_off,
|
.pwr_domain_off = hikey960_pwr_domain_off,
|
||||||
.pwr_domain_suspend = hikey960_pwr_domain_suspend,
|
.pwr_domain_suspend = hikey960_pwr_domain_suspend,
|
||||||
.pwr_domain_suspend_finish = hikey960_pwr_domain_suspend_finish,
|
.pwr_domain_suspend_finish = hikey960_pwr_domain_suspend_finish,
|
||||||
.system_off = NULL,
|
.system_off = hikey960_system_off,
|
||||||
.system_reset = hikey960_system_reset,
|
.system_reset = hikey960_system_reset,
|
||||||
.validate_power_state = hikey960_validate_power_state,
|
.validate_power_state = hikey960_validate_power_state,
|
||||||
.validate_ns_entrypoint = hikey960_validate_ns_entrypoint,
|
.validate_ns_entrypoint = hikey960_validate_ns_entrypoint,
|
||||||
|
|
|
@ -260,6 +260,13 @@
|
||||||
#define GPIO17_BASE UL(0xE8A1C000)
|
#define GPIO17_BASE UL(0xE8A1C000)
|
||||||
#define GPIO20_BASE UL(0xE8A1F000)
|
#define GPIO20_BASE UL(0xE8A1F000)
|
||||||
#define GPIO21_BASE UL(0xE8A20000)
|
#define GPIO21_BASE UL(0xE8A20000)
|
||||||
|
#define GPIO22_BASE UL(0xFFF0B000)
|
||||||
|
#define GPIO23_BASE UL(0xFFF0C000)
|
||||||
|
#define GPIO24_BASE UL(0xFFF0D000)
|
||||||
|
#define GPIO25_BASE UL(0xFFF0E000)
|
||||||
|
#define GPIO26_BASE UL(0xFFF0F000)
|
||||||
|
#define GPIO27_BASE UL(0xFFF10000)
|
||||||
|
#define GPIO28_BASE UL(0xFFF1D000)
|
||||||
|
|
||||||
#define TZC_REG_BASE 0xE8A21000
|
#define TZC_REG_BASE 0xE8A21000
|
||||||
#define TZC_STAT0_REG (TZC_REG_BASE + 0x800)
|
#define TZC_STAT0_REG (TZC_REG_BASE + 0x800)
|
||||||
|
|
|
@ -19,7 +19,7 @@ endif
|
||||||
|
|
||||||
CRASH_CONSOLE_BASE := PL011_UART6_BASE
|
CRASH_CONSOLE_BASE := PL011_UART6_BASE
|
||||||
COLD_BOOT_SINGLE_CPU := 1
|
COLD_BOOT_SINGLE_CPU := 1
|
||||||
PLAT_PL061_MAX_GPIOS := 176
|
PLAT_PL061_MAX_GPIOS := 232
|
||||||
PROGRAMMABLE_RESET_ADDRESS := 1
|
PROGRAMMABLE_RESET_ADDRESS := 1
|
||||||
ENABLE_SVE_FOR_NS := 0
|
ENABLE_SVE_FOR_NS := 0
|
||||||
PLAT_PARTITION_BLOCK_SIZE := 4096
|
PLAT_PARTITION_BLOCK_SIZE := 4096
|
||||||
|
@ -95,12 +95,15 @@ BL2_SOURCES += lib/optee/optee_utils.c
|
||||||
endif
|
endif
|
||||||
|
|
||||||
BL31_SOURCES += drivers/arm/cci/cci.c \
|
BL31_SOURCES += drivers/arm/cci/cci.c \
|
||||||
|
drivers/arm/pl061/pl061_gpio.c \
|
||||||
|
drivers/gpio/gpio.c \
|
||||||
lib/cpus/aarch64/cortex_a53.S \
|
lib/cpus/aarch64/cortex_a53.S \
|
||||||
lib/cpus/aarch64/cortex_a72.S \
|
lib/cpus/aarch64/cortex_a72.S \
|
||||||
lib/cpus/aarch64/cortex_a73.S \
|
lib/cpus/aarch64/cortex_a73.S \
|
||||||
plat/common/plat_psci_common.c \
|
plat/common/plat_psci_common.c \
|
||||||
plat/hisilicon/hikey960/aarch64/hikey960_helpers.S \
|
plat/hisilicon/hikey960/aarch64/hikey960_helpers.S \
|
||||||
plat/hisilicon/hikey960/hikey960_bl31_setup.c \
|
plat/hisilicon/hikey960/hikey960_bl31_setup.c \
|
||||||
|
plat/hisilicon/hikey960/hikey960_bl_common.c \
|
||||||
plat/hisilicon/hikey960/hikey960_pm.c \
|
plat/hisilicon/hikey960/hikey960_pm.c \
|
||||||
plat/hisilicon/hikey960/hikey960_topology.c \
|
plat/hisilicon/hikey960/hikey960_topology.c \
|
||||||
plat/hisilicon/hikey960/drivers/pwrc/hisi_pwrc.c \
|
plat/hisilicon/hikey960/drivers/pwrc/hisi_pwrc.c \
|
||||||
|
|
Loading…
Reference in New Issue