1*4117f5ccSmiod /* $OpenBSD: voyagerreg.h,v 1.2 2010/02/26 14:53:11 miod Exp $ */ 2853bc193Smiod 3853bc193Smiod /* 4853bc193Smiod * Copyright (c) 2010 Miodrag Vallat. 5853bc193Smiod * 6853bc193Smiod * Permission to use, copy, modify, and distribute this software for any 7853bc193Smiod * purpose with or without fee is hereby granted, provided that the above 8853bc193Smiod * copyright notice and this permission notice appear in all copies. 9853bc193Smiod * 10853bc193Smiod * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11853bc193Smiod * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12853bc193Smiod * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13853bc193Smiod * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14853bc193Smiod * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15853bc193Smiod * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16853bc193Smiod * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17853bc193Smiod */ 18853bc193Smiod 19853bc193Smiod /* 20853bc193Smiod * Silicon Motion SM501/SM502 registers 21853bc193Smiod */ 22853bc193Smiod 23*4117f5ccSmiod #define SM5XX_MMIO_BASE 0x000000 24853bc193Smiod 25*4117f5ccSmiod #define VOYAGER_SYSTEM_CONTROL 0x000000 26*4117f5ccSmiod #define VSC_DPMS_VSYNC_DISABLE 0x80000000 27*4117f5ccSmiod #define VSC_DPMS_HSYNC_DISABLE 0x40000000 28*4117f5ccSmiod #define VSC_COLOR_CONVERSION_BUSY 0x10000000 29853bc193Smiod #define VSC_FIFO_EMPTY 0x00100000 30*4117f5ccSmiod #define VSC_2DENGINE_BUSY 0x00080000 31*4117f5ccSmiod #define VSC_2DENGINE_ABORT 0x00003000 /* not a typo */ 32*4117f5ccSmiod #define VOYAGER_MISC_CONTROL 0x000004 33*4117f5ccSmiod #define VOYAGER_GPIOL_CONTROL 0x000008 34*4117f5ccSmiod #define VOYAGER_GPIOH_CONTROL 0x00000c 35*4117f5ccSmiod #define VOYAGER_DRAM_CONTROL 0x000010 36*4117f5ccSmiod #define VOYAGER_ARB_CONTROL 0x000014 37*4117f5ccSmiod 38*4117f5ccSmiod #define VOYAGER_COMMANDLIST_CONTROL 0x000018 39*4117f5ccSmiod #define VOYAGER_COMMANDLIST_CONDITION 0x00001c 40*4117f5ccSmiod #define VOYAGER_COMMANDLIST_RETURN 0x000020 41*4117f5ccSmiod #define VOYAGER_COMMANDLIST_STATUS 0x000024 42*4117f5ccSmiod 43*4117f5ccSmiod #define VOYAGER_RAW_ISR 0x000028 44*4117f5ccSmiod #define VOYAGER_RAWINTR_ZV1 6 45*4117f5ccSmiod #define VOYAGER_RAWINTR_USB_PLUGIN 5 46*4117f5ccSmiod #define VOYAGER_RAWINTR_ZV0 4 47*4117f5ccSmiod #define VOYAGER_RAWINTR_CRT_VSYNC 3 48*4117f5ccSmiod #define VOYAGER_RAWINTR_USB_SLAVE 2 49*4117f5ccSmiod #define VOYAGER_RAWINTR_PANEL_VSYNC 1 50*4117f5ccSmiod #define VOYAGER_RAWINTR_COMMAND_INTERPRETER 0 51*4117f5ccSmiod #define VOYAGER_RAW_ICR 0x000028 52*4117f5ccSmiod #define VOYAGER_ISR 0x00002c 53*4117f5ccSmiod #define VOYAGER_INTR_USB_PLUGIN 31 54*4117f5ccSmiod #define VOYAGER_INTR_GPIO54 30 55*4117f5ccSmiod #define VOYAGER_INTR_GPIO53 29 56*4117f5ccSmiod #define VOYAGER_INTR_GPIO52 28 57*4117f5ccSmiod #define VOYAGER_INTR_GPIO51 27 58*4117f5ccSmiod #define VOYAGER_INTR_GPIO50 26 59*4117f5ccSmiod #define VOYAGER_INTR_GPIO49 25 60*4117f5ccSmiod #define VOYAGER_INTR_GPIO48 24 61*4117f5ccSmiod #define VOYAGER_INTR_I2C 23 62*4117f5ccSmiod #define VOYAGER_INTR_PWM 22 63*4117f5ccSmiod #define VOYAGER_INTR_DMA 20 64*4117f5ccSmiod #define VOYAGER_INTR_PCI 19 65*4117f5ccSmiod #define VOYAGER_INTR_I2S 18 66*4117f5ccSmiod #define VOYAGER_INTR_AC97 17 67*4117f5ccSmiod #define VOYAGER_INTR_USB_SLAVE 16 68*4117f5ccSmiod #define VOYAGER_INTR_UART1 13 69*4117f5ccSmiod #define VOYAGER_INTR_UART0 12 70*4117f5ccSmiod #define VOYAGER_INTR_CRT_VSYNC 11 71*4117f5ccSmiod #define VOYAGER_INTR_8051 10 72*4117f5ccSmiod #define VOYAGER_INTR_SSP1 9 73*4117f5ccSmiod #define VOYAGER_INTR_SSP0 8 74*4117f5ccSmiod #define VOYAGER_INTR_USB_HOST 6 75*4117f5ccSmiod #define VOYAGER_INTR_ZV1 4 76*4117f5ccSmiod #define VOYAGER_INTR_2DENGINE 3 77*4117f5ccSmiod #define VOYAGER_INTR_ZV0 2 78*4117f5ccSmiod #define VOYAGER_INTR_PANEL_VSYNC 1 79*4117f5ccSmiod #define VOYAGER_INTR_COMMAND_INTERPRETER 0 80*4117f5ccSmiod #define VOYAGER_IMR 0x000030 81*4117f5ccSmiod #define VOYAGER_DEBUG 0x000034 82*4117f5ccSmiod 83*4117f5ccSmiod #define VOYAGER_PM_CURRENT_GATE 0x000038 84*4117f5ccSmiod #define VOYAGER_PM_CURRENT_CLOCK 0x00003c 85*4117f5ccSmiod #define VOYAGER_PM_MODE0_GATE 0x000040 86*4117f5ccSmiod #define VOYAGER_PM_MODE0_CLOCK 0x000044 87*4117f5ccSmiod #define VOYAGER_PM_MODE1_GATE 0x000048 88*4117f5ccSmiod #define VOYAGER_PM_MODE1_CLOCK 0x00004c 89*4117f5ccSmiod #define VOYAGER_PM_SLEEP_GATE 0x000050 90*4117f5ccSmiod #define VOYAGER_PM_CONTROL 0x000054 91*4117f5ccSmiod 92*4117f5ccSmiod #define VOYAGER_MASTER_PCI_BASE 0x000058 93*4117f5ccSmiod #define VOYAGER_ENDIAN_CONTROL 0x00005c 94*4117f5ccSmiod #define VOYAGER_DEVICE_ID 0x000060 95*4117f5ccSmiod #define VOYAGER_PLL_COUNT 0x000064 96*4117f5ccSmiod #define VOYAGER_MISC 0x000068 97*4117f5ccSmiod #define VOYAGER_SDRAM_CLOCK 0x00006c 98*4117f5ccSmiod #define VOYAGER_NON_CACHE_ADDRESS 0x000070 99*4117f5ccSmiod #define VOYAGER_PLL_CONTROL 0x000074 100853bc193Smiod 101853bc193Smiod /* 102853bc193Smiod * GPIO 103853bc193Smiod */ 104853bc193Smiod 105*4117f5ccSmiod #define VOYAGER_GPIO_DATA_LOW 0x010000 106*4117f5ccSmiod #define VOYAGER_GPIO_DATA_HIGH 0x010004 107*4117f5ccSmiod #define VOYAGER_GPIO_DIR_LOW 0x010008 108*4117f5ccSmiod #define VOYAGER_GPIO_DIR_HIGH 0x01000c 109853bc193Smiod 110*4117f5ccSmiod /* 111*4117f5ccSmiod * OHCI 112*4117f5ccSmiod */ 113*4117f5ccSmiod 114*4117f5ccSmiod #define VOYAGER_OHCI_BASE 0x040000 115*4117f5ccSmiod #define VOYAGER_OHCI_SIZE 0x020000 116