summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * sunxi: Do not add a stdout-path alias to dts on boards without a serial portHans de Goede2015-08-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not add a bogus (pointing to a non existing serial port) stdout-path alias to dts on boards without a serial port. Note that we still define CONS_INDEX as this is used by the SPL where we do not use DM_SERIAL and thus CONFIG_REQUIRE_SERIAL_CONSOLE is not honored. We are getting away with this because the sun5i die actually has an uart0, which in the A13 package is not routed to the outside, so we are simply sending SPL bootup messages to the tx pin at the edge of the die, and they go no further from there... And sofar we only have one A13 board which does not have a serial port, all others do have a serial port. This kinda makes sense since the A13 is a much lower pincount package compared to all the other sunxi SoCs. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
| * sunxi: Add CONFIG_USB0_ID_DET setting to 2 more tabletsHans de Goede2015-08-082-0/+2
| | | | | | | | | | | | | | | | Now that we have code to check the id-pin and detect usb-host adapters plugged into the otg port that way, enable it on the tablets which I own. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
| * sunxi: usb-phy: Never power off the usb portsHans de Goede2015-08-085-14/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | USB devices are not really designed to get the power bounced off and on at them. Esp. USB powered harddisks do not like this. Currently we power off the USB ports both on a "usb reset" and when booting the kernel, causing the usb-power to bounce off and then back on again. This patch removes the powering off calls, fixing the undesirable power bouncing. Note this requires some special handling for the OTG port: 1) We must skip the external vbus check if we've already enabled our own vbus to avoid false positives 2) If on an usb reset we no longer detect that the id-pin is grounded, turn off vbus as that means an external vbus may be present now Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
| * sunxi: nand: Add board configuration optionsPiotr Zierhoffer2015-08-082-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When SPL_NAND_SUNXI option is selected in config, set some configuration options for sunxi NAND. This commit also introduces the configurable options in Kconfig. Signed-off-by: Peter Gielda <pgielda@antmicro.com> Signed-off-by: Tomasz Gorochowik <tgorochowik@antmicro.com> Signed-off-by: Mateusz Holenko <mholenko@antmicro.com> Signed-off-by: Piotr Zierhoffer <pzierhoffer@antmicro.com> Signed-off-by: Karol Gugala <kgugala@antmicro.com> Acked-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
| * sunxi: nand: Add basic sunxi NAND driver for SPL with DMA supportPiotr Zierhoffer2015-08-082-0/+354
| | | | | | | | | | | | | | | | | | | | | | | | | | This driver adds NAND support to SPL. It was tested on Allwinner A20. Signed-off-by: Peter Gielda <pgielda@antmicro.com> Signed-off-by: Tomasz Gorochowik <tgorochowik@antmicro.com> Signed-off-by: Mateusz Holenko <mholenko@antmicro.com> Signed-off-by: Piotr Zierhoffer <pzierhoffer@antmicro.com> Signed-off-by: Karol Gugala <kgugala@antmicro.com> Acked-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
| * sunxi: nand: Add pinmux and clock settings for NAND supportKarol Gugala2015-08-083-0/+30
| | | | | | | | | | | | | | | | | | | | To enable NAND flash in sunxi SPL, pins 0-6, 8-22 and 24 on port C are configured. Signed-off-by: Karol Gugala <kgugala@antmicro.com> Signed-off-by: Piotr Zierhoffer <pzierhoffer@antmicro.com> Acked-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
| * sunxi: Enable USB DRC on Wexler TAB7200Aleksei Mamlin2015-08-081-0/+5
| | | | | | | | | | | | | | | | Enable the otg/drc usb controller on the Wexler TAB7200 tablet. Signed-off-by: Aleksei Mamlin <mamlinav@gmail.com> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* | arm: socfpga: misc: Add support for printing FPGA typeDinh Nguyen2015-08-082-2/+65
| | | | | | | | | | | | | | | | | | | | Add code which uses the new functions for obtaining FPGA ID from the scan manager. This new code prints the FPGA model attached to the SoCFPGA during boot and sets environment variable "fpgatype", which can be used to determine the FPGA model in U-Boot scripts. Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com> Signed-off-by: Marek Vasut <marex@denx.de>
* | arm: socfpga: scan: Add code to get FPGA IDDinh Nguyen2015-08-082-0/+56
| | | | | | | | | | | | | | Add code to get the FPGA type for Altera's SoCFPGA family of FPGA. The code uses the scan manager to send jtag pulses that will return the FPGA ID. Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
* | arm: socfpga: scan: Factor out IO chain programmingMarek Vasut2015-08-081-71/+42
| | | | | | | | | | | | | | | | Factor out the code which sends JTAG instruction followed by data into separate function to tidy the code up a little. Signed-off-by: Marek Vasut <marex@denx.de> Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>
* | arm: socfpga: scan: Clean up horrible macrosMarek Vasut2015-08-082-72/+17
| | | | | | | | | | | | | | | | | | | | | | Clean up the horrible macros present in the scan_manager.h . Firstly, the function scan_mgr_io_scan_chain_prg() is static, yet all the macros are used only within it, thus there is no point in having them in the header file. Moreover, the macros are just making the code much less readable, so remove them instead. Signed-off-by: Marek Vasut <marex@denx.de> Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>
* | arm: socfpga: scan: Introduce generic JTAG accessorMarek Vasut2015-08-081-41/+63
| | | | | | | | | | | | | | | | | | Introduce generic function for accessing the JTAG scan chains in the SCC manager. Make use of this function throughout the SCC manager to replace the ad-hoc writes to registers and make the code less cryptic. Signed-off-by: Marek Vasut <marex@denx.de> Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>
* | arm: socfpga: scan: Clean up scan_chain_engine_is_idle()Marek Vasut2015-08-082-28/+34
| | | | | | | | | | | | | | | | | | | | Rework this function so it's clear that it is only polling for certain bits to be cleared. Add kerneldoc. Fix it's return value to be either 0 on success and -ETIMEDOUT on error and propagate this through the scan manager code. Signed-off-by: Marek Vasut <marex@denx.de> Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>
* | ddr: altera: sequencer: add RW_MGR_MEM_NUMBER_OF_RANKSDinh Nguyen2015-08-081-0/+1
| | | | | | | | | | | | | | | | | | Fix build error for socfpga_cyclone5_defconfig: board/altera/socfpga/wrap_sdram_config.c:245:26: error: ‘RW_MGR_MEM_NUMBER_OF_RANKS’ undeclared here (not in a function) make[2]: *** [spl/board/altera/socfpga/wrap_sdram_config.o] Error 1 Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
* | ddr: altera: sequencer: Clean checkpatch issuesMarek Vasut2015-08-081-71/+88
| | | | | | | | | | | | | | | | | | Fix most of the dangling checkpatch issues, no functional change. There are still 7 warnings, 1 checks , but those are left in place for the sake of readability of the code. Signed-off-by: Marek Vasut <marex@denx.de> Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>
* | ddr: altera: sequencer: Clean data typesMarek Vasut2015-08-081-48/+48
| | | | | | | | | | | | | | Replace uintNN_t with uNN. No functional change. Signed-off-by: Marek Vasut <marex@denx.de> Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>
* | ddr: altera: sequencer: Pluck out misc macros from codeMarek Vasut2015-08-081-22/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | Actually convert the sequencer code to use socfpga_sdram_misc_config instead of the various macros. This is just an sed exercise here, no manual coding needed. This patch actually removes the need to include any board-specific files in sequencer.c , so sequencer.c namespace is now no longer poluted by QTS-generated macros. Signed-off-by: Marek Vasut <marex@denx.de> Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>
* | ddr: altera: sequencer: Zap SEQ_T(INIT|RESET)_CNTR._VALMarek Vasut2015-08-082-49/+4
| | | | | | | | | | | | | | | | | | This is another macro used to obfuscate the real code. The T(INIT|RESET)_CNTR._VAL is always defined, so this indirection is unnecessary. Get rid of this. Signed-off-by: Marek Vasut <marex@denx.de> Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>
* | ddr: altera: sequencer: Zap VFIFO_SIZEMarek Vasut2015-08-082-7/+4
| | | | | | | | | | | | | | Just use READ_VALID_FIFO_SIZE directly, no need for this macro obfuscation. Signed-off-by: Marek Vasut <marex@denx.de> Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>
* | ddr: altera: sequencer: Wrap misc remaining macrosMarek Vasut2015-08-083-0/+40
| | | | | | | | | | | | | | | | | | | | | | Introduce structure socfpga_sdram_misc_config to wrap the remaining misc configuration values in board file. Again, introduce a function, socfpga_get_sdram_misc_config(), which returns this the structure. This is almost the final step toward wrapping the nasty QTS generated macros in board files and reducing the pollution of the namespace. Signed-off-by: Marek Vasut <marex@denx.de> Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>
* | ddr: altera: sequencer: Pluck out IO_* macros from codeMarek Vasut2015-08-081-101/+100
| | | | | | | | | | | | | | | | | | Actually convert the sequencer code to use socfpga_sdram_io_config instead of the IO_* macros. This is just an sed excercise here, no manual coding needed. Signed-off-by: Marek Vasut <marex@denx.de> Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>
* | ddr: altera: sequencer: Wrap IO_* macrosMarek Vasut2015-08-083-0/+44
| | | | | | | | | | | | | | | | | | | | | | Introduce structure socfpga_sdram_io_config to wrap the IO configuration values in board file. Introduce socfpga_get_sdram_io_config() function, which returns this the structure. This is another step toward wrapping the nasty QTS generated macros in board files and reducing the pollution of the namespace. Signed-off-by: Marek Vasut <marex@denx.de> Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>
* | ddr: altera: sequencer: Pluck out RW_MGR_* macros from codeMarek Vasut2015-08-082-154/+154
| | | | | | | | | | | | | | | | | | Actually convert the sequencer code to use socfpga_sdram_rw_mgr_config instead of the RW_MGR_* macros. This is just an sed exercise here, no manual coding needed. Signed-off-by: Marek Vasut <marex@denx.de> Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>
* | ddr: altera: sequencer: Wrap RW_MGR_* macrosMarek Vasut2015-08-083-0/+140
| | | | | | | | | | | | | | | | | | | | | | Introduce structure socfpga_sdram_rw_mgr_config to wrap the RW manager configuration values in board file. Introduce a complementary function, socfpga_get_sdram_rwmgr_config(), which returns this the structure. This is another step toward wrapping the nasty QTS generated macros in board files and reducing the pollution of the namespace. Signed-off-by: Marek Vasut <marex@denx.de> Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>
* | ddr: altera: sequencer: Wrap ac_rom_init and inst_rom_initMarek Vasut2015-08-083-6/+26
| | | | | | | | | | | | | | | | | | | | Introduce two wrapper functions, socfpga_get_seq_ac_init() and socfpga_get_seq_inst_init() to avoid direct inclusion of the sequencer_auto_ac_init.h and sequencer_auto_inst_init.h QTS generated files. This reduces namespace pollution again. Signed-off-by: Marek Vasut <marex@denx.de> Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>
* | ddr: altera: sequencer: Zap bogus redefinition of RW_MGR_MEM_NUMBER_OF_RANKSMarek Vasut2015-08-081-1/+0
| | | | | | | | | | | | | | | | This is defined in the QTS-generated headers, so it must not be re-defined in sequencer.h . Signed-off-by: Marek Vasut <marex@denx.de> Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>
* | ddr: altera: sequencer: Zap unused params and macrosMarek Vasut2015-08-082-75/+5
| | | | | | | | | | | | | | | | These parameters are not used in the code, zap them and the macros which are used by them as well. Signed-off-by: Marek Vasut <marex@denx.de> Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>
* | ddr: altera: sequencer: Clean up mach/sdram.hMarek Vasut2015-08-081-3/+1
| | | | | | | | | | | | | | | | Zap non-existent functions and place function prototypes at the beginning of the header file. Signed-off-by: Marek Vasut <marex@denx.de> Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>
* | ddr: altera: sequencer: Move qts-generated files to board dirMarek Vasut2015-08-085-4/+9
| | | | | | | | | | | | | | | | Move the files generated by QTS into the board directory, they should not be part of the driver files at all. Signed-off-by: Marek Vasut <marex@denx.de> Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>
* | ddr: altera: sdram: Make sdram_start and sdram_end into u32Marek Vasut2015-08-081-11/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Originally, both sdram_start and sdram_end were 64b values. The sdram_start had no reason for being so, since our address space is only 32b, so switching sdram_start to u32 is simple. The sdram_end is a bit more complex, since it can actually be set to (1 << 32) if someone really wanted to use an SoCFPGA with 4 GiB of DRAM and fixed the code around a little. But, the code handling the protection rules internally decrements the sdram_end variable anyway. Thus, instead of calling the code and passing in the address of the SDRAM end, pass in the address already decremented by one. This lets the sdram_end be 32b as well. Signed-off-by: Marek Vasut <marex@denx.de>
* | ddr: altera: sdram: Minor cleanup in sdram_get_rule()Marek Vasut2015-08-081-4/+4
| | | | | | | | | | | | Fix the data types and zap unnecessary type change. Signed-off-by: Marek Vasut <marex@denx.de>
* | ddr: altera: sdram: Minor cleanup in sdram_set_rule()Marek Vasut2015-08-081-4/+4
| | | | | | | | | | | | Zap an obscure unneeded cast and clean other minor nits in this function. Signed-off-by: Marek Vasut <marex@denx.de>
* | ddr: altera: sdram: Add missing kerneldocMarek Vasut2015-08-081-0/+12
| | | | | | | | | | | | | | Add kerneldoc to functions which are missing it, but are already cleaned up. Signed-off-by: Marek Vasut <marex@denx.de>
* | ddr: altera: sdram: Clean up sdram_write_verify()Marek Vasut2015-08-081-25/+26
| | | | | | | | | | | | | | | | | | Clean the function up so that it's obvious what it is doing, fix the formating strings in debug outputs, add kerneldoc. Make the function return proper errno-compliant return values and propagate this change throughout sdram.c Signed-off-by: Marek Vasut <marex@denx.de>
* | ddr: altera: sdram: Clean up sdram_calculate_size() part 2Marek Vasut2015-08-081-23/+12
| | | | | | | | | | | | | | | | Clean up coding style, mostly clean up comments, add kerneldoc. Also, zap assignment of the "cs" variable, which is outright dead code, so just remove it. Signed-off-by: Marek Vasut <marex@denx.de>
* | ddr: altera: sdram: Clean up sdram_calculate_size() part 1Marek Vasut2015-08-081-9/+10
| | | | | | | | | | | | | | | | | | Pluck out all of the CONFIG_HPS_SDR_CTRLCFG_* macros. This change makes sdram.c completely clear of these macros and allows removing of the ugly include of sdram.h . The namespace is now a much nicer place! Signed-off-by: Marek Vasut <marex@denx.de>
* | ddr: altera: sdram: Introduce socfpga_sdram_get_config()Marek Vasut2015-08-084-212/+234
| | | | | | | | | | | | | | | | | | | | Introduce socfpga_sdram_get_config() function implement in a board file, which returns the socfpga_sdram_config structure. This is the last step in cleaning up the socfpga_mmr_init_full(), but not the last step which allows removing the inclusion of sdram.h from drivers/ddr/altera/sdram.c thus far. Signed-off-by: Marek Vasut <marex@denx.de>
* | ddr: altera: sdram: Clean up sdram_mmr_init_full() part 8Marek Vasut2015-08-082-2/+3
| | | | | | | | | | | | Fix the return value so that standard errno return values can be used. Signed-off-by: Marek Vasut <marex@denx.de>
* | ddr: altera: sdram: Clean up sdram_mmr_init_full() part 7Marek Vasut2015-08-081-1/+6
| | | | | | | | | | | | Add kerneldoc. Signed-off-by: Marek Vasut <marex@denx.de>
* | ddr: altera: sdram: Clean up sdram_mmr_init_full() part 6Marek Vasut2015-08-081-10/+21
| | | | | | | | | | | | Pull out the block of register programming into a separate function. Signed-off-by: Marek Vasut <marex@denx.de>
* | ddr: altera: sdram: Clean up sdram_mmr_init_full() part 5Marek Vasut2015-08-081-10/+11
| | | | | | | | | | | | | | | | Rework remaining two register setting functions such that they only return the final register value. Move the register setting into the block of register I/O in sdram_mmr_init_full(). Signed-off-by: Marek Vasut <marex@denx.de>
* | ddr: altera: sdram: Clean up sdram_mmr_init_full() part 4Marek Vasut2015-08-081-62/+36
| | | | | | | | | | | | | | | | | | Merge sdr_set_*() functions which are just setting registers among the sea of register setting in sdram_mmr_init_full(). There is no need to keep them separate this way, there is nothing special about them. Signed-off-by: Marek Vasut <marex@denx.de>
* | ddr: altera: sdram: Clean up sdram_mmr_init_full() part 3Marek Vasut2015-08-081-28/+39
| | | | | | | | | | | | | | Pluck out the remaining CONFIG_HPS_SDR_CTRLCFG_ and put it into the socfpga_sdram_config structure. Signed-off-by: Marek Vasut <marex@denx.de>
* | ddr: altera: sdram: Clean up sdram_mmr_init_full() part 2Marek Vasut2015-08-081-67/+83
| | | | | | | | | | | | | | | | Suck out all the CONFIG_HPS_SDR_CTRLCFG_* from sdram_mmr_init_full() into the socfpga_sdram_config structure. There is still one ugly macro left behind, but this will be taken care of in subsequent patch. Signed-off-by: Marek Vasut <marex@denx.de>
* | ddr: altera: sdram: Clean up sdram_mmr_init_full() part 1Marek Vasut2015-08-081-44/+0
| | | | | | | | | | | | | | | | Zap all the ad-hoc readbacks from the registers and other useless and broken debug output. This is really not useful and is only confusing. Signed-off-by: Marek Vasut <marex@denx.de>
* | ddr: altera: sdram: Introduce socfpga_sdram_config() structureMarek Vasut2015-08-081-162/+179
| | | | | | | | | | | | | | | | | | | | | | | | Introduce this seemingly massive structure, which holds required values of all the registers of the SDRAM controller. The idea here is to avoid including the sdram.h header file, which is full of ad-hoc macros that polute the global namespace. Once the cleanup of sdram.c would be complete and all registers would be loaded from this new socfpga_sdram_config, a board file will only pass this structure into the sdram.c . This will hide all the horrors generated by QTS in the board directory. Signed-off-by: Marek Vasut <marex@denx.de>
* | ddr: altera: sdram: Clean up set_sdr_mp_threshold()Marek Vasut2015-08-081-13/+11
| | | | | | | | | | | | | | Get rid of the constant clrsetbits_le32(), instead prepare the whole content of the register once and write it at the end of the function. Signed-off-by: Marek Vasut <marex@denx.de>
* | ddr: altera: sdram: Clean up set_sdr_mp_pacing()Marek Vasut2015-08-081-21/+16
| | | | | | | | | | | | | | Get rid of the constant clrsetbits_le32(), instead prepare the whole content of the register once and write it at the end of the function. Signed-off-by: Marek Vasut <marex@denx.de>
* | ddr: altera: sdram: Clean up set_sdr_mp_weight()Marek Vasut2015-08-081-21/+16
| | | | | | | | | | | | | | Get rid of the constant clrsetbits_le32(), instead prepare the whole content of the register once and write it at the end of the function. Signed-off-by: Marek Vasut <marex@denx.de>
* | ddr: altera: sdram: Clean up set_sdr_fifo_cfg()Marek Vasut2015-08-081-7/+7
| | | | | | | | | | | | | | Get rid of the constant clrsetbits_le32(), instead prepare the whole content of the register once and write it at the end of the function. Signed-off-by: Marek Vasut <marex@denx.de>
OpenPOWER on IntegriCloud