Commit graph

2685 commits

Author SHA1 Message Date
Rajkumar Ayyasamy
04d99019b2 ipq6018: add support to flash individual ubi volumes
Change-Id: I660879ffa28437eb88faa04ee61d329c224d16f9
Signed-off-by: Rajkumar Ayyasamy <arajkuma@codeaurora.org>
2019-09-13 15:13:08 +05:30
Antony Arun T
fedd981dfd ipq6018: Adding support for ipq6018-AP-CP01-C2
Change-Id: Ibf0771ad18d7d6cd52ddb92a5950053d25f3132d
Signed-off-by: Antony Arun T <antothom@codeaurora.org>
2019-07-01 14:28:58 +05:30
Sumit Gaur
bd09174584 qcn3018: Set number of cores for QCN3018
QCN3018 has only 2 cores, the kernel has to bringup
only 2 cores, hence if the SoC is identified as QCN3018
restrict the number of cores using "maxcpus" bootargs

Change-Id: Idafc44c02de302b65f9c9dfc5f77783a91b2c018
Signed-off-by: Sumit Gaur <gaur@codeaurora.org>
2019-06-19 06:15:26 -07:00
speriaka
643b6d5eb5 u-boot: ipq6018: Fix i2c and net driver compile time warnings
Change-Id: I269d0bd681d2a9e4042eb3943b0060e36d9b3758
Signed-off-by: speriaka <speriaka@codeaurora.org>
2019-06-18 21:39:03 -07:00
Sham Muthayyan
da7ff0332a ipq806x: Add MII RESET and AUTONEG for all phy devices
Change-Id: I63972ccc1e9dc139ab282ee4ac66b1884ba5e4dc
Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
2019-06-13 01:03:49 -07:00
Antony Arun T
f3c23aaa63 emmc: move macro definition to board specific files
moving emmc related macros definitions to ipq807x & ipq40xx
board specific files from common files to avoid
redefined compilar warnings

Change-Id: Ic8d9537535a0b5439d42e8b0b53faadba72c50a3
Signed-off-by: Antony Arun T <antothom@codeaurora.org>
2019-06-10 11:24:59 +05:30
Pavithra Palanisamy
b7239058e9 ipq: Enable crashdump collection in usb device
This change enables support to collect crashdump files
in connected usb storage device on requirement.

Change-Id: If191bcae5329dd2c9e84035069e4d9b0e73b546b
Signed-off-by: Pavithra Palanisamy <pavip@codeaurora.org>
2019-05-30 20:17:55 +05:30
speriaka
31277e6448 u-boot: drivers: net: Update edma config for ipq6018
Change-Id: I23f198474cdc73f7d2fb0c0dcc328bd080b6799a
Signed-off-by: speriaka <speriaka@codeaurora.org>
2019-05-24 08:58:43 -07:00
sameeruddin shaik
63a507e7ff ipq: Fix compiler warnings in u-boot-2016
This change will fix the following compiler warnings for AK and DK targets.
1.Wimplicit-function-declaration
2.Wdiscarded-qualifiers
3.Wstrict-prototypes
4.Wmaybe-uninitialized
5.Wunused-variable
6.Wint-conversion

Change-Id: I364904283172ccb19602ae1b6deceb8c61ea7638
Signed-off-by: sameeruddin shaik <samesh@codeaurora.org>
2019-05-23 18:36:28 +05:30
Rajkumar Ayyasamy
6913ae43dc ipq6018: Adding support for elf image authentication
Change-Id: I8fea42274a503199f9db786270871af390b6b199
Signed-off-by: Rajkumar Ayyasamy <arajkuma@codeaurora.org>
2019-05-09 13:28:28 +05:30
Venkat Raju Sana
2e7684f3f9 ip1807x:Initial commit for Minidump
Change-Id: If08d31ebb009d6b37ee55861644ab1f11a46ac98
Signed-off-by: Venkat Raju Sana <vrsana@codeaurora.org>
2019-03-29 12:47:06 -07:00
Antony Arun T
f5e48f3e59 ipq6018: Enabling Ethernet support
Change-Id: If49c5b86fb08bda0ab29d7663fa0f8fca9a9f5bb
Signed-off-by: Antony Arun T <antothom@codeaurora.org>
2019-02-15 18:55:16 +05:30
sameeruddin shaik
8338952d77 ipq807x: Fix compiler warnings in u-boot
Change-Id: Icd0c082fcc5d191745e4e4242dda5a7f3b22c4f0
Signed-off-by: sameeruddin shaik <samesh@codeaurora.org>
2019-01-22 12:57:57 +05:30
sameeruddin shaik
f2741fbe5a ipq806x: Disable relocation in uboot-2016
This change will resolve the "L2 Master port decode error"
 print in the Kernel log.

