Re: [PATCH v2 08/14] dt-bindings: reset: Add StarFive JH7110 system and always-on reset definitions

From: Emil Renner Berthing
Date: Fri Nov 18 2022 - 11:47:53 EST


On Fri, 18 Nov 2022 at 02:06, Hal Feng <hal.feng@xxxxxxxxxxxxxxxx> wrote:
>
> From: Emil Renner Berthing <kernel@xxxxxxxx>
>
> Add resets for the StarFive JH7110 system (SYS) and always-on (AON)
> reset controller.
>
> Signed-off-by: Emil Renner Berthing <kernel@xxxxxxxx>
> Signed-off-by: Hal Feng <hal.feng@xxxxxxxxxxxxxxxx>
> ---
> MAINTAINERS | 5 +-
> include/dt-bindings/reset/starfive-jh7110.h | 154 ++++++++++++++++++++
> 2 files changed, 157 insertions(+), 2 deletions(-)
> create mode 100644 include/dt-bindings/reset/starfive-jh7110.h
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index e97dac9c0ee4..eeab26f5597c 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -19614,12 +19614,13 @@ F: Documentation/devicetree/bindings/pinctrl/starfive,jh7100-pinctrl.yaml
> F: drivers/pinctrl/starfive/
> F: include/dt-bindings/pinctrl/pinctrl-starfive-jh7100.h
>
> -STARFIVE JH7100 RESET CONTROLLER DRIVERS
> +STARFIVE RESET CONTROLLER DRIVERS
> M: Emil Renner Berthing <kernel@xxxxxxxx>
> +M: Hal Feng <hal.feng@xxxxxxxxxxxxxxxx>
> S: Maintained
> F: Documentation/devicetree/bindings/reset/starfive,jh7100-reset.yaml
> F: drivers/reset/starfive/
> -F: include/dt-bindings/reset/starfive-jh7100.h
> +F: include/dt-bindings/reset/starfive*
>
> STATIC BRANCH/CALL
> M: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> diff --git a/include/dt-bindings/reset/starfive-jh7110.h b/include/dt-bindings/reset/starfive-jh7110.h
> new file mode 100644
> index 000000000000..1a5bab671161
> --- /dev/null
> +++ b/include/dt-bindings/reset/starfive-jh7110.h
> @@ -0,0 +1,154 @@
> +/* SPDX-License-Identifier: GPL-2.0 OR MIT */
> +/*
> + * Copyright (C) 2021-2022 Emil Renner Berthing <kernel@xxxxxxxx>

I'm not sure how this ended up here, but I definitely didn't start
working on this before 2022.

> + */
> +
> +#ifndef __DT_BINDINGS_RESET_STARFIVE_JH7110_H__
> +#define __DT_BINDINGS_RESET_STARFIVE_JH7110_H__
> +
> +/* SYSCRG resets */
> +#define JH7110_SYSRST_JTAG2APB 0
> +#define JH7110_SYSRST_SYSCON 1
> +#define JH7110_SYSRST_IOMUX 2
> +#define JH7110_SYSRST_BUS 3
> +#define JH7110_SYSRST_DEBUG 4
> +#define JH7110_SYSRST_CORE0 5
> +#define JH7110_SYSRST_CORE1 6
> +#define JH7110_SYSRST_CORE2 7
> +#define JH7110_SYSRST_CORE3 8
> +#define JH7110_SYSRST_CORE4 9
> +#define JH7110_SYSRST_CORE0_ST 10
> +#define JH7110_SYSRST_CORE1_ST 11
> +#define JH7110_SYSRST_CORE2_ST 12
> +#define JH7110_SYSRST_CORE3_ST 13
> +#define JH7110_SYSRST_CORE4_ST 14
> +#define JH7110_SYSRST_TRACE0 15
> +#define JH7110_SYSRST_TRACE1 16
> +#define JH7110_SYSRST_TRACE2 17
> +#define JH7110_SYSRST_TRACE3 18
> +#define JH7110_SYSRST_TRACE4 19
> +#define JH7110_SYSRST_TRACE_COM 20
> +#define JH7110_SYSRST_GPU_APB 21
> +#define JH7110_SYSRST_GPU_DOMA 22
> +#define JH7110_SYSRST_NOC_BUS_APB_BUS 23
> +#define JH7110_SYSRST_NOC_BUS_AXICFG0_AXI 24
> +#define JH7110_SYSRST_NOC_BUS_CPU_AXI 25
> +#define JH7110_SYSRST_NOC_BUS_DISP_AXI 26
> +#define JH7110_SYSRST_NOC_BUS_GPU_AXI 27
> +#define JH7110_SYSRST_NOC_BUS_ISP_AXI 28
> +#define JH7110_SYSRST_NOC_BUS_DDRC 29
> +#define JH7110_SYSRST_NOC_BUS_STG_AXI 30
> +#define JH7110_SYSRST_NOC_BUS_VDEC_AXI 31
> +
> +#define JH7110_SYSRST_NOC_BUS_VENC_AXI 32
> +#define JH7110_SYSRST_AXI_CFG1_DEC_AHB 33
> +#define JH7110_SYSRST_AXI_CFG1_DEC_MAIN 34
> +#define JH7110_SYSRST_AXI_CFG0_DEC_MAIN 35
> +#define JH7110_SYSRST_AXI_CFG0_DEC_MAIN_DIV 36
> +#define JH7110_SYSRST_AXI_CFG0_DEC_HIFI4 37
> +#define JH7110_SYSRST_DDR_AXI 38
> +#define JH7110_SYSRST_DDR_OSC 39
> +#define JH7110_SYSRST_DDR_APB 40
> +#define JH7110_SYSRST_DOM_ISP_TOP_N 41
> +#define JH7110_SYSRST_DOM_ISP_TOP_AXI 42
> +#define JH7110_SYSRST_DOM_VOUT_TOP_SRC 43
> +#define JH7110_SYSRST_CODAJ12_AXI 44
> +#define JH7110_SYSRST_CODAJ12_CORE 45
> +#define JH7110_SYSRST_CODAJ12_APB 46
> +#define JH7110_SYSRST_WAVE511_AXI 47
> +#define JH7110_SYSRST_WAVE511_BPU 48
> +#define JH7110_SYSRST_WAVE511_VCE 49
> +#define JH7110_SYSRST_WAVE511_APB 50
> +#define JH7110_SYSRST_VDEC_JPG_ARB_JPG 51
> +#define JH7110_SYSRST_VDEC_JPG_ARB_MAIN 52
> +#define JH7110_SYSRST_AXIMEM0_AXI 53
> +#define JH7110_SYSRST_WAVE420L_AXI 54
> +#define JH7110_SYSRST_WAVE420L_BPU 55
> +#define JH7110_SYSRST_WAVE420L_VCE 56
> +#define JH7110_SYSRST_WAVE420L_APB 57
> +#define JH7110_SYSRST_AXIMEM1_AXI 58
> +#define JH7110_SYSRST_AXIMEM2_AXI 59
> +#define JH7110_SYSRST_INTMEM 60
> +#define JH7110_SYSRST_QSPI_AHB 61
> +#define JH7110_SYSRST_QSPI_APB 62
> +#define JH7110_SYSRST_QSPI_REF 63
> +
> +#define JH7110_SYSRST_SDIO0_AHB 64
> +#define JH7110_SYSRST_SDIO1_AHB 65
> +#define JH7110_SYSRST_GMAC1_AXI 66
> +#define JH7110_SYSRST_GMAC1_AHB 67
> +#define JH7110_SYSRST_MAILBOX 68
> +#define JH7110_SYSRST_SPI0_APB 69
> +#define JH7110_SYSRST_SPI1_APB 70
> +#define JH7110_SYSRST_SPI2_APB 71
> +#define JH7110_SYSRST_SPI3_APB 72
> +#define JH7110_SYSRST_SPI4_APB 73
> +#define JH7110_SYSRST_SPI5_APB 74
> +#define JH7110_SYSRST_SPI6_APB 75
> +#define JH7110_SYSRST_I2C0_APB 76
> +#define JH7110_SYSRST_I2C1_APB 77
> +#define JH7110_SYSRST_I2C2_APB 78
> +#define JH7110_SYSRST_I2C3_APB 79
> +#define JH7110_SYSRST_I2C4_APB 80
> +#define JH7110_SYSRST_I2C5_APB 81
> +#define JH7110_SYSRST_I2C6_APB 82
> +#define JH7110_SYSRST_UART0_APB 83
> +#define JH7110_SYSRST_UART0_CORE 84
> +#define JH7110_SYSRST_UART1_APB 85
> +#define JH7110_SYSRST_UART1_CORE 86
> +#define JH7110_SYSRST_UART2_APB 87
> +#define JH7110_SYSRST_UART2_CORE 88
> +#define JH7110_SYSRST_UART3_APB 89
> +#define JH7110_SYSRST_UART3_CORE 90
> +#define JH7110_SYSRST_UART4_APB 91
> +#define JH7110_SYSRST_UART4_CORE 92
> +#define JH7110_SYSRST_UART5_APB 93
> +#define JH7110_SYSRST_UART5_CORE 94
> +#define JH7110_SYSRST_SPDIF_APB 95
> +
> +#define JH7110_SYSRST_PWMDAC_APB 96
> +#define JH7110_SYSRST_PDM_DMIC 97
> +#define JH7110_SYSRST_PDM_APB 98
> +#define JH7110_SYSRST_I2SRX_APB 99
> +#define JH7110_SYSRST_I2SRX_BCLK 100
> +#define JH7110_SYSRST_I2STX0_APB 101
> +#define JH7110_SYSRST_I2STX0_BCLK 102
> +#define JH7110_SYSRST_I2STX1_APB 103
> +#define JH7110_SYSRST_I2STX1_BCLK 104
> +#define JH7110_SYSRST_TDM_AHB 105
> +#define JH7110_SYSRST_TDM_CORE 106
> +#define JH7110_SYSRST_TDM_APB 107
> +#define JH7110_SYSRST_PWM_APB 108
> +#define JH7110_SYSRST_WDT_APB 109
> +#define JH7110_SYSRST_WDT_CORE 110
> +#define JH7110_SYSRST_CAN0_APB 111
> +#define JH7110_SYSRST_CAN0_CORE 112
> +#define JH7110_SYSRST_CAN0_TIMER 113
> +#define JH7110_SYSRST_CAN1_APB 114
> +#define JH7110_SYSRST_CAN1_CORE 115
> +#define JH7110_SYSRST_CAN1_TIMER 116
> +#define JH7110_SYSRST_TIMER_APB 117
> +#define JH7110_SYSRST_TIMER0 118
> +#define JH7110_SYSRST_TIMER1 119
> +#define JH7110_SYSRST_TIMER2 120
> +#define JH7110_SYSRST_TIMER3 121
> +#define JH7110_SYSRST_INT_CTRL_APB 122
> +#define JH7110_SYSRST_TEMP_APB 123
> +#define JH7110_SYSRST_TEMP_CORE 124
> +#define JH7110_SYSRST_JTAG_CERTIFICATION 125
> +
> +#define JH7110_SYSRST_END 126
> +
> +/* AONCRG resets */
> +#define JH7110_AONRST_GMAC0_AXI 0
> +#define JH7110_AONRST_GMAC0_AHB 1
> +#define JH7110_AONRST_AON_IOMUX 2
> +#define JH7110_AONRST_PMU_APB 3
> +#define JH7110_AONRST_PMU_WKUP 4
> +#define JH7110_AONRST_RTC_APB 5
> +#define JH7110_AONRST_RTC_CAL 6
> +#define JH7110_AONRST_RTC_32K 7
> +
> +#define JH7110_AONRST_END 8
> +
> +#endif /* __DT_BINDINGS_RESET_STARFIVE_JH7110_H__ */
> --
> 2.38.1
>