/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Ralink RT3662/RT3883 SoC register definitions
*
* Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
*/
#ifndef _RT3883_REGS_H_
#define _RT3883_REGS_H_
#include <linux/bitops.h>
#define IOMEM(x) ((void __iomem *)(KSEG1ADDR(x)))
#define RT3883_SDRAM_BASE 0 x00000000
#define RT3883_SYSC_BASE IOMEM(0 x10000000)
#define RT3883_TIMER_BASE 0 x10000100
#define RT3883_INTC_BASE 0 x10000200
#define RT3883_MEMC_BASE 0 x10000300
#define RT3883_UART0_BASE 0 x10000500
#define RT3883_PIO_BASE 0 x10000600
#define RT3883_FSCC_BASE 0 x10000700
#define RT3883_NANDC_BASE 0 x10000810
#define RT3883_I2C_BASE 0 x10000900
#define RT3883_I2S_BASE 0 x10000a00
#define RT3883_SPI_BASE 0 x10000b00
#define RT3883_UART1_BASE 0 x10000c00
#define RT3883_PCM_BASE 0 x10002000
#define RT3883_GDMA_BASE 0 x10002800
#define RT3883_CODEC1_BASE 0 x10003000
#define RT3883_CODEC2_BASE 0 x10003800
#define RT3883_FE_BASE 0 x10100000
#define RT3883_ROM_BASE 0 x10118000
#define RT3883_USBDEV_BASE 0 x10112000
#define RT3883_PCI_BASE 0 x10140000
#define RT3883_WLAN_BASE 0 x10180000
#define RT3883_USBHOST_BASE 0 x101c0000
#define RT3883_BOOT_BASE 0 x1c000000
#define RT3883_SRAM_BASE 0 x1e000000
#define RT3883_PCIMEM_BASE 0 x20000000
#define RT3883_EHCI_BASE (RT3883_USBHOST_BASE)
#define RT3883_OHCI_BASE (RT3883_USBHOST_BASE + 0 x1000)
#define RT3883_SYSC_SIZE 0 x100
#define RT3883_TIMER_SIZE 0 x100
#define RT3883_INTC_SIZE 0 x100
#define RT3883_MEMC_SIZE 0 x100
#define RT3883_UART0_SIZE 0 x100
#define RT3883_UART1_SIZE 0 x100
#define RT3883_PIO_SIZE 0 x100
#define RT3883_FSCC_SIZE 0 x100
#define RT3883_NANDC_SIZE 0 x0f0
#define RT3883_I2C_SIZE 0 x100
#define RT3883_I2S_SIZE 0 x100
#define RT3883_SPI_SIZE 0 x100
#define RT3883_PCM_SIZE 0 x800
#define RT3883_GDMA_SIZE 0 x800
#define RT3883_CODEC1_SIZE 0 x800
#define RT3883_CODEC2_SIZE 0 x800
#define RT3883_FE_SIZE 0 x10000
#define RT3883_ROM_SIZE 0 x4000
#define RT3883_USBDEV_SIZE 0 x4000
#define RT3883_PCI_SIZE 0 x40000
#define RT3883_WLAN_SIZE 0 x40000
#define RT3883_USBHOST_SIZE 0 x40000
#define RT3883_BOOT_SIZE (32 * 1024 * 1024 )
#define RT3883_SRAM_SIZE (32 * 1024 * 1024 )
/* SYSC registers */
#define RT3883_SYSC_REG_CHIPID0_3 0 x00 /* Chip ID 0 */
#define RT3883_SYSC_REG_CHIPID4_7 0 x04 /* Chip ID 1 */
#define RT3883_SYSC_REG_REVID 0 x0c /* Chip Revision Identification */
#define RT3883_SYSC_REG_SYSCFG0 0 x10 /* System Configuration 0 */
#define RT3883_SYSC_REG_SYSCFG1 0 x14 /* System Configuration 1 */
#define RT3883_SYSC_REG_CLKCFG0 0 x2c /* Clock Configuration 0 */
#define RT3883_SYSC_REG_CLKCFG1 0 x30 /* Clock Configuration 1 */
#define RT3883_SYSC_REG_RSTCTRL 0 x34 /* Reset Control*/
#define RT3883_SYSC_REG_RSTSTAT 0 x38 /* Reset Status*/
#define RT3883_SYSC_REG_USB_PS 0 x5c /* USB Power saving control */
#define RT3883_SYSC_REG_GPIO_MODE 0 x60 /* GPIO Purpose Select */
#define RT3883_SYSC_REG_PCIE_CLK_GEN0 0 x7c
#define RT3883_SYSC_REG_PCIE_CLK_GEN1 0 x80
#define RT3883_SYSC_REG_PCIE_CLK_GEN2 0 x84
#define RT3883_SYSC_REG_PMU 0 x88
#define RT3883_SYSC_REG_PMU1 0 x8c
#define RT3883_CHIP_NAME0 0 x38335452
#define RT3883_CHIP_NAME1 0 x20203338
#define RT3883_REVID_VER_ID_MASK 0 x0f
#define RT3883_REVID_VER_ID_SHIFT 8
#define RT3883_REVID_ECO_ID_MASK 0 x0f
#define RT3883_SYSCFG1_USB0_HOST_MODE BIT(10 )
#define RT3883_SYSCFG1_PCIE_RC_MODE BIT(8 )
#define RT3883_SYSCFG1_PCI_HOST_MODE BIT(7 )
#define RT3883_SYSCFG1_PCI_66M_MODE BIT(6 )
#define RT3883_SYSCFG1_GPIO2_AS_WDT_OUT BIT(2 )
#define RT3883_CLKCFG1_PCIE_CLK_EN BIT(21 )
#define RT3883_CLKCFG1_UPHY1_CLK_EN BIT(20 )
#define RT3883_CLKCFG1_PCI_CLK_EN BIT(19 )
#define RT3883_CLKCFG1_UPHY0_CLK_EN BIT(18 )
#define RT3883_GPIO_I2C_SD 1
#define RT3883_GPIO_I2C_SCLK 2
#define RT3883_GPIO_SPI_CS0 3
#define RT3883_GPIO_SPI_CLK 4
#define RT3883_GPIO_SPI_MOSI 5
#define RT3883_GPIO_SPI_MISO 6
#define RT3883_GPIO_7 7
#define RT3883_GPIO_10 10
#define RT3883_GPIO_11 11
#define RT3883_GPIO_14 14
#define RT3883_GPIO_UART1_TXD 15
#define RT3883_GPIO_UART1_RXD 16
#define RT3883_GPIO_JTAG_TDO 17
#define RT3883_GPIO_JTAG_TDI 18
#define RT3883_GPIO_JTAG_TMS 19
#define RT3883_GPIO_JTAG_TCLK 20
#define RT3883_GPIO_JTAG_TRST_N 21
#define RT3883_GPIO_MDIO_MDC 22
#define RT3883_GPIO_MDIO_MDIO 23
#define RT3883_GPIO_LNA_PE_A0 32
#define RT3883_GPIO_LNA_PE_A1 33
#define RT3883_GPIO_LNA_PE_A2 34
#define RT3883_GPIO_LNA_PE_G0 35
#define RT3883_GPIO_LNA_PE_G1 36
#define RT3883_GPIO_LNA_PE_G2 37
#define RT3883_GPIO_PCI_AD0 40
#define RT3883_GPIO_PCI_AD31 71
#define RT3883_GPIO_GE2_TXD0 72
#define RT3883_GPIO_GE2_TXD1 73
#define RT3883_GPIO_GE2_TXD2 74
#define RT3883_GPIO_GE2_TXD3 75
#define RT3883_GPIO_GE2_TXEN 76
#define RT3883_GPIO_GE2_TXCLK 77
#define RT3883_GPIO_GE2_RXD0 78
#define RT3883_GPIO_GE2_RXD1 79
#define RT3883_GPIO_GE2_RXD2 80
#define RT3883_GPIO_GE2_RXD3 81
#define RT3883_GPIO_GE2_RXDV 82
#define RT3883_GPIO_GE2_RXCLK 83
#define RT3883_GPIO_GE1_TXD0 84
#define RT3883_GPIO_GE1_TXD1 85
#define RT3883_GPIO_GE1_TXD2 86
#define RT3883_GPIO_GE1_TXD3 87
#define RT3883_GPIO_GE1_TXEN 88
#define RT3883_GPIO_GE1_TXCLK 89
#define RT3883_GPIO_GE1_RXD0 90
#define RT3883_GPIO_GE1_RXD1 91
#define RT3883_GPIO_GE1_RXD2 92
#define RT3883_GPIO_GE1_RXD3 93
#define RT3883_GPIO_GE1_RXDV 94
#define RT3883_GPIO_GE1_RXCLK 95
#define RT3883_RSTCTRL_PCIE_PCI_PDM BIT(27 )
#define RT3883_RSTCTRL_FLASH BIT(26 )
#define RT3883_RSTCTRL_UDEV BIT(25 )
#define RT3883_RSTCTRL_PCI BIT(24 )
#define RT3883_RSTCTRL_PCIE BIT(23 )
#define RT3883_RSTCTRL_UHST BIT(22 )
#define RT3883_RSTCTRL_FE BIT(21 )
#define RT3883_RSTCTRL_WLAN BIT(20 )
#define RT3883_RSTCTRL_UART1 BIT(29 )
#define RT3883_RSTCTRL_SPI BIT(18 )
#define RT3883_RSTCTRL_I2S BIT(17 )
#define RT3883_RSTCTRL_I2C BIT(16 )
#define RT3883_RSTCTRL_NAND BIT(15 )
#define RT3883_RSTCTRL_DMA BIT(14 )
#define RT3883_RSTCTRL_PIO BIT(13 )
#define RT3883_RSTCTRL_UART BIT(12 )
#define RT3883_RSTCTRL_PCM BIT(11 )
#define RT3883_RSTCTRL_MC BIT(10 )
#define RT3883_RSTCTRL_INTC BIT(9 )
#define RT3883_RSTCTRL_TIMER BIT(8 )
#define RT3883_RSTCTRL_SYS BIT(0 )
#define RT3883_INTC_INT_SYSCTL BIT(0 )
#define RT3883_INTC_INT_TIMER0 BIT(1 )
#define RT3883_INTC_INT_TIMER1 BIT(2 )
#define RT3883_INTC_INT_IA BIT(3 )
#define RT3883_INTC_INT_PCM BIT(4 )
#define RT3883_INTC_INT_UART0 BIT(5 )
#define RT3883_INTC_INT_PIO BIT(6 )
#define RT3883_INTC_INT_DMA BIT(7 )
#define RT3883_INTC_INT_NAND BIT(8 )
#define RT3883_INTC_INT_PERFC BIT(9 )
#define RT3883_INTC_INT_I2S BIT(10 )
#define RT3883_INTC_INT_UART1 BIT(12 )
#define RT3883_INTC_INT_UHST BIT(18 )
#define RT3883_INTC_INT_UDEV BIT(19 )
/* FLASH/SRAM/Codec Controller registers */
#define RT3883_FSCC_REG_FLASH_CFG0 0 x00
#define RT3883_FSCC_REG_FLASH_CFG1 0 x04
#define RT3883_FSCC_REG_CODEC_CFG0 0 x40
#define RT3883_FSCC_REG_CODEC_CFG1 0 x44
#define RT3883_FLASH_CFG_WIDTH_SHIFT 26
#define RT3883_FLASH_CFG_WIDTH_MASK 0 x3
#define RT3883_FLASH_CFG_WIDTH_8BIT 0 x0
#define RT3883_FLASH_CFG_WIDTH_16BIT 0 x1
#define RT3883_FLASH_CFG_WIDTH_32BIT 0 x2
#define RT3883_SDRAM_BASE 0 x00000000
#define RT3883_MEM_SIZE_MIN 2
#define RT3883_MEM_SIZE_MAX 256
#endif /* _RT3883_REGS_H_ */
Messung V0.5 in Prozent C=87 H=90 G=88
¤ Dauer der Verarbeitung: 0.24 Sekunden
(vorverarbeitet am 2026-06-07)
¤
*© Formatika GbR, Deutschland