summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-01-21rockchip: rock2: Bring in device tree files from LinuxSimon Glass
Bring in the current device tree files for rock2 from linux/next commit 719d6c1. Hopefully this is the latest one. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: dts: Sync up SPDIF node with LinuxSimon Glass
This has been added and we have references to it in the rock2 board. Add this node. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: firefly-rk3288: Enable HDMI outputSimon Glass
Enable HDMI output and a console on firefly. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: jerry: Enable EDP and HDMI video outputSimon Glass
Enable these devices using the VOPL video output device. We explicitly disable VOPB in the device tree to avoid it taking over. Since this device has an LCD display this comes up by default. If the display fails for some reason then it will attempt to use HDMI. It is possible to force it to fail (and thus fall back to HDMI) by puting 'return -EPERM' at the top of rk_edp_probe(). For now there is no easy way to select between the two. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: jerry: Add support for timing SPI flash speedSimon Glass
Add the 'time' and 'sf test' commands so that we can test SPI flash performance. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: spl: Support full-speed CPU in SPLSimon Glass
Add a feature which speeds up the CPU to full speed in SPL to minimise boot time. This is only supported for certain boards (at present only jerry). Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: rk3288: pinctrl: Fix HDMI pinctrlSimon Glass
Since the device tree does not specify the EDID pinctrl option for HDMI we must set it manually. Fix the driver to handle this. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: rk3288: clock: Fix various minor errorsSimon Glass
Fix a number of small errors which were found in reviewing the clock code. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: jerry: Fix the SDRAM timingSimon Glass
There is a minor error in the SDRAM timing. It does not seem to affect anything so far. Fix it just in case. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: spl: Drop MMC support code when not neededSimon Glass
When the board does not use MMC SPL this code is a waste of space. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: Tidy up the register-access macrosSimon Glass
These work reasonable well, but there are a few errors: - Brackets should be used to avoid unexpected side-effects - When setting bits, the corresponding upper 16 bits should be set also Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: sdram: Use syscon_get_first_range() where possibleSimon Glass
This is a shortcut to obtaining a register address. Use it where possible, to simplify the code. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: sdram: Tidy up a few commentsSimon Glass
Fix spaces in two comments in this file. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: config: Enable the 'gpio' commandSimon Glass
Now that we have a pretty good GPIO driver, enable the 'gpio' command on all rockchip boards. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: Add a script to parse datasheetsSimon Glass
This script has proved useful for parsing datasheets and creating register shift/mask values for use in header files. Include it in case it is useful for others. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: Add a simple 'clock' commandSimon Glass
Add a command that displays the PLLs and their current rate. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: Don't skip low-level initSimon Glass
At present the low-level init is skipped on rockchip. Among other things this means that the instruction cache is left disabled. Fix this. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: video: Add a video-output driverSimon Glass
Some rockchip SoCs include video output (VOP). Add a driver to support this. It can output via a display driver (UCLASS_DISPLAY) and currently HDMI and eDP are supported. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: video: Add a display driver for rockchip eDPSimon Glass
Some Rockchip SoCs support embedded DisplayPort output. Add a display driver for this so that these displays can be used on supported boards. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: video: Add a display driver for rockchip HDMISimon Glass
Some Rockchip SoCs support HDMI output. Add a display driver for this so that these displays can be used on supported boards. Unfortunately this driver is not fully functional. It cannot reliably read EDID information over HDMI. This seems to be due to the clocks being incorrect - the I2C bus speed appears to be up to 100x slower than the clock settings indicate. The root cause may be in the clock logic. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: clk: Add support for clocks needed by the displaysSimon Glass
The displays need to use NPLL and also select some new peripheral clocks. Add support for these to the clock driver. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: Rename the CRU_MODE_CON fieldsSimon Glass
These should match the datasheet naming. Adjust them. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21dm: video: Repurpose the 'displayport' uclass to 'display'Simon Glass
The current DisplayPort uclass is too specific. The operations it provides are shared with other types of output devices, such as HDMI and LVDS LCD displays. Generalise the uclass so that it can be used with these devices as well. Adjust the uclass to handle the EDID reading and conversion to display_timing internally. Also update nyan-big which is affected by this. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21video: panel: Add a simple panel driverSimon Glass
Most panels are very simple - they just have a power supply and a backlight. Add a driver which supports this and implements the enable_backlight() method. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21dm: panel: Add a panel uclassSimon Glass
LCD panels can usefully be modelled as their own uclass. They can be probed (which powers them up ready for use). If they have a backlight, this can be enabled. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21dm: backlight: Add a driver for a PWM backlightSimon Glass
Many backlights need to use a PWM to control the brightness. Add a driver for this. It understands the standard device tree binding. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21dm: backlight: Add a backlight uclassSimon Glass
LCD panels normally have a backlight which can be controlled to illuminate the LCD contents. Add a uclass to support this. Initially it only has a method to enable the backlight. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21pwm: rockchip: Add a PWM driver for Rockchip SoCsSimon Glass
Add a simple driver which implements the standard PWM uclass interface. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21dm: pwm: Add a PWM uclassSimon Glass
Add a uclass that supports Pulse Width Modulation (PWM) devices. It provides methods to enable/disable and configure the device. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21video: bridge: Allow GPIOs to be optionalSimon Glass
Some video bridges will not have GPIOs to control reset, etc. Allow these to be optional. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21video: Add a function to control cache flushingSimon Glass
Allow the cache-flushing function of a video device to be controlled. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21video: Name consoles by their numberSimon Glass
We must use the console name in the 'stdout' variable to select the one we want. At present the name is formed from the driver name with a suffix indicating the rotation value. It seems better to name them sequentially since this can be controlled by driver order. So adjust the code to use 'vidconsole' for the first, 'vidconsole1' for the second, etc. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21gpio: Warn about invalid GPIOs used with the 'gpio' commandSimon Glass
At present there is no indication that an invalid GPIO is used except that the GPIO status is not displayed. Make the error more explicit to avoid confusion. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21stdio: Correct a build error with driver modelSimon Glass
When driver model is used for video but not for the keyboard, a compiler warnings is produced. Fix it. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: jerry: Enable the Chrome OS ECSimon Glass
Turn on the EC and enable the keyboard. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: spi: Remove the explicit pinctrl settingSimon Glass
The correct pinctrl is handled automatically so we don't need to do it in the driver. The exception is when we want to use a different chip select (other than 0). But this isn't used at present. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: spi: Correct chip-enable codeSimon Glass
At present there is an incorrect call to rkspi_enable_chip(). It should be disabling the chip, not enabling it. Correct this and ensure that the chip is disabled when releasing the bus. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: spi: Implement the delaysSimon Glass
Some devices need delays before and after activiation. Implement these features in the SPI driver so that we will be able to enable the Chrome OS EC. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: gpio: Implement the get_function() methodSimon Glass
Provide this method so that 'gpio status' works fully. It now shows whether a pin is used for input, output or some other function. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: gpio: Read the GPIO value correctlySimon Glass
This function should return 0 or 1, not a mask. Fix it. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: pinctrl: Implement the get_gpio_mux() methodSimon Glass
Implement this so that the GPIO command will be able to report whether a GPIO is used for input or output. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: pinctrl: Reduce the size for SPLSimon Glass
This file has many features that are not needed by SPL. Use #ifdef to remove the unused features and reduce the code size. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: clk: Make rkclk_get_clk() SoC-specificSimon Glass
The current method assumes that clocks are numbered from 0 and we can determine a clock by its number. It is safer to use an ID in the clock's platform data to avoid the situation where another clock is bound before the one we expect. Move the existing code into rk3036 since it still works there. Add a new implementation for rk3288. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: spi: Correct the bus init codeSimon Glass
Two of the init values are created locally so cannot be out of range. The masking is unnecessary and in one case is incorrect. Fix it. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: spi: Remember the last speed to avoid re-setting itSimon Glass
Rather than changing the clock to the same value on every transaction, remember the last value and don't adjust the clock unless it is necessary. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: reset: Use the rk_clr/setreg() interfaceSimon Glass
Use this function in preference to the macro. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21rockchip: sdram: Use the rk_clr/setreg() interfaceSimon Glass
Use this function in preference to the macro. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21dm: clk: Add a simple version of clk_get_by_index()Simon Glass
This function adds quite a bit of code to SPL and we probably don't need all the features in SPL. Add a simple version (for SPL only) to save space. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21dm: power: Allow regulators to not implement all operationsSimon Glass
Some regulators will not implement any operations (e.g. fixed regulators). This is not an error, so allow the autoset process to continue when one of these regulators is found. Signed-off-by: Simon Glass <sjg@chromium.org>
2016-01-21dm: power: Tidy up debugging output and return valuesSimon Glass
The currect PMIC debugging is a little confusing. Adjust it so that it is clear whether the operation succeeded or failed. Also, avoid creating a new error return value when a perfectly good one is already available. Signed-off-by: Simon Glass <sjg@chromium.org>