Commit graph

2652 commits

Author SHA1 Message Date
Linux Build Service Account
7be2d06674 Merge "mtd: nand: qcom: erased page bitflips detection." 2018-02-08 15:43:35 -08:00
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
Abhishek Sahu
7ac43aedb3 mtd: nand: qcom: remove unused status code for bad page
NANDC_RESULT_BAD_PAGE is not being returned by any operation, so
it can be removed.

Change-Id: Ia90e4e6b7ef7577d069d312d51083b50f49bf980
Signed-off-by: Abhishek Sahu <absahu@codeaurora.org>
2017-11-07 03:33:34 -08:00
Vasudevan Murugesan
7fd4f44ace ipq807x: mmc: Enabled SDHCI ADMA support
This patch enables SDHCI mode and also supports
data transfer using ADMA method.

Change-Id: Ia3187fec9024ad0972ca720cf0b9ddc6a59b906c
Signed-off-by: Vasudevan Murugesan <vmuruges@codeaurora.org>
2017-11-03 02:52:37 -07:00
Sham Muthayyan
db4516262a qcom: nand: Issue the Reset command before probe
Reset command must be the first command issued to all
targets after the NAND flash device is powered on.

Change-Id: I617dc5b0ad8d72705dcf20f1cb554134b166e533
Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
2017-10-25 23:45:34 -07:00
Sham Muthayyan
921da8d0b2 ipq807x: Add SMEM_SPI_ADDR_LEN support for SPI flash
This SMEM type is to determine the spi flash addr is in 3 byte
or 4 byte.

Change-Id: I705a9c5c6f760b93e112a873ead41cd76520501b
Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
2017-10-25 16:53:30 +05:30
Gokul Sriram Palanisamy
09628e67ad ipq8074: Support for TZT execution
Change-Id: I59a1659893783db9dec8b23c53c34ba7b87f83b0
Signed-off-by: Gopinath Sekar <gsekar@codeaurora.com>
Signed-off-by: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
2017-10-16 09:54:28 +05:30
Gokul Sriram Palanisamy
f9ad5ac9d7 ipq807x: Modified scm calls to support both 32 bit and 64 bit
Change-Id: Iee99423239f7de49a9fc7a4c2e6244df385f5f09
Signed-off-by: Gopinath Sekar <gsekar@qti.qualcomm.com>
Signed-off-by: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
2017-10-12 04:46:15 -07:00
Gokul Sriram Palanisamy
e0e7c2116a ARM: dumpqca: Added entry for secure boot
Added a separate dumpinfo entry for
Secure boot to skip secure region.

Change-Id: Ib3836a851e8b0603a9c08013de293dcbe8e3c0fb
Signed-off-by: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
2017-10-12 04:45:57 -07:00
Gokul Sriram Palanisamy
c6b251a55e ARM: qca: Included dynamic IMEM dump address support
NSS-IMEM region is copied to a dynamic address
region in DRAM during kernel crash to avoid
NSS dump corruption.
This patch includes support to save the NSS dump
from the dynamic DRAM region to file in host machine.

Change-Id: I6131da890dc8bde382a3d2511ea930cd76c1f79e
Signed-off-by: Manoharan Vijaya Raghavan <mraghava@codeaurora.org>
2017-09-22 01:21:44 -07:00
Gokul Sriram Palanisamy
9dc890a648 ipq807x: Reset operation through PSCI
Change-Id: Ib1f2e8f7990101aaa48c3bc259ec293008efca02
Signed-off-by: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
2017-08-17 00:02:58 -07:00
Gokul Sriram Palanisamy
fbc358204d ARM: eMMC: Updated number of alternate partitions
Updated number of alternate partitions and
alternate partition data structure to match
smem entry.

Change-Id: I62484e369ed3d35037237fde2d71f9af045e438a
Signed-off-by: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
2017-08-10 19:00:47 +05:30
Gokul Sriram Palanisamy
4e88bbf154 ARM: qca: scm_call: Added fuseipq support
Added scm_call wrapper to support fuseipq
command to work with 64 bit scm_call.

