- 23 Jun, 2010 1 commit
-
-
Jeffrey Lee authored
Update OMAP3 HAL to use correct instruction/memory barrier operations and to handle branch target predictors Detail: hdr/Copro15ops - Added myISB, myDSB, myDMB macros to provide barrier functionality for ARMv6+ s/Boot, s/Interrupts, s/RAM, s/Top, s/Video - updated to use correct barrier operations after CP15 writes, and to invalidate branch predictors where appropriate Admin: Tested on rev C2 beagleboard Version 0.28. Tagged as 'OMAP3-0_28'
-
- 03 Apr, 2010 1 commit
-
-
Jeffrey Lee authored
Detail: hdr/Interrupts - moved MPU_INTC values into hdr/omap3530 hdr/omap3530 - Revised L3_Size, L4_Size, etc. so that they indicate the size of the used area of the interconnects, rather than the size of the address space s/Boot - reworked HAL setup to take into account the fact that mapping in L4_Core no longer maps in L4_Wakeup and MPU_INTC. Also fixed DevKit NIC setup to request correct IO space size Admin: Tested on rev C2 beagleboard. Should now use ~4MB of IO space instead of >=33MB Version 0.27. Tagged as 'OMAP3-0_27'
-
- 28 Mar, 2010 1 commit
-
-
Jeffrey Lee authored
Detail: s/GPIO - Fixed use of invalid 'MSR <psr>,<rn>,<shift>' instruction in GPIOx_SetAndEnableIRQ. Fixed PSR flags that are used to calculate LEVELDETECT0 value. s/NIC - Fixed NICActivate to load NICGPIO_Mode before the HAL device ptr gets clobbered Admin: Tested on rev C2 beagleboard, using IGEP config. NICActivate now appears to configure the GPIO controller properly. Version 0.26. Tagged as 'OMAP3-0_26'
-
- 20 Mar, 2010 2 commits
-
-
Jeffrey Lee authored
Detail: s/Boot, s/GPIO - Added some basic GPIO init code, to make sure there aren't any unexpected GPIO IRQs active Admin: Tested on rev C2 beagleboard. Version 0.25. Tagged as 'OMAP3-0_25'
-
Jeffrey Lee authored
Detail: s/GPMC, hdr/GPMC, hdr/StaticWS - basic code to reset the GPMC and configure chip selects s/NIC, hdr/NIC, hdr/StaticWS - code to expose any onboard NICs (SMSC9221, DM9000) to RISC OS as simple HAL devices. Makefile - added GPMC & NIC source files s/board, hdr/board - Expanded board config struct to include a pointer to extra code to call at the end of HAL_InitDevices, to allow board-specific devices to be initialised s/boot - Extra HAL_InitDevices code to set up the NICs on the IGEP/DevKit s/GPIO, hdr/GPIO - Improved functionality to allow GPIO IRQs to be used s/SDMA, s/Video - Tweaked the HAL device descriptors to indicate that the devices are on the L3 interconnect Admin: Tested on rev C2 beagleboard. IGEP/DevKit entry points booted OK, but no attempts were made to look for or interact with the new HAL devices! Version 0.24. Tagged as 'OMAP3-0_24'
-
- 28 Feb, 2010 1 commit
-
-
Jeffrey Lee authored
Detail: hdr/StaticWS, hdr/Video, hdr/board, hdr/omap3530, s/Boot, s/Video, s/board - Add new HALDoesVideo switch to control whether the HAL provides the video driver or whether a HAL device is used to expose the video hardware to the OMAPVideo module. Switch defaults to the 'off' state, i.e. OMAPVideo provides the video driver. Also updated the board config struct to contain more detailed information about the video capabilities of each board. s/Audio - fix the FIFO underflow/overflow IRQ handler to disable the IRQ after the underflow/overflow has been detection. This prevents the OS from (potentially) getting stuck in a loop servicing the interrupt and never reaching the state where it can shut down & re-initialise the audio to fix the error properly. s/Debug - add DebugCallstack function that disables IRQs/FIQs and dumps the stack contents over the serial port Admin: Tested on rev C2 beagleboard. Version 0.23. Tagged as 'OMAP3-0_23'
-
- 31 Jan, 2010 1 commit
-
-
Jeffrey Lee authored
Detail: s/board - DevKit8000 USBGPIO setting has been changed from 255 (none) to GPIO 147. I'm still not convinced that GPIO147 is connected to anything, but if it works with that setting then we might as well use it. Admin: Untested; but according to Tank it makes USB work. Version 0.22. Tagged as 'OMAP3-0_22'
-
- 30 Jan, 2010 1 commit
-
-
Jeffrey Lee authored
Various OMAP3 HAL power management improvements, plus add support for board config autodetection via Linux machine ID Detail: s/board, hdr/board - Add Linux machine ID & available mixer channels to board config table s/Top - Add new entry point at offset &64, for booting as a fake Linux kernel. Searches the board config table until it finds a config matching the machine ID passed in R1. Also minor ROM copy optimisation, unsigned pointer comparison fixes s/Audio, hdr/Audio - Use board config to lock-out mixer channels that aren't connected to any hardware, to avoid excessive power drain or other problems if the channels get turned on. Also perform many other setting tweaks to tidy up default settings for unused mixer paths/channels. s/Video - Fix Video_Init logic when deciding whether to reset DSS, enable DSI PLL drift guard s/I2C - Increase I2C timeout values, since the previous values were perhaps a bit low s/Audio, s/I2C, s/Interrupts, s/RAM, s/SDMA, s/Timers, s/UART, hdr/UART, s/USB, s/Video - Enable autoidle/smart idle where possible to help save power. Admin: Tested on rev C2 beagleboard Version 0.21. Tagged as 'OMAP3-0_21'
-
- 24 Jan, 2010 2 commits
-
-
Jeffrey Lee authored
Detail: PRCM.s - This file missed my checkin last night. Contains some rather important code that was moved there from USB.s, for initialising DPLL5. Admin: Tested on rev C2 beagleboard. HAL code in CVS should now match what's on my machine! Version 0.20. Tagged as 'OMAP3-0_20'
-
Jeffrey Lee authored
Update OMAP HAL to support different board configs, plus use new YearLOIsGood flag to ensure correct RTC handling, plus other misc tidying Detail: The OMAP HAL now has multiple entry points, one per board config. See Top.s/board.s for more info. audio.s - Moved APLL_CTL value to board config board.s - New file to list all the settings for the different board configs boot.s - Change HAL_Init to deal with the new board config stuff debug.s - Debug UART now specified in board config GPIO.s - A few utility functions for handling OMAP/TPS GPIO pins I2C.s - Update to use new board config struct RAM.s - Disable the beagleboard-specific RAM init code. Instead we'll just rely on u-boot to initialise all our RAM for us. RTC.s - Get rid of the magic numbers, and use the YearLOIsGood flag to indicate to RISC OS that YearLO is 2-digit BCD Top.s - Got rid of old debug code and rewrote initial flow to handle detecting & storing the board config UART.s - Update to use board config struct, support multiple UARTs USB.s - Get EHCI PHY power GPIO from board config Video.s - Get DVI framer power GPIO and max pixel rate from board config. Add 'PassiveVideo' option, to build a driver that doesn't alter the video output settings - should hopefully result in a usable display on Touch Book, etc. board.hdr - Definition of board config table struct GPIO.hdr - Add lots of macros for handling OMAP GPIO pins, new constants for OMAP/TPS GPIO I2C.hdr - Added I2C transfer block struct, HAL I2C API transfer states (both moved here from other source files) omap3530.hdr - Move/remove some unwanted constants, disable DebugChar for now StaticWS.hdr - Move I2C transfer block struct to I2C.hdr, add board config struct to HAL workspace, get rid of unused 64K AllocArea Timers.hdr - Tidy up constants a bit UART.hdr - Add UARTCLK (moved from StaticWS.hdr), UART IRQ #'s Makefile - add GPIO.s Admin: Tested on rev C2 beagleboard. Board configs for other board types may be inaccurate in a couple of places. Version 0.19. Tagged as 'OMAP3-0_19'
-
- 16 Jan, 2010 1 commit
-
-
Jeffrey Lee authored
Detail: hdr/Audio, s/Audio, Makefile, hdr/StaticWS, s/Boot - Add sound support to OMAP3 HAL. Should work with a TPS65950 connected to I2C1/McBSP2, as per beagleboard. s/TPS, s/RTC - Moved TPSRead, TPSWrite functions out of s/RTC and into their own file hdr/SDMA, s/SDMA - Add support for packet-based transfer (for audio), improve debug code, remove TestRAMToRAM test code s/I2C - Update to handle spurious RDR interrupts as mentioned in OMAP3 errata s/Video - Enable support for the larger porch & sync timing registers found in OMAP3 ES3.1 and above Admin: Tested on rev C2 beagleboard Version 0.18. Tagged as 'OMAP3-0_18'
-
- 29 Nov, 2009 1 commit
-
-
Jeffrey Lee authored
Detail: I guess I didn't test this after all. Admin: Tested on rev C2 beagleboard. (No, really, I mean it this time!) Version 0.17. Tagged as 'OMAP3-0_17'
-
- 28 Nov, 2009 1 commit
-
-
Jeffrey Lee authored
Detail: Boot.s - Make FIQDebug work again Boot.s - Add support for DMA & video devices Interrupts.s, hdr/omap3530 - Add 'ExtraDebugInterrupts' option hdr/SDMA, SDMA.s, Makefile - DMA code which presents itself to RISC OS as a set of single-buffered, interrupt-driven DMA channels. hdr/StaticWS - Add extra DMA, video & debug entries to workspace Interrupts.s - Add 'DebugDisablePrevious' debug option for more flexibility in tracking down noncleared IRQs with ExtraDebugInterrupts RAM.s - Use DMA to clear RAM on boot. RAM clear now takes less than 1 second on a rev C board, whereas before it used to take several. Video.s - Add simple HAL device to expose information needed by upcoming RISC OS module based video driver. Admin: Tested on rev C2 beagleboard. Version 0.16. Tagged as 'OMAP3-0_16'
-
- 07 Nov, 2009 1 commit
-
-
Jeffrey Lee authored
Detail: The code which checks if you've just disabled the active interrupt was broken and was dereferencing a bad pointer, causing (a) bad things, and (b) failure when alignment exceptions are turned on. This change fixes that, so the change I checked in a couple of hours ago won't cause the OS to crash anymore! Admin: Tested on rev C2 beagleboard. Version 0.15. Tagged as 'OMAP3-0_15'
-
- 27 Oct, 2009 1 commit
-
-
Jeffrey Lee authored
Detail: This implementation only supports resets - for power-off a more complex implementation will be required (involving talking to the TPS over I2C, AFAIK). Admin: Tested on rev C2 beagleboard Version 0.14. Tagged as 'OMAP3-0_14'
-
- 23 Jul, 2009 1 commit
-
-
Jeffrey Lee authored
Detail: s/RTC - Implementation of new HAL RTC API. Uses the RTC built into the TWL/TPS companion chip. s/Boot - Initialise RTC HALDevice s/I2C - Add workaround for apparent hardware limitation of the OMAP I2C controllers; where appropriate multiple iic_transfers will now be merged together into one transfer, to ensure that a start bit is always sent at the start of each transfer hdr/omap3530 - Tweak DebugReg and DebugRegByte to allow LR to be output Makefile - add s.RTC to list of files. Fix GPADBG definition to not conflict with the 'gpa' folder that one of the makefile fragments creates. Admin: Tested on rev C2 beagleboard Version 0.13. Tagged as 'OMAP3-0_13'
-
- 17 Jul, 2009 1 commit
-
-
Jeffrey Lee authored
Detail: Makefile, s/Boot, s/I2C, hdr/I2C, hdr/StaticWS - Adds I2C support to the OMAP3 HAL, via both HAL_IIC* and HAL_Video_IICOp. s/Interrupts - Fix bug causing incorrect clearing of FIQs s/Debug, s/Boot, hdr/omap3530 - Improve debugging code, and add simple FIQ debugger that outputs the PC to the serial port when the beagleboard USER button is pressed s/Stubs - Remove old stub functions Admin: Tested on rev C2 beagleboard Version 0.12. Tagged as 'OMAP3-0_12'
-
- 02 Jul, 2009 1 commit
-
-
Jeffrey Lee authored
Detail: hdr/StaticWS, s/Boot - Store logical address of OTG controller hdr/USB, s/USB - Expose OTG controller by HAL_USBControllerInfo API Admin: Tested on Rev C2 beagleboard Version 0.11. Tagged as 'OMAP3-0_11'
-
- 11 Jun, 2009 1 commit
-
-
Ben Avison authored
Detail: Uses suffixed file extensions for compatiblity with both objasm and asasm. Admin: Supplied by Peter Naulls, tested at ROOL Version 0.10. Not tagged
-
- 13 May, 2009 1 commit
-
-
Jeffrey Lee authored
Detail: hdr/StaticWS - Add entries for max porch & sync values, in anticipation of future OMAP revisions increasing the limits from 8/6 bits to 12/8 bits. hdr/omap3530 - Add entry for CONTROL_IDCODE register for reading silicon revision s/Video - Increase max pixel rate from 65MHz to 75MHz (86.5MHz seems unstable). Add support for different max porch/sync values depending on hardware revision (currently disabled). Make mode change code more robust to try and fix corruption seen when changing mode too many times. Improve HAL_Video_VetMode to check for (HFP+HSW+HBP)*PCD > 8 limitation. Add a bit more debug code. Admin: Tested on rev C2 beagleboard. Version 0.10. Tagged as 'OMAP3-0_10'
-
- 10 May, 2009 1 commit
-
-
Jeffrey Lee authored
Detail: s/Video - Rewritten pointer image update code to correctly read data from RISC OS's 32 pixel wide cursor buffer. Admin: Tested on rev C2 beagleboard. Hourglass now appears properly! Version 0.09. Tagged as 'OMAP3-0_09'
-
- 09 May, 2009 1 commit
-
-
Jeffrey Lee authored
Detail: Makefile - added USB to objects list s/Boot, s/USB, hdr/StaticWS, hdr/USB - USB EHCI code s/Debug, s/Stubs, s/Timers, s/Top, s/UART, s/Video - Debugging tweaks and header dependency fixes s/Interrupts, hdr/omap3530 - Interrupt fixes & debugging code hdr/PRCM - typo fix Admin: Tested on rev C2 beagleboard Version 0.08. Tagged as 'OMAP3-0_08'
-
- 23 Apr, 2009 1 commit
-
-
Jeffrey Lee authored
Detail: s/Top - Fix cache clean code to iterate sets/ways/cache levels correctly Admin: Tested on rev C2 beagleboard Version 0.07. Tagged as 'OMAP3-0_07'
-
- 22 Apr, 2009 1 commit
-
-
Jeffrey Lee authored
Detail: Makefile - Enable compilation of s.video hdr/StaticWS - New workspace entries for video support hdr/Video - Typo fix, VENC registers s/Boot - Change initialisation order for video support s/Debug - Added DebugMemDump routine s/RAM - Added code to verify RAM config, to avoid crash if a board looks like a revision C but doesn't have the extra RAM s/Stubs - Disable stub video functions s/Video - Working video code, beginnings of TV-out code Admin: Tested on rev C2 beagleboard. Video code may only function correctly if kernel is loaded via u-boot. Version 0.06. Tagged as 'OMAP3-0_06'
-
- 10 Apr, 2009 1 commit
-
-
Jeffrey Lee authored
Detail: s/RAM - Added v4 to register list in RAM clear routines to ensure correct amount of RAM is cleared Admin: Tested on Rev C2 beagleboard Version 0.05. Tagged as 'OMAP3-0_05'
-
- 08 Apr, 2009 1 commit
-
-
Jeffrey Lee authored
Detail: s/Boot - Fixes for rev C beagleboard. Added GPIO code. s/Debug - DebugHALPrint, DebugHALPrintReg routines s/PRCM - PRCM_GetFreqSel added s/RAM - Fixes for rev C beagleboard. Sped up RAM clear by using more regs. s/Top - Fixes for rev C beagleboard s/Video - Video code potentially complete, but full of bugs and so still disabled. hdr/GPIO - Added GPIO registers hdr/omap3530 - Fixes for rev C beagleboard, GPIO, debug macros, QEMU support for new video code hdr/SDRC - Typo fix hdr/StaticWS - GPIO, pixel rate entries added hdr/Video - DSI PLL registers added Admin: Tested on rev C beagleboard. Version 0.04. Tagged as 'OMAP3-0_04'
-
- 06 Mar, 2009 1 commit
-
-
Jeffrey Lee authored
Detail: s/Boot - Store some workspace vars used by video code. Disable some debug output. s/Interrupts - Update HAL_IRQClear to allow clearing of VSync IRQ s/Top - Fix CP15 flags s/Video - Implemented majority of video code needed by kernel. Correct code for calculating and programming pixel clocks still required, so code remains disabled by default. hdr/PRCM - Correct typo hdr/StaticWS - Add video-related workspace entries hdr/Video - Add constants for mouse pointer image buffer size Admin: Tested under qemu-omap3 and rev B6 beagleboard. Version 0.03. Tagged as 'OMAP3-0_03'
-
- 21 Feb, 2009 1 commit
-
-
Jeffrey Lee authored
Detail: Makefile - add s.PRCM to objects s/Boot - Call PRCM_SetClocks during HAL_Init. Added (disabled) debugging code. s/Interrupts - Updated HAL_IRQSource, HAL_FIQSource to query ARM interrupt state instead of relying on INTC alone to detect whether an interrupt is firing or not. s/PRCM - Code to measure system clock frequency, store it for HAL purposes, and notify the OMAP of the frequency in order to ensure correct operation. s/Timers - Use measured system clock frequency as the timer frequency instead of hard-coded value. Return correct values from HAL_TimerPeriod. s/Top - Added (disabled) debugging code. Updated ARM initialisation to use correct cache cleaning procedure. s/Video - Further minor work towards completing video driver. hdr/CoPro15ops - Deprecate ARM_flush_* macros hdr/PRCM - Add more register addresses hdr/StaticWS - Add entried for PowerMan & 32K timer logical addresses, system clock speed hdr/Timers - remove incorrect, hard-coded timer frequency hdr/omap3530 - remove unused FlashCheck global, add DebugChar macro Admin: Tested with HALTester and the RISC OS kernel using qemu-omap3. Tested with HALTester on a rev. B6 beagleboard. Version 0.02. Tagged as 'OMAP3-0_02'
-
- 01 Feb, 2009 1 commit
-
-
Jeffrey Lee authored
Detail: Performs startup procedure suitable for any location in ROM or RAM. UART, timer, counter, interrupt & debug functionality implemented. Video support incomplete and nonfunctional. Admin: Tested with HALTester & RISC OS kernel under qemu-omap3 Version 0.01. Tagged as 'OMAP3-0_01'
-
- 27 Jan, 2009 1 commit
-
-
Ben Avison authored
Detail: The code does nothing (an infinite loop) but the Makefile implements all necessary phases of a ROM build. Admin: Used in a test build. Version 0.00. Not tagged
-