Change-Id: I12fd39a85093cc1d7fab336898e039a61eeb5565
Signed-off-by: sameeruddin shaik <samesh@codeaurora.org>
2018-11-29 10:54:48 +05:30
Linux Build Service Account
caac981e1b Merge "ipq6018: Enable i2c subsytem" 2018-11-20 22:15:57 -08:00
Venkat Raju Sana
a80c2f0118 ipq6018: Enable i2c subsytem
Change-Id: Ia727b07803f738588241b8406f125ec3f9ac1472
Signed-off-by: Venkat Raju Sana <vrsana@codeaurora.org>
2018-11-15 09:56:10 -08:00
sameeruddin shaik
9ad98fee86 ipq806x: Added new scm_atomic_call
use scm_atomic_call to access the usb_mode_controller
register in u-boot.

Change-Id: I9523f2dcf312fa1526d6b7052e98a0d9489c1701
Signed-off-by: sameeruddin shaik <samesh@codeaurora.org>
2018-11-05 01:29:32 -08:00
Rajkumar Ayyasamy
377c85ed8d qca: ipq6018: Adding support for IPQ6018
Added config, dts and initial board support code for ipq6018

Change-Id: I8cdc6d43f936179733c2c27e2b52dcf3477a892e
Signed-off-by: Rajkumar Ayyasamy <arajkuma@codeaurora.org>
2018-09-20 18:49:55 +05:30
Gokul Sriram Palanisamy
6eba23c6c0 qca: Removed duplicate header file qca_common.h
Change-Id: I437d016bce46b21a1d93520f4f28cfa7b2f3e3e5
Signed-off-by: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
2018-08-20 06:21:41 -07:00
Pavithra Palanisamy
316e48fb0d qca: Add uboot-CLI command "flash"
The "flash" command erases given partition and
writes the image to flash.

Change-Id: I059414fd3d7eefeac0c626e1980a70985f2de986
Signed-off-by: Pavithra Palanisamy <pavip@codeaurora.org>
2018-07-13 19:48:38 +05:30
Gokul Sriram Palanisamy
c2382fa2fd bootm: Setting fdt_high at the end of board_init
We set 'fdt_high' inside 'bootipq' command.
While booting initramfs image using bootm,
fdt_high is not set causing fdt being loaded
at some random address that could be reserved
from kernel causing boot failure.

Change-Id: I769367dda8cbdf1b1b95233af52780f6d674f50f
Signed-off-by: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
2018-07-10 15:21:14 +05:30
Gitanjali Krishna
3cc4f89b3d ipq40xx: Device tree support for AP.DK07.1-C4
This change enables u-boot support for AP.DK07.1-C4 configuration.
AP.DK07.1-C4 enables QCA402x IOT support

Change-Id: I5982b8f8783755b03d11c878f8108d71e6ace6d1
Signed-off-by: Gitanjali Krishna <gitanjal@codeaurora.org>
2018-06-19 20:20:56 -07:00
Kathiravan T
787612bfba ipq: enable the support to authenticate the signed images
This patch enables the support to authenticate the signed images
before flashing through the 'secure_authenticate' command.

Also, changes have been done for compatibility with the 64Bit TZ variants.

Change-Id: I0972b481b826c9594367eda31a2e9c87566db705
Signed-off-by: Kathiravan T <kathirav@codeaurora.org>
2018-06-12 04:54:26 -07:00
Pavithra Palanisamy
6ad227588f ipq: Add entry to expose boot mode
Add environment variable in uboot and device-tree node
in kernel as "flash_type" to expose current boot mode.

