GPIO
dump (メーカーブートローダからブートしたOpenWrt)
# for addr in $(seq 0 4 $((0x6f))); do ADDR=$((0x18040000 + addr)); ADDR=$(printf "0x%08x\n" $ADDR); VAL=$(devmem $ADDR 32); printf "$ADDR: $VAL\n"; done 0x18040000: 0x0003DB1F 0x18040004: 0x0017BA39 0x18040008: 0x00142000 0x1804000c: 0x00000000 0x18040010: 0x00000000 0x18040014: 0x00019808 0x18040018: 0x00000000 0x1804001c: 0x00000000 0x18040020: 0x00000000 0x18040024: 0x00019808 0x18040028: 0x000F8000 0x1804002c: 0x00000000 0x18040030: 0x0B0A0900 0x18040034: 0x00180000 0x18040038: 0x00000000 0x1804003c: 0x2F2E0000 0x18040040: 0x00000000 0x18040044: 0x00000908 0x18040048: 0x00000000 0x1804004c: 0x00000000 0x18040050: 0x00000C0B 0x18040054: 0x00000000 0x18040058: 0x00000000 0x1804005c: 0x00000000 0x18040060: 0x00000000 0x18040064: 0x0D0F110E 0x18040068: 0x00000000 0x1804006c: 0x00000002
GPIO_OE (0x0)
- output: GPIO 5-7, 10, 13, 18-22
- GPIO 18:
- input : GPIO 0-4, 8, 9, 11, 12, 14-17
GPIO_IN (0x4)
- val=0: 1, 2, 6-8, 10, 14, 19, 21, 22
- val=1: 0, 3-5, 9, 11-13, 15-18, 20
GPIO_OUT (0x8)
- val=0: 0-12, 14-17, 19, 21, 22
- val=1: 13, 18, 20
GPIO_SET (0xc)
(write-only)
GPIO_CLEAR (0x10)
(write-only)
GPIO_INT (0x14)
- enable : 3, 11, 12, 15, 16
- disable: 0-2, 4-10, 13, 14, 17-22
GPIO_INT_TYPE (0x18)
- edge : 0-22
- level: (none)
GPIO_INT_POLARITY (0x1c)
- LOW/FALLING: 0-22
- HIGH/RISING: (none)
GPIO_INT_PENDING (0x20)
- PENDING: (none)
- NONE : 0-22
GPIO_INT_MASK (0x24)
- mask: 3, 11, 12, 15, 16
- none: 0-2, 4-10, 13, 14, 17-22
GPIO_IN_ETH_SWITCH_LED (0x28)
(保留)
GPIO_OUT_FUNCTION0 (0x2c)
- gpio0: -
- gpio1: -
- gpio2: -
- gpio3: -
GPIO_OUT_FUNCTION1 (0x30)
- gpio4: -
- gpio5: SPI_CS_0
- gpio6: SPI_CLK
- gpio7: SPI_MOSI
GPIO_OUT_FUNCTION2 (0x34)
- gpio8: -
- gpio9: -
- gpio10: UART0_SOUT
- gpio11: -
GPIO_OUT_FUNCTION3 (0x38)
- gpio12: -
- gpio13: -
- gpio14: -
- gpio15: -
GPIO_OUT_FUNCTION4 (0x3c)
- gpio16: -
- gpio17: -
- gpio18: ATT_LED
- gpio19: PWR_LED
GPIO_OUT_FUNCTION (0x40)
- gpio20: -
- gpio21: -
- gpio22: -
GPIO_IN_ENABLE0 (0x44)
- SPI_DATA_IN: gpio8
- UART0_SIN : gpio9
GPIO_IN_ENABLE1 (0x48)
- I2SEXT_MCLK: -
- I2SEXTCLK : -
- I2S0_MIC_SD: -
- I2S0_WS : -
GPIO_IN_ENABLE2 (0x4c)
- ETH_RX_CRS: -
- ETH_RX_COL: -
- ETH_RX_ERR: -
GPIO_IN_ENABLE3 (0x50)
- BOOT_EXT_MDC: -
- BOOT_EXT_MDO: -
GPIO_IN_ENABLE4 (0x54)
- SLIC_PCM_FS_IN: -
- SLIC_DATA_IN : -
GPIO_IN_ENABLE9 (0x68)
- UART1_CTS: -
- UART1_RD : -
GPIO_FUNCTION (0x6c)
DISABLE_JTAG: Yes
PLL
dump (メーカーブートローダからブートしたOpenWrt)
root@OpenWrt:/# for addr in $(seq 0 4 $((0x48))); do ADDR=$((0x18050000 + addr)); ADDR=$(printf "0x%08x\n" $ADDR); VAL=$(devmem $ADDR 32); printf "$ADDR: $VAL\n"; done 0x18050000: 0x40021380 0x18050004: 0x40213000 0x18050008: 0x01308000 0x1805000c: 0x00000000 0x18050010: 0x40000400 0x18050014: 0xC009FFFE 0x18050018: 0x0009F33A 0x1805001c: 0x00000014 0x18050020: 0x00000000 0x18050024: 0x00000530 0x18050028: 0x0009BA0B 0x1805002c: 0x06000000 0x18050030: 0x000010B3 0x18050034: 0x0A47F028 0x18050038: 0x00004000 0x1805003c: 0x0523F828 0x18050040: 0x41020CCC 0x18050044: 0x78100000 0x18050048: 0x003C1000
PCIE_PLL_CONFIG (0x10)
- REFDIV : 1
- BYPASS : 0
- PLLPWD : 1
- UPDATING: 0
PCIE_PLL_DITHER_DIV_MAX (0x14)
- DIV_MAX_FRAC: 0x3FFF
- DIV_MAX_INT : 0x13
- USE_MAX : 1
- EN_DITHER : 1
PCIE_PLL_DITHER_DIV_MIN (0x18)
- DIV_MIN_FRAC: 0x399D
- DIV_MIN_INT : 0x13
PCIE_PLL_DITHER_STEP (0x1c)
- STEP_FRAC : 0xA
- STEP_INT : 0
- UPDATE_CNT: 0