soc: convert ite_ec to hwmv2

Convert the ite_ec soc to the hardware model v2.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
This commit is contained in:
Fabio Baltieri
2024-02-15 11:43:49 +00:00
committed by Carles Cufi
parent 12e375f826
commit 4a6e286a3b
39 changed files with 83 additions and 88 deletions

View File

@@ -3550,7 +3550,7 @@ ITE Platforms:
- drivers/*/*_ite_* - drivers/*/*_ite_*
- dts/bindings/*/*ite* - dts/bindings/*/*ite*
- dts/riscv/ite/ - dts/riscv/ite/
- soc/riscv/ite_ec/ - soc/ite/
labels: labels:
- "platform: ITE" - "platform: ITE"

View File

@@ -1,4 +1,4 @@
# Copyright (c) 2020 ITE Corporation. All Rights Reserved. # Copyright (c) 2020 ITE Corporation. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
source "soc/soc_legacy/riscv/ite_ec/*/Kconfig.series" rsource "*/Kconfig"

View File

@@ -1,4 +1,4 @@
# Copyright (c) 2020 ITE Corporation. All Rights Reserved. # Copyright (c) 2020 ITE Corporation. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
source "soc/soc_legacy/riscv/ite_ec/*/Kconfig.defconfig.series" rsource "*/Kconfig.defconfig.series"

10
soc/ite/ec/Kconfig.soc Normal file
View File

@@ -0,0 +1,10 @@
# Copyright (c) 2020 ITE Corporation. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
config SOC_FAMILY_ITE_EC
bool
config SOC_FAMILY
default "ite_ec" if SOC_FAMILY_ITE_EC
rsource "*/Kconfig.soc"

View File

@@ -1,6 +1,6 @@
zephyr_sources( zephyr_sources(soc.c)
soc.c zephyr_include_directories(.)
)
zephyr_library_sources_ifndef(CONFIG_RISCV_ISA_EXT_M __arithmetic.S) zephyr_library_sources_ifndef(CONFIG_RISCV_ISA_EXT_M __arithmetic.S)
zephyr_sources_ifdef(CONFIG_SOC_IT8XXX2_USE_ILM ilm.c) zephyr_sources_ifdef(CONFIG_SOC_IT8XXX2_USE_ILM ilm.c)

View File