Change-Id: I15d4547f135f187a157dd7b303fc31f2df77cec2
Signed-off-by: Pavithra Palanisamy <pavip@codeaurora.org>
2018-05-29 12:33:25 +05:30
Linux Build Service Account
6e4d2c720d Merge "mtd: nand: qcom: use oobsize from nand id table" 2018-04-26 08:51:47 -07:00
Abhishek Sahu
2be258bb00 mtd: nand: qcom: use ECC according chip spare bytes for non ONFI
The ONFI NAND device specifies the required ECC correction in its
param page but for non ONFI device, we don't have such info.
The QPIC NAND contoller can use 8 bit ECC if the chip has required
number of spare bytes. This patch calculates the minimum required
spare bytes for using 8 bit ECC and select the same, if non ONFI
device has required number of spare bytes otherwise 4 bit ECC
will be used.

Change-Id: If7c718f4288eee16857171335897e3209a05fd0b
Signed-off-by: Abhishek Sahu <absahu@codeaurora.org>
2018-04-26 12:20:14 +05:30
Md Sadre Alam
6878c037e3 ipq807x: board: Pass UUID of rootfs partion to kernel in bootargs
This change is for mounting the rootfs partition in kernel based
on UUID(Universally Unique IDentifier). In embedded system it is
common to store rootfs on SD card or eMMC. Typically the kernel
command line has like: root=/dev/mmcblk0p20 to tell the kernel
where to look for rootfs partition. The problem in this approach
is the eMMC device number can vary based on wether the SD card
present or not in the SD card slot. Also depending on kernel version
the eMMC device number can vary. This means passing the eMMC device
for specifying the rootfs location is not robust approach.
If SD card first get detected then the base minor 0 is assigned to
SD card and kernel will try to mount rootfs from SD card and if
there is no rootfs present on SD card then kernel fail to mount the
rootfs.

Change-Id: Ia9e6dded61292bed8a10a40fd3cb86f4026393eb
Signed-off-by: Md Sadre Alam <mdalam@codeaurora.org>
2018-04-24 10:51:08 +05:30
Rajkumar Ayyasamy
5364cd9d80 ipq40xx: Added support for DK04-C6 board
Change-Id: Ic9f451c30f4991df8013ae3191ad4384aed6f730
Signed-off-by: Rajkumar Ayyasamy <arajkuma@codeaurora.org>
2018-04-10 12:19:53 +05:30
Antony Arun T
a3303e7b23 ipq806x: Dump CPU1 register contents as part of crash dump
Invokes TZ (via scm call) to pull Core-1 out of reset if
crash magic is set. TZ saves the register contents in the
NSS TCM, which is saved from U-Boot as CPU1_REG.BIN as part
of the crash dump saving procedure.

Change-Id: I8e1404fb354a47ae69d70d13a79f45bd4eb1c450
Signed-off-by: Antony Arun T <antothom@codeaurora.org>
2018-03-01 10:27:30 +05:30
Linux Build Service Account
3174e97d20 Merge "ipq40xx: Replace sprintf with snprintf" 2018-02-27 23:40:26 -08:00
Sasirekaa Madhesu
75d4a7a9c2 ipq40xx: Enabled Ethernet initialization for DK07-C2 board
Change-Id: I9aec449ce94e99a2d641fc6adb6c1bb09cf0d6e6
Signed-off-by: Sasirekaa Madhesu <smadhesu@codeaurora.org>
2018-02-22 21:05:54 -08:00
Sasirekaa Madhesu
612713b37f ipq40xx: Add ethernet support for DK07-C3 board.
This patch enables ethernet initialization in
DK07-C3 board.