Change-Id: Ie1fd2925e9f7ed5b3eb57eb44b1c360d0d7de916
Signed-off-by: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
2017-08-03 18:25:47 +05:30
Sham Muthayyan
9841ffefc8 ipq807x: Added the baud rates support
Change-Id: I099488e7a0a74669b974c6892022922c3f14610a
Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
2017-07-06 23:57:02 -07:00
Sham Muthayyan
6f1452c953 ipq807x: Deinit pcie before loading kernel
Change-Id: I22fe87dac2fd8f55978481fae71ee65281dfd204
Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
2017-06-29 08:53:06 -07:00
Abhishek Sahu
4d61ddbda3 qcom: nand: configure QPIC XFER STEPS registers
The QPIC XFER STEPS will not be configured in non NAND boot
mode and the data transfer speed will be very slow. Now this
patch reads the timing parameter from ONFI page and configures
the NAND XFER STEPS registers for highest supported ONFI mode.
For NON ONFI device, it will configure to default mode.

Change-Id: I2daf4a92255307efc53db9bb7fe2f02e8c00c3fa
Signed-off-by: Abhishek Sahu <absahu@codeaurora.org>
2017-06-22 23:48:48 -07:00
Gokul Sriram Palanisamy
c0ee616f63 ARM: ipq8074: Added scm_call support for crash dump
Change-Id: I47f7192a464f92dbd8c2332767030ec04da9fc47
Signed-off-by: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
2017-06-01 07:18:09 -07:00
Jaiganesh Narayanan
428fc1d379 ipq: move qca8075 mdio, phy driver into common directory
ipq40xx, ipq807x hardware share the qca8075 phy. So the qca8075 phy
mdio, driver has been moved to common directory for use by both the
hardware.

Change-Id: Id6e9342438ffbdf8599860df6fbb39bba30429b3
Signed-off-by: Jaiganesh Narayanan <njaigane@codeaurora.org>
2017-05-29 08:02:40 -07:00
Gokul Sriram Palanisamy
757ae11af9 ARM: qca: ipq8064: Secondary flash type setting is board specific
flash_secondary_type is specific to ipq8064. Initialization of this
parameter is moved into boards specific file.

Change-Id: If1a0e44e3d0a674ce497de045d9c5095b67bc913
Signed-off-by: Gokul Sriram Palanisamy <gpalan@codeaurora.org>
2017-04-11 14:23:24 +05:30
Aditya Kumar Patra S
335c21b1a2 ipq807x: Added ethernet support
Added the ipq807x ethernet edma, ppe driver support

Change-Id: Ibcac04d8a60c1ca74549834b70735a6f15b58358
Signed-off-by: Aditya Kumar Patra S <apatr@codeaurora.org>
2017-02-09 10:25:56 +05:30
Vasudevan Murugesan
f96d461a27 ipq806x: Enabled SDCC support
This patch enables qca_mmc driver and
also has the changes required for emmc
support

Change-Id: Icc8d807caffced79d6ca576fe6220c522ebda3f7
Signed-off-by: Vasudevan Murugesan <vmuruges@codeaurora.org>
2017-02-01 21:23:50 -08:00
Saravanan Jaganathan
322b2ebaf8 Revert "ARM: net: ipq807x: Added ethernet support for hk-01 h/w"
This reverts commit 290b4e0b2d.

Change-Id: I9213daec575a426443681759f28c38b943fc001c
Signed-off-by: Saravanan Jaganathan <sjaganat@codeaurora.org>
2017-01-27 17:33:30 +05:30
Jaiganesh Narayanan
290b4e0b2d ARM: net: ipq807x: Added ethernet support for hk-01 h/w
Added the ipq807x ethernet edma, ppe, gmac driver support
in the u-boot

Change-Id: I1d8ddd19f2c3d3765adda2253d3b71876142aa59
Signed-off-by: Jaiganesh Narayanan <njaigane@codeaurora.org>
2017-01-16 14:37:51 +05:30
Prabhu Jayakumar
97c3087906 qca: move ARM specific files to another sublevel
As the U-boot source is going to be common between ARM and MIPS
architecture , it is required to pick only the files specific
to the respective architectures during the build.

So, move the qca arm target specific common files to another
sub level by specifying the ARCH arm.

