summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap
Commit message (Collapse)AuthorAgeFilesLines
* ARM: OMAP: bbu: Add an all-in-one NAND update handlerSascha Hauer2019-08-282-0/+152
| | | | | | | | | | This adds a NAND update handler which automatically detects on the filetype which stage shall be updated. It takes a single partition for both the xload images and the barebox images. It uses a fixed layout on this partition, so there's no need to configure anything on the board side. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* mtd: nand: gpmc: Add BCH16 supportSascha Hauer2019-08-281-0/+1
| | | | | | | | | | | | | | | | This adds support for BCH16 ECC encoding. The support is mostly taken from Linux-5.3-rc6. One major change is the different wrap mode used. The Kernel uses wrapmode 1, which means "pass all data through the BCH engine". Still the Kernel has to skip the OOB marker which is done by reading all user data, then use NAND_CMD_RNDOUT to position right behind the OOB marker and then read the ECC data. Instead of doing this we use wrap mode 4 which allows us to bypass the OOB marker from the BCH engine automatically. This explains bch_wrapmode = 1, eccsize0 = 0, eccsize1 = 52 vs. bch_wrapmode = 4, eccsize0 = 4, eccsize1 = 52 Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: omap: am35xx_emif4: Fix bit pollingSascha Hauer2019-08-281-1/+1
| | | | | | | | | ((x & (1 << 10)) == 0x1) can never be true as the compiler mourns about. Fix this to actually do what the comment says: Wait till bit 10 is cleared. Looking at the corresponding U-Boot code also suggests that this is the right thing to do. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/warnings'Sascha Hauer2019-04-091-0/+1
|\
| * 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: surround Kconfig file paths with double quotesMasahiro Yamada2019-03-211-1/+1
|/ | | | | | | | | Based on Linux commit 8636a1f9677db4f883f29a072f401303acfc2edd This will be needed when you sync Kconfig with Linux 5.0 or later. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/misc'Sascha Hauer2019-02-132-81/+0
|\
| * ARM: omap: delete unused mach/am33xx-devices.hAlexander Shiyan2019-01-211-80/+0
| | | | | | | | | | | | | | This removes the stale mach/am33xx-devices.h include as there is no user of it. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * ARM: omap: Remove reference to non-existent HAVE_DEFAULT_ENVIRONMENT_NEW symbolAlexander Shiyan2019-01-211-1/+0
| | | | | | | | | | Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | arm: mach-omap: am335x_generic: Enable nodes by alias where neededTeresa Remmet2019-02-131-4/+4
|/ | | | | | | | With the interconnet target module hierarchy the node names used to enable boot devices are not unique any more. Find those nodes by alias now. Signed-off-by: Teresa Remmet <t.remmet@phytec.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/missing-prototypes'Sascha Hauer2019-01-152-1/+3
|\
| * ARM: omap: fix missing prototypes warningsSascha Hauer2018-12-142-1/+3
| | | | | | | | | | | | | | - make locally used function static - include mach/omap4-generic.h to get prototypes Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | ARM: omap: Add board support for WAGO pfc200 platformSascha Hauer2019-01-071-0/+9
| | | | | | | | | | | | This adds support for the AM3517 based WAGO pfc200 SPS. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | ARM: omap: AM3517: Change default clock rate for AM3517Heinrich Toews2018-12-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an adoption of U-Boot commit: | commit c8e5ba8034ad2a961782a092498f6ea71237c63f | Author: Schuyler Patton <spatton@ti.com> | Date: Wed Feb 1 07:31:44 2012 +0000 | | AM3517: Changed default clock rate for AM3517 | | Changed #define MPU_M_13_ES2 from 0x1F4 to 0x258, this allows | the AM3517 to boot up at 600MHz instead of 500 MHz | | Signed-off-by: Schuyler Patton <spatton@ti.com> | CC: Tom Rini <tom.rini@gmail.com> | CC: Simon Schwarz <simonschwarzcor@gmail.com> | CC: Stefano Babic <sbabic@denx.de> Signed-off-by: Heinrich Toews <heinrich.toews@wago.com>
* | ARM: omap: Add emif4 support for AM3517Sascha Hauer2018-12-203-1/+191
| | | | | | | | | | | | This adds support for the SDRAM controller found on AM3517. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | ARM: omap: Add AM3517 specific mux configurationSascha Hauer2018-12-201-1/+48
| | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | ARM: omap3: Add support for reset reason detectionOleg Karfich2018-12-201-0/+49
| | | | | | | | | | | | | | | | | | | | Due to the Errata i520, the reset code in the linux kernel aswell in barebox triggers a cpu reset by setting the bit RST_DPLL3 in the PRM_RSTCTRL register. This induces a global cold reset on the chip. So we will always detect a POR as reset source when a reboot of the chip is triggerd. Other states like WDG, JTAG were tested successfully. Signed-off-by: Oleg Karfich <oleg.karfich@wago.com>
* | ARM: omap: enable am33xx_uart_soft_reset for AM35xxSascha Hauer2018-12-204-28/+40
| | | | | | | | | | | | | | am33xx_uart_soft_reset() can be used on AM35xx aswell, so move it to a more generic place where it can be added to am35xx compilation. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | ARM: omap: Add AM35XX supportSascha Hauer2018-12-205-5/+22
| | | | | | | | | | | | Not much to be done here. The AM35xx is very similar to OMAP3. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | ARM: omap: 32ktimer: Turn into a driverSascha Hauer2018-12-205-94/+10
| | | | | | | | | | | | Turn OMAP 32KHz timer into a driver and move to drivers/clocksource. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | ARM: omap: dmtimer: Turn into a driverSascha Hauer2018-12-204-104/+5
| | | | | | | | | | | | Turn OMAP dmtimer into a driver and move to drivers/clocksource. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | ARM: omap: Add missing includeSascha Hauer2018-12-201-0/+1
|/ | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/missing-prototypes'Sascha Hauer2018-12-074-0/+4
|\
| * ARM: omap: Add missing includesSascha Hauer2018-11-194-0/+4
| | | | | | | | | | | | | | Include header files that provide the prototypes for functions implemented in that C files. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | arm: mach-omap: xload: Enable network interfaceTeresa Remmet2018-11-161-0/+2
|/ | | | | | | | | Since f0624a701513 ("net: Do not route traffic to interfaces that are not up") interfaces need to be "up" before used. To make enthernet boot work again enable the interface after dhcp is set up. Signed-off-by: Teresa Remmet <t.remmet@phytec.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: omap: xload: Fix network boot filenameSascha Hauer2018-09-181-2/+5
| | | | | | | | | | | | The dhcp code no longer exports the "bootfile" environment variable. It now uses global.dhcp.bootfile. Since global variable support is not necessarily part of the MLO we instead use struct dhcp_result * to get the bootfile information. Fixes: 528298b702 ("net: dhcp: rework") Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Tested-by: Dennis Menschel <menschel-d@posteo.de>
* arm: mach-omap: bbu_emmc: Fix return valueTeresa Remmet2018-08-291-1/+1
| | | | | | | | Update handler returned the written bytes of the partition table on success instead of 0. Return 0 or error code now. Signed-off-by: Teresa Remmet <t.remmet@phytec.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/mvebu'Sascha Hauer2018-06-111-35/+3
|\
| * omap/am33xx_bbu: use file_write_flash() instead of its own variantUwe Kleine-König2018-06-081-35/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There are two differences between file_write_flash() and write_image() (which is removed in this patch): - file_write_flash() uses write_full() vs. write() in write_image() - file_write_flash() doesn't erase the whole device but only the needed space So the new code should be more robust and maybe even faster. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | scripts: create a separate section for host toolsUwe Kleine-König2018-06-111-6/+0
|/ | | | | | | | | | This allows to enable host tools even if they are not needed for the current configuration to improve compile coverage and simplify packaging these tools. The conversion doesn't cover all tools available but can be extended later. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: am33xx: bbu: Make pointers to image constSascha Hauer2018-01-301-2/+2
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/net'Sascha Hauer2018-01-051-1/+9
|\
| * net: dhcp: reworkSascha Hauer2017-12-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The DHCP code is a mess. It is not clear which options are sent to the server and which options are returned from the server. Also environment variables are read from and written to all over the place. This patch cleans this up. There now is struct dhcp_req_param which is used for options sent to the server and struct dhcp_result which contains the values sent from the server. The values from the server are written to the barebox variables in a single place. Also it's now possible to call the dhcp code without modifying barebox variables at all, storing the result only in the dhcp result struct. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * net: dhcp: Allow to specify network deviceSascha Hauer2017-12-141-1/+9
| | | | | | | | | | | | | | | | | | Instead of allowing to DHCP only on the "current" network device, allow to specify the desired network device. This is a first step to get rid of the concept of a "current" network device. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | ARM: phytec-som-am335x: Add autoenableDaniel Schultz2017-11-071-0/+2
|/ | | | | | | | Add autoenable for components, which can be populated on an AM335x phyCORE SoM. Signed-off-by: Daniel Schultz <d.schultz@phytec.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: omap: Fix error printingSascha Hauer2017-06-271-2/+2
| | | | | | | | | Presumably the code wanted to print the error with the %d format specifier. Actually pass the error code by using PTR_ERR() and not IS_ERR(). While at it use %ld to print a unsigned long variable to get rid of a compiler warning. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* arm: mach-omap: Change mountpoint of boot partitionsDaniel Schultz2017-05-171-11/+25
| | | | | | | | | | | | If using EMMC and SD as bootsources, mounting the boot partition of both devices to /boot makes trouble. Either the correct device is mounted to /boot or a remount of /boot has to be performed. To ensure this problem each MMCn bootsource will be mounted to his own path in /mnt/mmcN.0 Signed-off-by: Daniel Schultz <d.schultz@phytec.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* arm: mach-omap: Change file flags in emmc handlerDaniel Schultz2017-05-051-1/+1
| | | | | | | | | This handler tries to read from a file descriptor with 'write only' flags and fails. Add read permissions for the file, so the handler can read the partition layout. Signed-off-by: Daniel Schultz <d.schultz@phytec.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* arm: am33xx: Initialize EMIF REG_PR_OLD_COUNTDaniel Schultz2017-01-302-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is based on a patch from the U-Boot and fixes two errors with the LCDC. Original commit message from Jyri Sarha [1]: "Initialize EMIF OCP_CONFIG registers REG_COS_COUNT_1, REG_COS_COUNT_2, and REG_PR_OLD_COUNT field for Beaglebone-Black and am335x-evm. With the default values LCDC suffers from DMA FIFO underflows and frame synchronization lost errors. The initialization values are the highest that work flawlessly when heavy memory load is generated by CPU. 32bpp colors were used in the test. On BBB the video mode used 110MHz pixel clock. The mode supported by the panel of am335x-evm uses 30MHz pixel clock." The register values are generated by testing, because there is no formula to calculate them. Also from Jyri Sarha [1]: "In practice the only rule to find an optimal value is to find as high as possible REG_PR_OLD_COUNT value that does not produce LCDC FIFO underflows under worst case scenario. The worst case happens when the highest pixel clock videomode with maximum bpp is used while memory subsystem is stressed by endless stream of writes hitting the same memory memory bank (can be the same address)." It only contains the BeagleBone Black and the Phytec SoM, because I don't have other boards. [1] https://patchwork.ozlabs.org/patch/704013/ Signed-off-by: Daniel Schultz <d.schultz@phytec.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* arm: omap: OMAP_SERIALBOOT needs console supportLucas Stach2017-01-191-0/+1
| | | | | | | It is quite useless without a console and breaks the build. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* arm: am33xx: add reset duration control register address definitionYegor Yefremov2017-01-101-0/+1
| | | | | | | | PRM_RSTTIME register provides settings for global and power domain reset durations. Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/misc'Sascha Hauer2016-10-101-3/+6
|\
| * convert users to %pI4Sascha Hauer2016-09-221-3/+6
| | | | | | | | | | | | | | Convert users of ip_to_string() and print_IPaddr() to %pI4 and remove the now unused functions. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/defenv'Sascha Hauer2016-10-101-3/+0
|\ \
| * | Make generic default environment type a use choiceSascha Hauer2016-10-101-3/+0
| |/ | | | | | | | | | | | | | | So far it was hardcoded for each board if defenv-1 or defenv-2 is used. Make this a user choice so that a particular board no longer enforces a defenv type. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* / Add support for Baltos systemsYegor Yefremov2016-10-071-0/+7
|/ | | | | | | | OnRISC Baltos devices are based on a am335x SoC and can be booted either from MMC or NAND. Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* include: Move bulk of boot.h to bootm.hSascha Hauer2016-07-261-1/+1
| | | | | | | | The majority of the stuff currently in include/boot.h is about bootm code implemented common/bootm.c. To be more consistent move it to a new file include/bootm.h. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* OMAP: am33xx_bbu_nand: Extent barebox update handlerTeresa Remmet2016-06-302-24/+33
| | | | | | | | Make it possible to write barebox image to multiple partitions like xload partitions. Signed-off-by: Teresa Remmet <t.remmet@phytec.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* OMAP: xload: nand: Check for redundant barebox partitionTeresa Remmet2016-06-302-1/+18
| | | | | | | | Add a support for a redundant barebox backup partition if loading barebox image from first barebox partitions fails. Signed-off-by: Teresa Remmet <t.remmet@phytec.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* OMAP: xload: Factor out reading image from mtd partitionTeresa Remmet2016-06-301-49/+22
| | | | | | | Remove code duplication of reading images out of mtd partitions. Signed-off-by: Teresa Remmet <t.remmet@phytec.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>