Change-Id: I70bf4dd2917b0fc02f937b236e68ebcb6b1c423c
Signed-off-by: Sasirekaa Madhesu <smadhesu@codeaurora.org>
2018-02-19 12:02:27 +05:30
Linux Build Service Account
7be2d06674 Merge "mtd: nand: qcom: erased page bitflips detection." 2018-02-08 15:43:35 -08:00
Sasirekaa Madhesu
c5ffa908c0 ipq40xx: Replace sprintf with snprintf
Change-Id: I2f1d31901ce4c4b15dad9e25265597518d4b4122
Signed-off-by: Sasirekaa Madhesu <smadhesu@codeaurora.org>
2018-02-08 12:40:04 +05:30
Rajkumar Ayyasamy
8ac98b5fd9 ipq40xx: spi: Added support for GD25Q256
Change-Id: Iefc667c95558234e54111e6052f16e0f035b24ab
Signed-off-by: Rajkumar Ayyasamy <arajkuma@codeaurora.org>
2018-02-06 14:46:09 +05:30
Linux Build Service Account
d82fe7ce10 Merge "QCA: Crashdump data to flash" 2018-01-31 04:02:44 -08:00
Gokul Sriram Palanisamy
ebfe553da8 QCA: Crashdump data to flash
If the dump_to_flash environment variable is set with the proper
offset in u-boot, crashdump data will be stored to flash memory.
Otherwise it will be stored in tftp server.

Change-Id: I10ac1016e3dfe6a2fa11a0a67c5774b29c3df67a
Signed-off-by: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
2018-01-29 13:18:16 +05:30
Kathiravan T
4d784a580a ipq806x: support to add the tz version to the device tree
Made the necessary changes to retrieve the tz version through
SCM call and append the same to device tree.

Change-Id: I890f82a4ec03bb9c24eccce09fdeba9d948e1c71
Signed-off-by: Kathiravan T <kathirav@codeaurora.org>
2018-01-25 10:46:17 +05:30
Gokul Sriram Palanisamy
e1b9106107 ARM: qca: Skipping u-boot prompt during crashdump
If crashdump magic is found, should not allow user
to access u-boot prompt as tz will be in unsecure state.

Change-Id: Icdc94c33fb87664857bafa981950f9768794cf11
Signed-off-by: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
2018-01-10 04:27:44 -08:00
Kathiravan T
083a3f7efb ipq: qca: move smem_ram_ptable structure to board specific
ipq806x has different alignment of smem_ram_ptable structure when
compared to ipq40xx / ipq807x, which leads to fetching of wrong
information.

This patch addresses the issue by moving the above structure to
board specific.

Change-Id: If7bf2fc54243fc38d1b0a5c9e6f6ba6f9641c700
Signed-off-by: Kathiravan T <kathirav@codeaurora.org>
2018-01-04 20:52:52 -08:00
Kathiravan T
2e4f4226e6 ipq806x: enabled USB support
Change-Id: I621d9de5c33dc78fb8121194eb1560ac817afe7a
Signed-off-by: Kathiravan T <kathirav@codeaurora.org>
2017-12-27 09:32:30 +05:30
Vasudevan Murugesan
46632823a3 Revert "ARM: qca: Skipping u-boot prompt during crashdump"
This reverts commit 7e12e80ba8.

Change-Id: Ib5b47336577e84a4033e8bdb079f34939e5045df
Signed-off-by: Vasudevan Murugesan <vmuruges@codeaurora.org>
2017-12-12 16:03:12 +05:30
Sham Muthayyan
b18b57ef52 ipq806x: Add PCIE clocks for ipq806x
Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
(cherry picked from commit 8428307000130587e3676cfd5a096a970d46a380)

Change-Id: I3a8a1f5f7bbb791a036110babe6fc9e4bccf5f03
Signed-off-by: Kathiravan T <kathirav@codeaurora.org>
2017-12-04 10:35:40 +05:30
Linux Build Service Account
fb60095895 Merge "ARM: qca: moving function get_smem_spi_addr_len specific to core" 2017-11-24 06:37:06 -08:00
Gokul Sriram Palanisamy
7e12e80ba8 ARM: qca: Skipping u-boot prompt during crashdump
If crashdump magic is found, should not allow user
to access u-boot prompt as tz will be in unsecure state.