@@ -1,12 +1,11 @@
# Copyright (c) 2020 ITE Corporation. All Rights Reserved. # Copyright (c) 2020 ITE Corporation. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
choice config SOC_SERIES_ITE_IT8XXX2
prompt "ITE IT8XXX2 system implementation" select CPU_HAS_FPU if "$(ZEPHYR_TOOLCHAIN_VARIANT)" != "zephyr" || RISCV_ISA_EXT_M
depends on SOC_SERIES_ITE_IT8XXX2 select HAS_PM
config SOC_IT8XXX2 config SOC_IT8XXX2
bool "ITE IT8XXX2 system implementation"
select RISCV select RISCV
select ATOMIC_OPERATIONS_BUILTIN select ATOMIC_OPERATIONS_BUILTIN
select RISCV_ISA_RV32I select RISCV_ISA_RV32I
@@ -17,12 +16,6 @@ config SOC_IT8XXX2
select RISCV_ISA_EXT_M if !(SOC_IT81302_BX || SOC_IT81202_BX) select RISCV_ISA_EXT_M if !(SOC_IT81302_BX || SOC_IT81202_BX)
select RISCV_ISA_EXT_A select RISCV_ISA_EXT_A
select RISCV_ISA_EXT_C select RISCV_ISA_EXT_C
select FLASH
select FLASH_HAS_PAGE_LAYOUT
select FLASH_HAS_DRIVER_ENABLED
select HAS_FLASH_LOAD_OFFSET
endchoice
config SOC_IT8XXX2_REG_SET_V1 config SOC_IT8XXX2_REG_SET_V1
bool bool
@@ -36,48 +29,34 @@ config SOC_IT8XXX2_REG_SET_V2
This option is selected by a variable of which soc, and will This option is selected by a variable of which soc, and will
determine the register for the IT82xx2 specification. determine the register for the IT82xx2 specification.
if SOC_IT8XXX2
choice IT8XXX2_SERIES
prompt "IT8XXX2 Series"
default SOC_IT81302_BX
config SOC_IT81302_BX config SOC_IT81302_BX
bool "IT81302 BX version"
select SOC_IT8XXX2_REG_SET_V1 select SOC_IT8XXX2_REG_SET_V1
config SOC_IT81202_BX config SOC_IT81202_BX
bool "IT81202 BX version"
select SOC_IT8XXX2_REG_SET_V1 select SOC_IT8XXX2_REG_SET_V1
config SOC_IT81302_CX config SOC_IT81302_CX
bool "IT81302 CX version"
select SOC_IT8XXX2_REG_SET_V1 select SOC_IT8XXX2_REG_SET_V1
config SOC_IT81202_CX config SOC_IT81202_CX
bool "IT81202 CX version"
select SOC_IT8XXX2_REG_SET_V1 select SOC_IT8XXX2_REG_SET_V1
config SOC_IT82202_AX config SOC_IT82202_AX
bool "IT82202 AX version"
select SOC_IT8XXX2_REG_SET_V2 select SOC_IT8XXX2_REG_SET_V2
select SOC_IT8XXX2_EC_BUS_24MHZ if !DT_HAS_ITE_IT82XX2_USB_ENABLED select SOC_IT8XXX2_EC_BUS_24MHZ if !DT_HAS_ITE_IT82XX2_USB_ENABLED
config SOC_IT82302_AX config SOC_IT82302_AX
bool "IT82302 AX version"
select SOC_IT8XXX2_REG_SET_V2 select SOC_IT8XXX2_REG_SET_V2
select SOC_IT8XXX2_EC_BUS_24MHZ if !DT_HAS_ITE_IT82XX2_USB_ENABLED select SOC_IT8XXX2_EC_BUS_24MHZ if !DT_HAS_ITE_IT82XX2_USB_ENABLED
config SOC_IT82002_AW config SOC_IT82002_AW
bool "IT82002 AW version"
select SOC_IT8XXX2_REG_SET_V2 select SOC_IT8XXX2_REG_SET_V2
select SOC_IT8XXX2_EC_BUS_24MHZ if !DT_HAS_ITE_IT82XX2_USB_ENABLED select SOC_IT8XXX2_EC_BUS_24MHZ if !DT_HAS_ITE_IT82XX2_USB_ENABLED
endchoice
config SOC_IT8XXX2_PLL_FLASH_48M config SOC_IT8XXX2_PLL_FLASH_48M
bool "Flash frequency is 48MHz" bool "Flash frequency is 48MHz"
default y default y
select FLASH
help help
Change frequency of PLL, CPU, and flash to 48MHz during initialization. Change frequency of PLL, CPU, and flash to 48MHz during initialization.
@@ -169,5 +148,3 @@ config ILM_MAX_SIZE
int "ILM Size in kB" int "ILM Size in kB"
default 60 if SOC_IT81202_CX || SOC_IT81302_CX default 60 if SOC_IT81202_CX || SOC_IT81302_CX
default SRAM_SIZE default SRAM_SIZE
endif # SOC_IT8XXX2

View File

@@ -3,9 +3,6 @@
if SOC_IT81202_BX if SOC_IT81202_BX
config SOC
default "it81202bx"
config SOC_IT8XXX2_GPIO_GROUP_K_L_DEFAULT_PULL_DOWN config SOC_IT8XXX2_GPIO_GROUP_K_L_DEFAULT_PULL_DOWN
default y default y

View File

@@ -3,9 +3,6 @@
if SOC_IT81202_CX if SOC_IT81202_CX
config SOC
default "it81202cx"
config SOC_IT8XXX2_GPIO_GROUP_K_L_DEFAULT_PULL_DOWN config SOC_IT8XXX2_GPIO_GROUP_K_L_DEFAULT_PULL_DOWN
default y default y

View File

@@ -3,9 +3,6 @@
if SOC_IT81302_BX if SOC_IT81302_BX
config SOC
default "it81302bx"
config SOC_IT8XXX2_GPIO_GROUP_K_L_DEFAULT_PULL_DOWN config SOC_IT8XXX2_GPIO_GROUP_K_L_DEFAULT_PULL_DOWN
default n default n

View File

@@ -3,9 +3,6 @@
if SOC_IT81302_CX if SOC_IT81302_CX
config SOC
default "it81302cx"
config SOC_IT8XXX2_GPIO_GROUP_K_L_DEFAULT_PULL_DOWN config SOC_IT8XXX2_GPIO_GROUP_K_L_DEFAULT_PULL_DOWN
default n default n

View File

@@ -3,9 +3,6 @@
if SOC_IT82002_AW if SOC_IT82002_AW
config SOC
default "it82002aw"
config SOC_IT8XXX2_GPIO_GROUP_K_L_DEFAULT_PULL_DOWN config SOC_IT8XXX2_GPIO_GROUP_K_L_DEFAULT_PULL_DOWN
default y default y

