- 07 Jan, 2012 1 commit
-
-
Robert Sprowson authored
To avoid conflicting use of the SDIO controller by higher level filing system (and the need for a HAL to somehow ask for a disc to be reinserted) this HAL onwards supports hardware CMOS attached via the JTAG connector. On power up the presence and size of EEPROM is detected (sizes from 256 to 2048 bytes are understood corresponding to 24AA02 to 24AA16 family of parts). If no EEPROM is found the HAL falls back to permitting a CMOS file to be loaded off the SD card, but crucially this is done by uboot before FileCore starts. If no EEPROM is found, or the CMOS file looks suspicious, some fake CMOS is made and the kernel defaults used. The "ProbeEESize" switch enables size probing, otherwise 256 bytes is assumed. The "TryLoadedCMOS" switch enables use of a CMOS file from the SD card, if that's off and nothing is found the HAL declares that there is no CMOS at all! The respective boot script needs the line fatload mmc 0:1 0x4020F000 cmos adding to it...
-
- 12 Dec, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: s/Audio - Fixed the pop when disabling the headset output by making sure we wait for the correct amount of time after enabling/disabling the anti-pop ramp. Tweaked the anti-pop ramp time so toggling the output on & off (e.g. when changing sample rate) will only take 0.3s instead of 1.3s! Admin: Tested on rev A2 BB-xM Version 0.55. Tagged as 'OMAP3-0_55'
-
- 11 Dec, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: c/NVMem - Fixed NVMem_C_write() to skip creating a CMOS file if the directory is full c/fat - Fixed FindDirectoryEntry() to ensure short_name[] is always terminated properly s/NVMemory - Only update the CMOS file if bytes have changed s/Boot - Fixed beagleboard revision detection GPIOs not being configured correctly Admin: Tested on rev A2 BB-xM Version 0.54. Tagged as 'OMAP3-0_54'
-
- 04 Dec, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: hdr/board, s/Boot, s/Top, s/board - Added preliminary support for OMAP3 EVM boards. Only generation 2 boards are supported at the moment. s/UART - Fixed HAL_UARTModemControl to pay attention to the 'mask' parameter Admin: Tested on rev A2 BB-xM. EVM support might not be fully working. Version 0.52. Tagged as 'OMAP3-0_52'
-
- 29 Nov, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: hdr/UART - Added a couple more register addresses, removed incorrect FIFO64 flag hdr/omap3530 - Corrected UART 2 address s/Boot - Ensure we perform phys2log address conversion for all UART addresses, not just the first 3. Also avoid resetting the debug UART. s/UART - Fix HAL UART calls to obey the programming rules laid out in the TRM s/board - Change the order in which the UARTs are exposed to RISC OS so that they match the hardware order. HAL UART 0 is now OMAP UART1, etc. Admin: Tested on rev A2 BB-xM Version 0.51. Tagged as 'OMAP3-0_51'
-
- 06 Nov, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: Makefile - fixed warning about StdRules being included twice (via CModule) c/NVMem, c/fat, h/NVMem, h/common, h/fat, hdr/StaticWS, s/NVMemory, s/RTC - Added Dave Higton's code to create/update the 'CMOS' file on NVRAM writes Admin: Tested on rev A2 BB-xM Version 0.50. Tagged as 'OMAP3-0_50'
-
- 12 Sep, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: hdr/Copro15ops - Correct encoding of ISH/ISHST variants of DMB/DSB instructions s/Top - Use RISCOS_InitARM to initialise the CPU instead of the (now out of date) custom code. Admin: Tested on rev A2 BB-xM Version 0.49. Tagged as 'OMAP3-0_49'
-
- 31 Jul, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: hdr/board - Add information about determining the IGEP board revision hdr/StaticWS - Add workspace for storing the GPIO HAL device s/board - Update BeagleBoard entry to have a custom HAL device init func s/Boot - Fix HAL_Init to not configure GPIOs 171-173 if not running on a beagleboard. Update HAL_InitDevices to preserve the right registers and initialise the GPIO devices where appropriate. s/GPIO - Added GPIO_InitDevice function to do the actual initialisation Admin: Tested on rev A2 BB-xM Version 0.48. Tagged as 'OMAP3-0_48'
-
- 24 Jul, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: s/GPIO - GPIO_Init was broken and causing (silent) data aborts instead of clearing the GPIO module IRQ enable flags. Admin: Tested on rev A2 BB-xM. Fixes issue reported by Willi Theiss. Version 0.47. Tagged as 'OMAP3-0_47'
-
- 30 May, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: s/Audio - Added a timeout to the loop which waits for the McBSP FIFO to fill when starting the audio system. Admin: This fixes the hang which can often occur if/when interrupts become enabled for any period of time during Service_PreReset. Tested on rev C2 beagleboard. Version 0.46. Tagged as 'OMAP3-0_46'
-
- 25 May, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: s/GPIO - The OMAP HAL now takes steps to make sure that the TPS GPIO controller is enabled, and that any GPIO-LEDs have the correct PWM settings. The TPS GPIO pull up/down settings are also initialised for the beagleboard. Admin: Tested on rev C2 BB, A2 BB-xM, C BB-xM, C1 TouchBook Version 0.45. Tagged as 'OMAP3-0_45'
-
- 23 May, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: hdr/board - Definitions for GPIO values used to detect beagleboard revision s/Boot - Added code to detect BB revision via GPIO lines, in order to determine the correct setting for the TPS pin which controls the EHCI power Admin: Tested on BB rev C2, BB-xM rev A2. BB xM rev C should work now! Version 0.44. Tagged as 'OMAP3-0_44'
-
- 22 May, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: Makefile, s/KdbScan, hdr/StaticWS - Code to handle keyboard scanning, via the new HAL build of the USB drivers. s/Stubs - Removed old stub keyboard scan routines s/CPUClk - ADR -> ADRL to cope with new workspace layout s/Boot, s/Top, hdr/Post - Modified to use new HALSize variable for determining the HAL size. Trimmed dead code/definitions. s/Boot - FIQDebug code now copes with the different USER button GPIO used on the BB-xM s/board - Increased max pixel rate from 86.5MHz to 100MHz. This allows a wider range of screen modes to be used, although it is beyond the spec of the video controller, and not all boards will be able to reach 100MHz. This should match the value used in the initial ARMini units. Admin: Tested on rev C2 BB, A2 BB-xM, C1 TouchBook Needs latest USB drivers, Kernel source, BuildSys & Env (not all of which have been checked in yet) Version 0.43. Tagged as 'OMAP3-0_43'
-
- 20 Mar, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: s/I2C - The IIC driver now flushes the RX & TX FIFOs before each transfer. This ensures the correct data is sent/received following certain errors (e.g. NACK) Admin: Tested on rev C1 TouchBook Version 0.42. Tagged as 'OMAP3-0_42'
-
- 19 Mar, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: Makefile, s/CPUClk, hdr/CPUClk, s/Boot, hdr/StaticWS - Provide an implementation of the new HALDevice_CPUClk HAL device. Allows OMAP35x and DM37x CPU's to be set to any of the standard OPPs as listed in the datasheets. Doesn't yet support 1GHz on DM37x. hdr/NIC, hdr/PRCM, hdr/omap3530, s/TPS - Misc additions/tweaks/fixes. Admin: Tested on rev C2 BB, A2 BB-xM, C1 TouchBook Requires latest PortableHAL & Kernel Version 0.41. Tagged as 'OMAP3-0_41'
-
- 20 Feb, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: s/Boot - Added support for the new HAL_ExtMachineID call, and changed HAL_MachineID to return 0's Admin: Tested on rev A2 BB-xM Version 0.40. Tagged as 'OMAP3-0_40'
-
- 19 Feb, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: s/I2C - Changed HAL_Video_IICOp to call RISCOS_IICOpV instead of using its own polling based transfer loop. Updated IIC_DoOp_Poll to work with multiple buses. s/board - Allow the OS to see the video IIC buses now that any transfers on them will be using OS_IICOp's queueing/re-entrancy code Admin: Tested on rev A2 BB-xM Version 0.39. Tagged as 'OMAP3-0_39'
-
- 23 Jan, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: c/NVMem, c/fat, h/NVMem, h/common, h/fat - C code for reading a 'CMOS' file off the SD card on boot, for use as a CMOS RAM image c/CLib - Added extra functions needed by the SD/MMC driver s/NVMemory - Implementation of the HAL NVRAM API, for reading/writing the loaded CMOS file. The read/write functions handle RISC OS's CMOS address mangling, so that CMOS files saved by *SaveCMOS can be used as-is. hdr/StaticWS - Updated with workspace needed by the new code s/Boot - Initialise the CMOS cache on boot s/Stubs - Removed the stub NVRAM function Makefile - Added the new files Admin: Tested on rev A2 BB-xM. Version 0.38. Tagged as 'OMAP3-0_38'
-
- 04 Dec, 2010 1 commit
-
-
Jeffrey Lee authored
Detail: s/RTC - RISC OS will set the time members and/or the date members of the RTCTimeStruct to -1 when it doesn't want them updating. So skip writing those entries to the RTC if they're not meant to be updated! Admin: Tested on rev C2 beagle. Fixes issue reported on forums with setting date from BASIC: http://www.riscosopen.org/forum/forums/4/topics/521 Version 0.37. Tagged as 'OMAP3-0_37'
-
- 08 Nov, 2010 2 commits
-
-
Jeffrey Lee authored
Detail: s/board - filled in the VideoGPIO entry for the IGEP. From looking at recent linux sources it's quite clear that GPIO 170 is used for enabling the DVI framer, and 24 is used for resetting the EHCI controller. Admin: Tested-ish on rev C2 beagleboard by setting GPIO 170 (pre-xM video GPIO) to an input shortly after boot (i.e. to the default setting, as it would be on an IGEP). IGEP-like display failures then followed, but everything went back to normal when the GPIO was set back to being an output. Version 0.36. Tagged as 'OMAP3-0_36'
-
Jeffrey Lee authored
Detail: s/GPIO - The IRQ settings for the DevKit8000's NIC were wrong and should have been active-low, not active-high. This fixes that. Admin: Tested by Stephen Leary with his NIC driver Version 0.35. Tagged as 'OMAP3-0_35'
-
- 31 Oct, 2010 1 commit
-
-
Jeffrey Lee authored
Detail: s/Boot - HAL_Reset now sets the PRM_RSTCTRL.RST_DPLL3 bit instead of the PRM_RSTCTRL_GS bit. This matches what Linux does, and seems to fix resets on the TouchBook. s/board - Changed TouchBook audio to use the hands-free output instead of the predriver. This fixes speaker output (although it's currently listed as "line out" by the sound setup configure plugin) hdr/board, s/board, s/Video - Update the LCDConfig struct to contain an entry for controlling LCD power/brightness. Hook up basic power controls for current machine types. Admin: Tested on rev C2 beagleboard & C1 touchbook. Video changes mean that OMAPVideo 0.08 or newer is required. Version 0.34. Tagged as 'OMAP3-0_34'
-
- 26 Oct, 2010 1 commit
-
-
Jeffrey Lee authored
Detail: hdr/board, s/board, s/Boot - Linux machine IDs are now defined via constants in hdr/board instead of magic numbers on a per-use basis s/Boot - Added video fix for BB-xM rev A3. s/Boot - Added code to enable tablet battery charging on TouchBook. s/Boot - Added support for power-off on TouchBook s/GPIO - Fixed bug in GPIOx_SetAsOutput that would prevent LEDs from being disabled properly s/I2C - Updated code to ignore BF interrupts. Added debugging code to help track down unexpected errors, and to check that IIC_DoOp_Poll is being called with interrupts disabled. s/SDMA - Call HAL_IRQClear when resetting the DMA controller device. This fixes the "previous IRQ not cleared" loop that would occur during RISC OS's pre-reset sequence Admin: Tested on rev C2 beagleboard, C1 touchbook, A3 BBxM. Resets should now work reliably on all machines, except TouchBook, which still seems to hang. But on the bright side, the TouchBook is currently the only machine to support soft-off. Version 0.33. Tagged as 'OMAP3-0_33'
-
- 14 Sep, 2010 1 commit
-
-
Jeffrey Lee authored
Detail: s/board, hdr/board, hdr/omap3530, hdr/UART - Add support for 4th UART available on AM/DM37x (i.e. BeagleBoard-xM) hdr/omap3530 - Add details of CONTROL_IDCODE register & known hawkeye/revision numbers for OMAP type/revision detection s/Boot, s/GPIO, hdr/GPIO, s/I2C, hdr/StaticWS - Allow TPS LED drivers to be used as (output-only) GPIOs. Add new polled I/O I2C function, and appropriate logic to make GPIO code use it instead of RISCOS_IICOpV if RISC OS hasn't finished initialising yet. Add code to initialise some extra BB/TB GPIOs on boot. s/Timers, hdr/Timers - Stop RISC OS from using GPTIMER9, because it's used to drive the screen backlight on the TouchBook s/Video - Use appropriate porch/sync limits on non-OMAP35x s/PRCM - Don't mess with the system clock divider when calculating system clock speed (AM/DM37x fix) Admin: Tested on rev C2 beagleboard, rev A2 BB-xM (indirectly), rev C1 TouchBook Version 0.32. Tagged as 'OMAP3-0_32'
-
- 14 Aug, 2010 1 commit
-
-
Jeffrey Lee authored
Detail: s/Boot - The FIQDebug code can now be used to trigger the DebugCallstack code when the user button is pressed Admin: Tested on rev C2 beagleboard Version 0.31. Tagged as 'OMAP3-0_31'
-
- 24 Jun, 2010 2 commits
-
-
Jeffrey Lee authored
This time, put the GET directive in the right place, so it fixes all the compile errors and not just the ones AMU's dodgy dependency tracking reported Version 0.30. Tagged as 'OMAP3-0_30'
-
Jeffrey Lee authored
Version 0.29. Tagged as 'OMAP3-0_29'
-
- 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'
-