summaryrefslogtreecommitdiff
path: root/arch/sh/boards/mach-sdk7786
AgeCommit message (Collapse)Author
2011-06-24sh: Tidy up pre-clkdev clk_get() error handling.Paul Mundt
clk_get() used to return NULL or an errno value depending on whether a clkdev lookup failed or a clock wasn't found in the primary clock list. As these disjoint paths were unified and everything now is handled via clkdev lookups, the NULL case never makes it out of clk_get(). Update accordingly and always look to the errno value. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-01-11sh: Use device_initcall() instead of __initcall()Nobuhiro Iwamatsu
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-01-07sh: mach-sdk7786: Fix up fallout from clkdev consolidation.Paul Mundt
CC arch/sh/boards/mach-sdk7786/setup.o arch/sh/boards/mach-sdk7786/setup.c:179: error: variable 'sdk7786_pcie_cl' has initializer but incomplete type arch/sh/boards/mach-sdk7786/setup.c:180: error: unknown field 'con_id' specified in initializer arch/sh/boards/mach-sdk7786/setup.c:180: warning: excess elements in struct initializer arch/sh/boards/mach-sdk7786/setup.c:180: warning: (near initialization for 'sdk7786_pcie_cl') arch/sh/boards/mach-sdk7786/setup.c:181: error: unknown field 'clk' specified in initializer arch/sh/boards/mach-sdk7786/setup.c:181: warning: excess elements in struct initializer arch/sh/boards/mach-sdk7786/setup.c:181: warning: (near initialization for 'sdk7786_pcie_cl') arch/sh/boards/mach-sdk7786/setup.c: In function 'sdk7786_clk_init': arch/sh/boards/mach-sdk7786/setup.c:211: error: implicit declaration of function 'clkdev_add' which is a fanciful way of saying that the struct definition moved from asm/clkdev.h to linux/clkdev.h. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-12-17sh: mach-sdk7786: Handle baseboard NMI source selection.Paul Mundt
The on-board NMI switch is routed through and mangled by the FPGA prior to its delivery to the NMI pin, so add some glue for the various configuration options. The default is to unmask it and enable all input sources. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-10-14sh: mach-sdk7786: Add support for the FPGA SRAM.Paul Mundt
This ties in the 2KiB of FPGA SRAM in to the generic SRAM pool. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-10-13sh: pci: Support secondary FPGA-driven PCIe clocks on SDK7786.Paul Mundt
The SDK7786 FPGA has secondary control over the PCIe clocks, specifically relating to the slots and oscillator. This ties the FPGA clocks in to the clock framework and balances the refcounting similar to how the primary on-chip clocks are managed. While the on-chip clocks are per-port, the FPGA clock enable/disable is global for the entire block. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-10-13sh: mach-sdk7786: Add support for fpga gpios.Paul Mundt
The sdk7786 FPGA supports a number of user settable input switches that are otherwise unused. This wires up a dummy gpio chip for the switch bank to simply expose them to userspace. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-04-21sh: Move platform smp ops in to their own structure.Paul Mundt
This cribs the MIPS plat_smp_ops approach for wrapping up the platform ops. This will allow for mixing and matching different ops on the same platform in the future. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-04-19sh: mach-sdk7786: pm_power_off support.Paul Mundt
This wires up power-off support for the SDK7786 board. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-01-20sh: mach-sdk7786: Probe system FPGA area mapping.Paul Mundt
This implements dynamic probing for the system FPGA. The system reset controller contains a fixed magic read word in order to identify the FPGA. This just utilizes a simple loop that scans across all of the fixed physical areas (area 0 through area 6) to locate the FPGA. The FPGA also contains register information detailing the area mappings and chip select settings for all of the other blocks, so this needs to be done before we can set up anything else. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-01-20sh: mach-sdk7786: reset controller reboot support.Paul Mundt
This wires up the machine_ops reboot call to use the system reset controller. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-01-20sh: mach-sdk7786: Split out FPGA IRQ controller setup.Paul Mundt
This moves out the FPGA IRQ controller setup code to its own file, in preparation for switching off of IRL mode and having it provide its own irq_chip. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-01-20sh: mach-sdk7786: FPGA updates.Paul Mundt
This does a bit of refactoring of the FPGA management code. The primary FPGA initialization is moved out to its own file in preparation for implementing some of the more complex capabilities, a complete set of register definitions is provided, and all of the existing users in the board code are moved over to use the new interface instead of setting up overlapping mappings. This also corrects the FPGA size, which previously was chomped off at the SDIF control register. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-01-19sh: mach-sdk7786: Detect/configure/propagate EXTAL.Paul Mundt
This uses the mode pins exposed through the FPGA to work out whether we're driven from EXTAL or not and does the appropriate setup and propagation through the clock framework. This will also -EINVAL out for anyone adding in their own oscillators, forcing proper configuration with the clock framework instead of proceeding on with bogus clock values. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-01-15sh: mach-sdk7786: mode pins support.Paul Mundt
This wires up the mode pins support on the SDK7786. The pins are standard SH7786 pins, and all are fixed in software. Needed for the clock framework, PCIe, and so forth. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-01-15sh: mach-sdk7786: heartbeat support.Paul Mundt
Hand off the user LEDs to the heartbeat driver. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-01-14sh: Preliminary SDK7786 board support.Paul Mundt
This stubs in some preliminary board support for the RTE SDK7786. This is quite stunted at the moment, and primarily builds on top of the system FPGA. FPGA IRQs are handled via CPU IRL masking for simplicity, with initial peripheral support restricted to the debug ethernet. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>