Change-Id: I06b538834109981f21fef6270bfb8e437a2f5a7e
Signed-off-by: Prabhu Jayakumar <pjayak@codeaurora.org>
2017-01-06 12:33:30 +05:30
Gokul Sriram Palanisamy
3d9bb6e8f1 ARM: qca: ipq8064: Added support for NOR+NAND
Updates mtdparts and mtdids to add secondary NAND partition.

Change-Id: Iddf7dd7507a4c531c8247b07ff7d244db7091ef2
Signed-off-by: Gokul Sriram Palanisamy <gpalan@codeaurora.org>
2016-12-21 15:29:22 +05:30
Ajay Kishore
db05c5974f ipq806x: Added support for I2C diagnostics
Change-Id: I1287a66b25e437cd29feb755c034407ea1555ca5
Signed-off-by: Ajay Kishore <akisho@codeaurora.org>
2016-11-16 12:21:11 +05:30
Gokul Sriram Palanisamy
96fa862182 qca: moving qpic-nand initialization to common location
Moves qpic-nand configuration and gpio initialization routine
to common location.

Change-Id: Ic78230d4e66450bb6804cf9cbd79cec9e8d2f5df
Signed-off-by: Gokul Sriram Palanisamy <gpalan@codeaurora.org>
2016-10-18 05:27:50 -07:00
Sham Muthayyan
7da9e191b4 mtd: nand: Fixed the nand controller for IPQ806x
Change-Id: I3d5ca487d809f72f3b2015f7dd02eb5b4daf536d
Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
2016-10-17 02:34:24 -07:00
Sham Muthayyan
55a105ea74 qcom: ipq: Add nand specific header files
Change-Id: Ie3a269d67589a3eaa2805212ec15fd6ddeac120a
Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
2016-10-14 06:58:18 -07:00
Aditya Kumar Patra S
85671fbdd2 qca: ipq806x: Moved clock.c to driver/clk/ location.
Change-Id: Ib4246f2fbe0ab0085827833b93c71835255c5361
Signed-off-by: Aditya Kumar Patra S <apatr@codeaurora.org>
2016-10-07 01:41:38 -07:00
Aditya Kumar Patra S
d2639a4f08 qca: ipq806x: Adding ethernet init sequence.
1. Added Ethernet and switch init calls.
2. Added GMAC config info to Devicetree.
3. Enabled Network components in config file.

Change-Id: I1704b01ca9f991934045a2d23f52d1af0f490aab
Signed-off-by: Aditya Kumar Patra S <apatr@codeaurora.org>
2016-10-07 01:41:29 -07:00
Aditya Kumar Patra S
2c97e2ff04 qca: ipq806x: Modified Eth and Switch drivers to read data from DTB.
Change-Id: Ie35b52a2c022c29de341c63af13c67b95f7e565a
Signed-off-by: Aditya Kumar Patra S <apatr@codeaurora.org>
2016-10-07 01:41:13 -07:00
Aditya Kumar Patra S
f8b348e00b qca: Made IPQ806x specific changes to common boardinit and bootipq files.
1. Modified common bootipq command file to support IPQ806x.
    2. Modified common board initialization file to support IPQ806x.

Change-Id: I1fdd93037b885eefea0c5ddede9436861dd485b3
Signed-off-by: Aditya Kumar Patra S <apatr@codeaurora.org>
2016-10-07 14:09:49 +05:30
Aditya Kumar Patra S
db8cc686a2 qca: Added IPQ806x spcific Changes to common SMEM.
Only ipq40xx and ipq807x specific functionalities were
available in common SMEM. Made ipq806x specific changes
so that all QCA platforms can use this.

Change-Id: I00fc9c9ba8e2545d665c9791849d82e0ab5d974a
Signed-off-by: Aditya Kumar Patra S <apatr@codeaurora.org>
2016-10-07 12:23:27 +05:30
Ajay Kishore
3491df2edd ipq40xx : Enable crashdump support
Change-Id: Ibd3b04dcc7870be1922409f81f3011b7edac35bc
Signed-off-by: Ajay Kishore <akisho@codeaurora.org>
2016-10-04 06:52:29 -07:00