Add devicetree binding for Bitmain BM1880 SoC reset controller. This SoC has two reset controllers each controlling reset lines of different peripherals. Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx> --- .../bindings/reset/bitmain,bm1880-reset.txt | 18 +++ .../dt-bindings/reset/bitmain,bm1880-reset.h | 106 ++++++++++++++++++ 2 files changed, 124 insertions(+) create mode 100644 Documentation/devicetree/bindings/reset/bitmain,bm1880-reset.txt create mode 100644 include/dt-bindings/reset/bitmain,bm1880-reset.h diff --git a/Documentation/devicetree/bindings/reset/bitmain,bm1880-reset.txt b/Documentation/devicetree/bindings/reset/bitmain,bm1880-reset.txt new file mode 100644 index 000000000000..0674ae904b19 --- /dev/null +++ b/Documentation/devicetree/bindings/reset/bitmain,bm1880-reset.txt @@ -0,0 +1,18 @@ +Bitmain BM1880 SoC Reset Controller +=================================== + +Please also refer to reset.txt in this directory for common reset +controller binding usage. + +Required properties: +- compatible: Should be "bitmain,bm1880-reset" +- reg: Offset and length of reset controller space in SCTRL. +- #reset-cells: Must be 1. + +Example: + + reset: reset-controller@800 { + compatible = "bitmain,bm1880-reset"; + reg = <0x800 0x8>; + #reset-cells = <1>; + }; diff --git a/include/dt-bindings/reset/bitmain,bm1880-reset.h b/include/dt-bindings/reset/bitmain,bm1880-reset.h new file mode 100644 index 000000000000..e8103ce6f4d6 --- /dev/null +++ b/include/dt-bindings/reset/bitmain,bm1880-reset.h @@ -0,0 +1,106 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright (c) 2018 Bitmain Ltd. + * Copyright (c) 2019 Linaro Ltd. + */ + +#ifndef _DT_BINDINGS_BM1880_RESET_H +#define _DT_BINDINGS_BM1880_RESET_H + +#define BM1880_RST_MAIN_AP 0 +#define BM1880_RST_SECOND_AP 1 +#define BM1880_RST_DDR 2 +#define BM1880_RST_VIDEO 3 +#define BM1880_RST_JPEG 4 +#define BM1880_RST_VPP 5 +#define BM1880_RST_GDMA 6 +#define BM1880_RST_AXI_SRAM 7 +#define BM1880_RST_TPU 8 +#define BM1880_RST_USB 9 +#define BM1880_RST_ETH0 10 +#define BM1880_RST_ETH1 11 +#define BM1880_RST_NAND 12 +#define BM1880_RST_EMMC 13 +#define BM1880_RST_SD 14 +#define BM1880_RST_SDMA 15 +#define BM1880_RST_I2S0 16 +#define BM1880_RST_I2S1 17 +#define BM1880_RST_UART0_1_CLK 18 +#define BM1880_RST_UART0_1_ACLK 19 +#define BM1880_RST_UART2_3_CLK 20 +#define BM1880_RST_UART2_3_ACLK 21 +#define BM1880_RST_MINER 22 +#define BM1880_RST_I2C0 23 +#define BM1880_RST_I2C1 24 +#define BM1880_RST_I2C2 25 +#define BM1880_RST_I2C3 26 +#define BM1880_RST_I2C4 27 +#define BM1880_RST_PWM0 28 +#define BM1880_RST_PWM1 29 +#define BM1880_RST_PWM2 30 +#define BM1880_RST_PWM3 31 +#define BM1880_RST_SPI 32 +#define BM1880_RST_GPIO0 33 +#define BM1880_RST_GPIO1 34 +#define BM1880_RST_GPIO2 35 +#define BM1880_RST_EFUSE 36 +#define BM1880_RST_WDT 37 +#define BM1880_RST_AHB_ROM 38 +#define BM1880_RST_SPIC 39 + +#define BM1880_CLK_RST_A53 0 +#define BM1880_CLK_RST_50M_A53 1 +#define BM1880_CLK_RST_AHB_ROM 2 +#define BM1880_CLK_RST_AXI_SRAM 3 +#define BM1880_CLK_RST_DDR_AXI 4 +#define BM1880_CLK_RST_EFUSE 5 +#define BM1880_CLK_RST_APB_EFUSE 6 +#define BM1880_CLK_RST_AXI_EMMC 7 +#define BM1880_CLK_RST_EMMC 8 +#define BM1880_CLK_RST_100K_EMMC 9 +#define BM1880_CLK_RST_AXI_SD 10 +#define BM1880_CLK_RST_SD 11 +#define BM1880_CLK_RST_100K_SD 12 +#define BM1880_CLK_RST_500M_ETH0 13 +#define BM1880_CLK_RST_AXI_ETH0 14 +#define BM1880_CLK_RST_500M_ETH1 15 +#define BM1880_CLK_RST_AXI_ETH1 16 +#define BM1880_CLK_RST_AXI_GDMA 17 +#define BM1880_CLK_RST_APB_GPIO 18 +#define BM1880_CLK_RST_APB_GPIO_INTR 19 +#define BM1880_CLK_RST_GPIO_DB 20 +#define BM1880_CLK_RST_AXI_MINER 21 +#define BM1880_CLK_RST_AHB_SF 22 +#define BM1880_CLK_RST_SDMA_AXI 23 +#define BM1880_CLK_RST_SDMA_AUD 24 +#define BM1880_CLK_RST_APB_I2C 25 +#define BM1880_CLK_RST_APB_WDT 26 +#define BM1880_CLK_RST_APB_JPEG 27 +#define BM1880_CLK_RST_JPEG_AXI 28 +#define BM1880_CLK_RST_AXI_NF 29 +#define BM1880_CLK_RST_APB_NF 30 +#define BM1880_CLK_RST_NF 31 +#define BM1880_CLK_RST_APB_PWM 32 +#define BM1880_CLK_RST_RV 33 +#define BM1880_CLK_RST_APB_SPI 34 +#define BM1880_CLK_RST_TPU_AXI 35 +#define BM1880_CLK_RST_UART_500M 36 +#define BM1880_CLK_RST_APB_UART 37 +#define BM1880_CLK_RST_APB_I2S 38 +#define BM1880_CLK_RST_AXI_USB 39 +#define BM1880_CLK_RST_APB_USB 40 +#define BM1880_CLK_RST_125M_USB 41 +#define BM1880_CLK_RST_33K_USB 42 +#define BM1880_CLK_RST_12M_USB 43 +#define BM1880_CLK_RST_APB_VIDEO 44 +#define BM1880_CLK_RST_VIDEO_AXI 45 +#define BM1880_CLK_RST_VPP_AXI 46 +#define BM1880_CLK_RST_APB_VPP 47 +#define BM1880_CLK_RST_AXI1 48 +#define BM1880_CLK_RST_AXI2 49 +#define BM1880_CLK_RST_AXI3 50 +#define BM1880_CLK_RST_AXI4 51 +#define BM1880_CLK_RST_AXI5 52 +#define BM1880_CLK_RST_AXI6 53 + +#endif /* _DT_BINDINGS_BM1880_RESET_H */ -- 2.17.1