Change-Id: I081e84eceada7ffe72d9b4fa4f0425535e4aabde
Signed-off-by: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
2017-11-19 20:30:28 -08:00
Rajkumar Ayyasamy
20c19839b0 ARM: qca: moving function get_smem_spi_addr_len specific to core
Change-Id: I45c8c8bfe549998e96e2054c009b41ddbdd3a587
Signed-off-by: Rajkumar Ayyasamy <arajkuma@codeaurora.org>
2017-11-15 18:27:20 +05:30
Abhishek Sahu
726702b83b mtd: nand: qcom: erased page bitflips detection.
Some of the newer nand parts can have bit flips in an erased
page due to the process technology used. In this case, qpic
nand controller is not able to identify that page as an erased
page. In case of bitflips, the ECC engine tries to correct the
data and then it generates the uncorrectable error. Now, this
data is not equal to original raw data.

Following logic is being added to identify the erased
codeword bitflips.
1. Maintain the bitmasks for the codewords which generated
   uncorrectable error.
2. Read the raw data again in temp buffer and count the
   number of zeros. Since spare bytes are unused in ECC layout and
   won’t affect ECC correctability so no need to count number of
   zero in spare bytes.
3. If the number of zero is below ECC correctability then it
   can be treated as erased CW. In this case, make all the data/oob
   of actual user buffers as 0xff.

Change-Id: Ie0427c6802e2e41234137e0fbbf51c5a50a35946
Signed-off-by: Abhishek Sahu <absahu@codeaurora.org>
2017-11-07 03:33:53 -08:00
Abhishek Sahu
698a7e98e0 mtd: nand: qcom: store the number of spare, ecc and bbm bytes
This patch does minor code reorganization to store spare, ecc and
bbm bytes in nand device structure which will be useful in
subsequent patches.

Change-Id: Id44c53e204a874569968764798c346a609695acf
Signed-off-by: Abhishek Sahu <absahu@codeaurora.org>
2017-11-07 03:33:49 -08:00
Abhishek Sahu
e2d3adc527 mtd: nand: qcom: reorganize read page error handling
Following are the major issues in current implementation for
checking the read errors

1. For checking the erased CW, NAND_ERASED_CW_DETECT_STATUS
   is being read inside qpic_nand_check_status. The
   qpic_nand_check_status will be called after complete page read
   so reading status register won’t help in getting the register
   value after each CW reads.
2. The mtd layer expects the driver to return non-negative
   integer representing the maximum number of bitflips that were
   corrected on any one ecc region. The mtd layer takes care of
   returning EUCLEAN based on returned number.
3. mtd->ecc_stats is only applicable when ECC engine is
   doing ECC correction. For raw reads, the stats should not be
   incremented.

Now the changes have been done to reorganize the error handling

1. schedule the NAND_ERASED_CW_DETECT_STATUS reading after
   every CW read and check the same if ECC engine generates
   uncorrectable error.
2. For raw read, the ECC engine will never generate the
   uncorrectable error or erased CW so check only
   NAND_FLASH_STATUS.
3. The qpic_nand_read_oob should return the maximum number
   of bitflips that were corrected on any one ecc region so
   introduce the max_bitflips for maintaining the same.
4. The read should return the complete data in case of
   BADMSG so move the BADMSG check in the main read function.

Change-Id: Ibef56294ace00d7cd67b501f623fb1d3aeb2c6ec
Signed-off-by: Abhishek Sahu <absahu@codeaurora.org>
2017-11-07 03:33:45 -08:00
Abhishek Sahu
136a1cd106 mtd: nand: qcom: init mtd ecc strength and bitflip_threshold
1. ecc strength can be assigned in mtd structure itself so
   remove the ecc_width from qpic nand dev structure
2. Initialize bitflip_threshold with 3*4 of ecc strength so
   that MTD layer will return EUCLEAN if number of ecc correction
   are more than bitflip_threshold.

Change-Id: Ieafd1957b89a05f9dd0fdfe829712d8891bd6a48
Signed-off-by: Abhishek Sahu <absahu@codeaurora.org>
2017-11-07 03:33:40 -08:00