summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa
Commit message (Collapse)AuthorAgeFilesLines
* clk: select CLKDEV_LOOKUP from COMMON_CLKAhmad Fatoum2024-01-191-1/+0
| | | | | | | | | | All platforms that select COMMON_CLK also select CLKDEV_LOOKUP, therefore just select it in drivers/clk/Kconfig and drop the CLKDEV_LOOKUP all over the place. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20240118090718.1314156-2-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: pxa: Move mach header files to include/mach/pxaSascha Hauer2023-03-0631-2336/+23
| | | | | | | | | | Currently arch specific headers can be included with longer possible as there won't be a single mach anymore. Move all pxa specific header files to include/mach/pxa/ to prepare for multi-arch support. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: pxa: Move plat/ include files to mach/Sascha Hauer2023-03-017-521/+494
| | | | | | | | pxa has include files in include/plat/. Move the content over to include/mach/ to be in line with other architectures. Link: https://lore.barebox.org/20230228143031.1718565-10-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Rename struct device_d to deviceSascha Hauer2023-01-103-13/+13
| | | | | | | | | | | | | The '_d' suffix was originally introduced in case we want to import Linux struct device as a separate struct into barebox. Over time it became clear that this won't happen, instead barebox struct device_d is basically the same as Linux struct device. Rename the struct name accordingly to make porting Linux code easier. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Reviewed-by: Marco Felsch <m.felsch@pengutronix.de> Link: https://lore.barebox.org/20221214123512.189688-3-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* clocksource: assign non-zero priorities to all clocksourcesAhmad Fatoum2022-04-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most barebox clocksources have a zero priority and if multiple of them exist, but no higher priority ones, the first to call init_clock wins. Some supported boards like the Raspberry Pi additionally depended on initcall ordering to favor one zero-priority clocksource over another. With the move to deep probe and with Commit b641580deb8c ("of: platform: Ensure timers are probed early"), device tree blob iteration order could now dictate which clocksource is ultimately used. This led to a 20 times slower clock source being chosen on the Raspberry Pi, because the ARM architected timer was taken instead of the bcm2835 timer. Fix the root cause by assigning priorities to all clocksource drivers. Priorities chosen are: 50: device_initcall 60: coredevice_initcall 70: postcore_initcall 80: core_initcall These priorities are all below 100, which was previously the lowest positive priority and as they are positive, they win against the dummy clocksource. This should ensure no priority inversion happens. Fixes: b641580deb8c ("of: platform: Ensure timers are probed early") Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20220425094857.674044-4-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* arch: add SPDX-License-Identifier to all headersAhmad Fatoum2022-01-0511-0/+22
| | | | | | | | | Record GPL-2.0-only as license for all files lacking an explicit license statement. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20220103120539.1730644-9-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* treewide: add SPDX-License-Identifier for Kbuild/KconfigAhmad Fatoum2022-01-052-0/+4
| | | | | | | | | | | | | | | To verify only Kconfig/Makefile is touched: git show --numstat --format=oneline HEAD | grep -v 'Kconfig\|Makefile' will print only arch/powerpc/Kbuild. To verify nothing unexpected is added: git show -U0 | grep '^-[^-]\|^+[^+]' | sort -u Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20220103120539.1730644-3-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* restart: give all restart handlers a descriptive nameAhmad Fatoum2020-09-151-1/+1
| | | | | | | | | | | | | With incoming changes to choose a specific reset method, give all currently unnamed "default" reset handlers a name: - soc reset via SoC-specific means - soc-wdt reset via SoC watchdog timer - vector reset via jump to reset vector - efi reset via EFI firmware Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/misc'Sascha Hauer2020-05-144-12/+0
|\
| * treewide: remove references to CREDITSUwe Kleine-König2020-04-274-12/+0
| | | | | | | | | | | | | | | | The CREDITS file was removed from barebox in 2015 by commit 6570288f2d97 ("Remove the CREDITS file"). Remove references to it from several files. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | lib: bch: define referenced but undefined Kconfig optionAhmad Fatoum2020-04-291-1/+0
|/ | | | | | | | BCH_CONST_PARAMS is used, but undefined. Defining it would change MACH_MIOA701 behavior, so define it but remove the select Signed-off-by: Ahmad Fatoum <ahmad@a3f.at> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: PXA: Provide prototype for pxa_clear_reset_source()Sascha Hauer2019-03-182-2/+4
| | | | | | | Move pxa_clear_reset_source() declaration to a header file where the file implementing it can see it. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* treewide: Add missing includesSascha Hauer2019-03-181-0/+1
| | | | | | | | | Many files in the tree implement functions, but do not include the header files which provide the prototypes for these functions. This means conflicting prototypes remain undetected. Add the missing includes. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* treewide: Make locally used functions staticSascha Hauer2019-03-181-1/+1
| | | | | | | Many functions are only used locally but still are globally visible. Make these function static. Avoids warnings generated with -Wmissing-prototypes Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* poweroff: Allow to register poweroff handlersSascha Hauer2017-03-302-4/+24
| | | | | | | | | | Allow to register handlers for poweroff. This allows to have multiple poweroff implementations in a single binary. The implementation is close to the restart handlers. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: PXA: move HAVE_CLK selectLucas Stach2016-01-191-0/+1
| | | | | | | | | | | | Claiming that all of PXA has CLK implemented, while only PXA3XX selects the relevant clock implementations causes lots of build failures for the other PXA architectures. Fix it by moving the HAVE_CLK select to the one PXA arch, that actually has it. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* arm: pxa: Remove pxa_get_nandclk()Sebastian Hesselbarth2015-11-232-9/+0
| | | | | | | | | | With a common clock provided for NAND controller, get rid of the mach/clock.h way of getting the NAND clock. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Acked-by: Robert Jarzmik <robert.jarzmik@free.fr> Tested-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* arm: pxa: Prepare for NAND clkdev lookup on PXA3xxSebastian Hesselbarth2015-11-232-0/+20
| | | | | | | | | | To allow PXA3xx nand driver to be reused on Marvell Armada 370/XP, prepare to provide a common clock for the NAND driver on PXA3xx. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Acked-by: Robert Jarzmik <robert.jarzmik@free.fr> Tested-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/restart'Sascha Hauer2015-09-011-2/+12
|\
| * restart: replace reset_cpu with registered restart handlersSascha Hauer2015-08-271-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This replaces the reset_cpu() function which every SoC or board must provide with registered handlers. This makes it possible to have multiple reset functions for boards which have multiple ways to reset the machine. Also boards which have no way at all to reset the machine no longer have to provide a dummy reset_cpu() function. The problem this solves is that some machines have external PMICs or similar to reset the system which have to be preferred over the internal SoC reset, because the PMIC can reset not only the SoC but also the external devices. To pick the right way to reset a machine each handler has a priority. The default priority is 100 and all currently existing restart handlers are registered with this priority. of_get_restart_priority() allows to retrieve the priority from the device tree which makes it possible for boards to give certain restart handlers a higher priority in order to use this one instead of the default one. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | gpio: Drop asm-generic/gpio.hSascha Hauer2015-08-201-1/+0
| | | | | | | | | | | | | | | | | | | | Since we no longer have custom gpio function prototypes we can drop the prototypes from asm-generic/gpio.h can add them to include/gpio.h instead. While at it add static inline dummy wrappers for !CONFIG_GENERIC_GPIO so that code using gpios can compile without gpio support. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | ARM: PXA: use generic gpio prototypesSascha Hauer2015-08-073-32/+33
|/ | | | | | | | | PXA is the only architecture that uses its own prototypes for the gpio functions because it uses static inline variants of these functions. For the sake of streamlining with other architectures move them to a C file and use the generic gpio prototypes. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: pxa: move mainstone TEXTBASE to KconfigLucas Stach2015-07-241-0/+1
| | | | | | | | So we can drop it from the defconfig and stop bothering the user with this choice by default. Signed-off-by: Lucas Stach <dev@lynxeye.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: pxa: move lubbock TEXTBASE to KconfigLucas Stach2015-06-261-0/+1
| | | | | | | | | So we can drop it from the defconfig and stop bothering the user with this choice by default. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Acked-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: pxa: add mainstone board supportRobert Jarzmik2015-04-131-0/+5
| | | | | | | Add support for the Intel XScale PXA270 development system platform. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: MIOA701: select POLLERLucas Stach2015-03-021-0/+1
| | | | | | | | Fixes: In function `gpio0_poweroff_probe': undefined reference to `poller_register' Signed-off-by: Lucas Stach <dev@lynxeye.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: pxa: add pxa25x supportRobert Jarzmik2015-02-048-2/+89
| | | | | | | Add support for the PXA25X SoC family, the oldest of the PXA serie. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: pxa: add the zylonite boardRobert Jarzmik2015-01-191-1/+12
| | | | | | | | | | | | | | | | | | | Add the first pxa3xx board, zylonite. Zylonite is the Marvell System Development Platform. Several version are available, based on either : - PXA300 - PXA310 - PXA320 This version was only tested on a PXA310 based board, and uses : - the ethernet controller - the nand controller These drivers seem to be common to all zylonite boards. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: pxa: add pxa3xx architectureRobert Jarzmik2015-01-1913-6/+735
| | | | | | | | | | | | | | | Add the pxa3xx architecture, for pxa300, pxa310 and pxa320 SoCs. This includes : - the registers - the cpu type - the reset source handling - a minimal set of clocks - pin control definitions In this last case, the big mfp-pxaxxx.h files were dropped, forcing board developers to use MFP_LPM_* macros cunningly. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: pxa: move pxa2xx functionality to SoC specific fileRobert Jarzmik2015-01-193-14/+20
| | | | | | | | Move reset_source detection and poweroff to pxa2xx.c, to prepare the incoming pxa3xx reset_source detection. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* treewide: Reuse init_clock() return value for clocksource driversAlexander Shiyan2014-11-101-3/+1
| | | | | Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* reset_source: rename set_reset_source to reset_source_setSascha Hauer2014-01-291-5/+5
| | | | | | | To get all reset source related functions into the same function namespace. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: pxa: add poweroff capabilityRobert Jarzmik2014-01-204-0/+99
| | | | | | | | | | | Add the capability for the PXA architecture to poweroff. As there is no true poweroff, ie. the power regulator is not available for shut off from the core, the poweroff puts the SoC into a deep sleep mode (mode 7), where almost no current is sunk. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: pxa: add reset source detectionRobert Jarzmik2014-01-203-0/+46
| | | | | | | | Use PXA register RCSR to detect which is the reset cause. When triggering a reset, clear the former reset source first. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Set model and hostname at boardlevelSascha Hauer2013-08-161-5/+0
| | | | | | | | | | | | With multiboard support the compiletime generated BOARDINFO string gets more and more meaningless. This removes it from Kconfig and replaces it with a variable that can be set at boardlevel. Also many boards have a standard setting for the hostname in the environment. This patch also moves the standard to C code by calling barebox_set_hostname(). Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: remove now unused MACH_[HAS|DO]_LOWLEVEL_INITSascha Hauer2013-02-041-1/+0
| | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* Remove bad Kconfig reference to HAVE_MMUAlexander Shiyan2012-12-081-1/+0
| | | | | | | Barebox not contain symbol HAVE_MMU, so remove all references to it. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Remove bad Kconfig reference to HAS_CFIAlexander Shiyan2012-12-081-1/+0
| | | | | | | Barebox not contain symbol HAS_CFI, so remove all references to it. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* pcm027: add board supportMarc Kleine-Budde2012-04-101-0/+10
| | | | | | | The pcm027 is a PXA270 based Phytec phyCORE board. Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* arm/mach-pxa: add mioa701 boardRobert Jarzmik2012-02-291-0/+18
| | | | | | | | | | | | | | | | Add Mitac MioA701 board initial support. The support provides basic boot and : - a console over USB (serial gadget). - the SD card support - the MTD docg3 support - the LCD support Add a check in the default environment for a barebox.env file on the first partition (FAT). If the file exists, source it instead of the normal boot procedure. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* arm/mach-pxa: add CCCR bits definitionsRobert Jarzmik2012-02-221-0/+5
| | | | | | | | | | | Add CCCR bits definition for PXA SoC, so that the bootloader can setup a stable core clock frequency, which is not the initial reset clock, as required by Intel's PXA27x Processor family developer's guide, chapter 3.5.5, table 3.7 (clock frequencies). Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* arm/mach-pxa: add standard LCD panel GPIO settingsRobert Jarzmik2012-02-221-0/+32
| | | | | | | | Add standard GPIO routings for LCD panels, taken from linux kernel. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* drivers/video: remove pxafb enable on loadRobert Jarzmik2012-02-171-1/+0
| | | | | | | | | | | | | | | As pxafb can rely on a PWM to control backlight, and because driver dependencies are hard to deal with, remove automatic enable of PXAFB on probe. The user should in its environment do a : - fb0.enable=1 This way, the PWM has been probed and is ready to work, and the pxafb backlight control works. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* drivers/pwm: add PXA pulse width modulator controllerRobert Jarzmik2012-02-176-1/+33
| | | | | | | | | Add PXA embedded pulse width modulator support. The PWM can generate signals from 49.6kHz to 1.625MHz. The driver is for pxa2xx family. The pxa3xx was not handled yet. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'master' into nextSascha Hauer2011-12-154-0/+285
|\ | | | | | | | | | | | | | | | | Conflicts: arch/arm/boards/usb-a926x/init.c arch/arm/mach-pxa/include/mach/clock.h arch/arm/mach-pxa/speed-pxa27x.c Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * drivers/video: add PXA framebuffer supportRobert Jarzmik2011-12-124-0/+285
| | | | | | | | | | | | Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | arm/mach-pxa: add mci_pxa2xx fileRobert Jarzmik2011-12-081-0/+10
| | | | | | | | | | | | | | Add the platform data for MMC/SD card host on the PXA SoCs. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | arm/mach-pxa: add MMC clockRobert Jarzmik2011-12-082-0/+6
|/ | | | | | | | | Add mmc clock frequency reader. Easy as MMC host controller is constant, while the clock between host and card is settable. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* pxa: add type to Kconfig choiceSascha Hauer2011-12-071-0/+1
| | | | | | | To avoid Kconfig warning as long we do not have any board support for pxa. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* usb/gadget: add pxa27x_udc driverRobert Jarzmik2011-12-051-0/+26
| | | | | | | | | Adapt mainline kernel pxa27x_udc driver to barebox : - remove function header comments as they are in mainline - test it with serial gadget Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>