View File

@@ -3,9 +3,6 @@
if SOC_IT82202_AX if SOC_IT82202_AX
config SOC
default "it82202ax"
config SOC_IT8XXX2_GPIO_GROUP_K_L_DEFAULT_PULL_DOWN config SOC_IT8XXX2_GPIO_GROUP_K_L_DEFAULT_PULL_DOWN
default y default y

View File

@@ -3,7 +3,4 @@
if SOC_IT82302_AX if SOC_IT82302_AX
config SOC
default "it82302ax"
endif endif

View File

@@ -54,6 +54,6 @@ config GEN_SW_ISR_TABLE
config RISCV_SOC_INTERRUPT_INIT config RISCV_SOC_INTERRUPT_INIT
default y default y
source "soc/soc_legacy/riscv/ite_ec/it8xxx2/Kconfig.defconfig.it8*" rsource "Kconfig.defconfig.it8*"
endif # SOC_SERIES_ITE_IT8XXX2 endif # SOC_SERIES_ITE_IT8XXX2

View File

@@ -0,0 +1,49 @@
# Copyright (c) 2020 ITE Corporation. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_ITE_IT8XXX2
bool
select SOC_FAMILY_ITE_EC
help
Enable support for ITE IT8XXX2
config SOC_IT8XXX2
bool
select SOC_SERIES_ITE_IT8XXX2
config SOC_IT81302_BX
bool
select SOC_IT8XXX2
config SOC_IT81202_BX
bool
select SOC_IT8XXX2
config SOC_IT81302_CX
bool
select SOC_IT8XXX2
config SOC_IT81202_CX
bool
select SOC_IT8XXX2
config SOC_IT82202_AX
bool
select SOC_IT8XXX2
config SOC_IT82302_AX
bool
select SOC_IT8XXX2
config SOC_IT82002_AW
bool
select SOC_IT8XXX2
config SOC
default "it81202bx" if SOC_IT81202_BX
default "it81202cx" if SOC_IT81202_CX
default "it81302bx" if SOC_IT81302_BX
default "it81302cx" if SOC_IT81302_CX
default "it82002aw" if SOC_IT82002_AW
default "it82202ax" if SOC_IT82202_AX
default "it82302ax" if SOC_IT82302_AX

10
soc/ite/ec/soc.yml Normal file
View File

@@ -0,0 +1,10 @@
series:
- name: it8xxxx
socs:
- name: it81202bx
- name: it81202cx
- name: it81302bx
- name: it81302cx
- name: it82002aw
- name: it82202ax
- name: it82302ax

View File

@@ -1,17 +0,0 @@
# Copyright (c) 2020 ITE Corporation. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
config SOC_FAMILY_ITE_EC
bool
help
ITE Embedded Controller SoC family
if SOC_FAMILY_ITE_EC
config SOC_FAMILY
string
default "ite_ec"
source "soc/soc_legacy/riscv/ite_ec/*/Kconfig.soc"
endif # SOC_FAMILY_ITE_EC

View File

@@ -1,13 +0,0 @@
# Copyright (c) 2020 ITE Corporation. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_ITE_IT8XXX2
bool "ITE IT8XXX2 implementation"
#depends on RISCV
# RV32IAFC is an uncommon configuration which is not supported by
# default in most toolchains, causing link-time errors.
select CPU_HAS_FPU if "$(ZEPHYR_TOOLCHAIN_VARIANT)" != "zephyr" || RISCV_ISA_EXT_M
select SOC_FAMILY_ITE_EC
select HAS_PM
help
Enable support for ITE IT8XXX2

View File

@@ -13,8 +13,8 @@ target_include_directories(app PRIVATE
zephyr_include_directories( zephyr_include_directories(
include include
${ZEPHYR_BASE}/soc/soc_legacy/riscv/ite_ec/common ${ZEPHYR_BASE}/soc/ite/ec/common
${ZEPHYR_BASE}/soc/soc_legacy/riscv/ite_ec/it8xxx2 ${ZEPHYR_BASE}/soc/ite/ec/it8xxx2
) )
target_sources(app target_sources(app

View File

@@ -4,7 +4,7 @@
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
#include <../soc/soc_legacy/riscv/ite_ec/common/chip_chipregs.h> #include <../soc/ite/ec/common/chip_chipregs.h>
/* /*
* Macros for emulated hardware registers access. * Macros for emulated hardware registers access.