Commit graph

8406 commits

Author SHA1 Message Date
Linux Build Service Account
68f0e9fb64 Merge "ipq806x: Enabling pci for AP160 and Ap160_2xx board" 2018-02-08 18:36:16 -08:00
Linux Build Service Account
7be2d06674 Merge "mtd: nand: qcom: erased page bitflips detection." 2018-02-08 15:43:35 -08:00
Linux Build Service Account
3221496969 Merge "qca: spi-nor: Store the probe information to avoid unnecessary probes" 2018-02-08 15:43:34 -08:00
Rajkumar Ayyasamy
fd01d1b29b ipq806x: Enabling pci for AP160 and Ap160_2xx board
1. Added pci entries in AP160 and AP160_2xx dts

2. The wifi pcie card requires to be powered on from GPIO
pins. This patch also adds the same in AP160 dts file and
enable it during PCIe configuration.

Change-Id: Icd8f5741d5df38d46640c78a7475853e77b873a9
Signed-off-by: Rajkumar Ayyasamy <arajkuma@codeaurora.org>
2018-02-08 18:06:48 +05:30
Santan Kumar
a0dd6f4332 qca: spi-nor: Store the probe information to avoid unnecessary probes
Change-Id: If7260e4a4065d6406d9a8554f43853663f0e8f3b
Signed-off-by: Santan Kumar <santank@codeaurora.org>
2018-02-08 15:58:22 +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
Antony Arun T
e089699438 ipq806x: xhci: Changing max packet size as per the spec
Change-Id: Ieab47fbc39f12deeda22d7870a63e4cfc178b064
2018-01-30 12:46:46 +05:30
Antony Arun T
ea2ca09563 ipq40xx: fix emmc erase timeout issue
This patch fixes the erase timeout issue in emmc.

Change-Id: I35031d834fda4ee7560e84787e18e8bc0a3f28fe
Signed-off-by: Antony Arun T <antothom@codeaurora.org>
2018-01-23 15:10:35 +05:30
Sham Muthayyan
be6400b9d7 ipq807x: Add ipq_mdio commands
This command helps to debug the phy issues.

Change-Id: If8354d6826795d9ef9d44112582d3b911963bda5
Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
2018-01-16 21:32:50 +05:30
Linux Build Service Account
a6319f1486 Merge "ipq806x: fix i2c issues on AK" 2018-01-10 08:36:56 -08:00
Sham Muthayyan
897bc3b2a4 ipq807x: Fixed the AQ phy reset
Removing the delay for boot time.

Change-Id: Iab968986d58aa5bc930b7c03bb16f5b1041be3b1
Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
2018-01-09 06:17:13 -08:00
Antony Arun T
07f112afaf ipq806x: fix i2c issues on AK
This patch fixes the issues in below i2c commands.
i2c probe , i2c md and i2c mw commands.

Change-Id: I3dd99e8846452b20a71b0664d325b309f3564579
Signed-off-by: Antony Arun T <antothom@codeaurora.org>
2018-01-09 00:11:38 -08:00
Rajkumar Ayyasamy
8d368edb1a ipq40xx: enable SPI NAND support
This patch enables SPI-NAND support for DK and making
chip select gpio configurable from DTS.

Change-Id: I2ca7d3021fa27da1d83e2a787a1dc626919124f8
Signed-off-by: Rajkumar Ayyasamy <arajkuma@codeaurora.org>
2018-01-08 20:31:35 +05:30
Linux Build Service Account
f2d892333f Merge "ipq40xx: move to spi dma driver from fifo driver" 2018-01-03 10:35:24 -08:00
Linux Build Service Account
190a7c71c3 Merge "ipq40xx: Add SPI NAND support" 2018-01-03 04:36:58 -08:00
Rajkumar Ayyasamy
d96ce76277 ipq40xx: move to spi dma driver from fifo driver
Enabling spi dma driver for ipq40xx. This patch
also enables rx and tx pipe configurable from dts.

Change-Id: Id6009f6e9863ab2cdf8b105461d62aa68e3d004b
Signed-off-by: Rajkumar Ayyasamy <arajkuma@codeaurora.org>
2018-01-03 04:34:54 -08:00
Rajkumar Ayyasamy
f44fe93184 ipq40xx: Add SPI NAND support
Change-Id: I74de22fcea6455f73f263672b72b30b796f6c820
Signed-off-by: Rajkumar Ayyasamy <arajkuma@codeaurora.org>
2018-01-02 14:57:16 +05:30
Linux Build Service Account
3e3685a601 Merge "ARM: sdhci: Added auto increment for command timeout" 2017-12-28 01:33:53 -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
Linux Build Service Account
0f0347f694 Merge "ipq40xx: add snapshot of spi_nand driver" 2017-12-26 06:59:33 -08:00
Gokul Sriram Palanisamy
0c3cc6d7e7 ARM: sdhci: Added auto increment for command timeout
Change-Id: I79a2ec29e5623e12838e82581324c41dab78b872
Signed-off-by: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
2017-12-22 03:44:23 -08:00
Sham Muthayyan
91b49b6910 ipq807x: Enable the PPE tx_mac only if the phy link is up
Enable the PPE tx_mac only if the phy link is up else disble
the PPE tx_mac.

Change-Id: I7226a104fa287f8378b98923a00d0caa3f91079d
Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
2017-12-19 22:56:58 -08:00
Sham Muthayyan
a1aa6395b0 ipq807x: Added the 8033 port for uniphy instance 0
Change-Id: I34005349d1dbb74246dbf812f6dbe1ff9024a827
Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
2017-12-17 21:39:13 -08:00
Sham Muthayyan
102d8097d4 ipq807x: Fixed 8033 clocks to improve performance
Change-Id: I53d658b4ab47ba26117f10f7dd34f95cb9cd0cf5
Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
2017-12-17 21:39:00 -08:00
Sham Muthayyan
3e1a092e67 ipq807x: Fixed the i2c register and data
Change-Id: Ib0f63da02d80430893a34b4f45a303c6cb307558
Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
2017-12-11 19:30:00 -08:00
Rajkumar Ayyasamy
d7294fbcca ipq40xx: add snapshot of spi_nand driver
This is a snapshot of the spi_nand as of uboot-1.0
commit:

e6434d80905a219860c8ede78377221ded2510f2 (ipq40xx:
Add bit-flip threshold for QPIC NAND)

Change-Id: I91db5822cc450e9d7eb52fca9eab213784547206
Signed-off-by: Rajkumar Ayyasamy <arajkuma@codeaurora.org>
2017-12-07 20:01:08 +05:30
Linux Build Service Account
48cb38ecf2 Merge "sf: params: Added the GD25Q128 flash support" 2017-12-07 03:00:20 -08:00
Linux Build Service Account
3db4cdde4d Merge "ipq806x: Add PCIE entries for AP148 board" 2017-12-07 00:15:32 -08:00
Rajkumar Ayyasamy
431372a078 sf: params: Added the GD25Q128 flash support
Change-Id: I57504aa1bca17023476980a3fb474613b3d786ca
Signed-off-by: Rajkumar Ayyasamy <arajkuma@codeaurora.org>
2017-12-06 00:28:23 -08:00
Rajkumar Ayyasamy
8ee53b0702 mtd: nand: fixed the 8 bit NAND ECC support
1. This driver is directly being registered with MTD
   layer.So for OOB operations, the device OOB size will be
   passed. NAND controller can’t handle the complete OOB so
   calculate NAND Controller supported OOB size and overwrite
   the device OOB size with that.

2. Enabling 8 bit ECC support in dev0_ecc_cfg register

Change-Id: I5f4297932eea6bed47182d235d081cbe30d1b85c
Signed-off-by: Rajkumar Ayyasamy <arajkuma@codeaurora.org>
2017-12-05 21:01:32 -08:00
Sham Muthayyan
62ab0ec6a6 ipq807x: Issue sf command to read the AQ FW if the partiton is in nor boot
using nand command will change the default nand device to 1. This will
try to read the nor patitions so one if user tries to read the nand partitions.

Change-Id: Id73e89f479b5735fd5b28a871680190f48a76f0e
Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
2017-12-05 19:10:01 +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
Kathiravan T
54e3b91a72 ipq806x: Add PCIE support for IPQ806x
Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
(cherry picked from commit 76d73b57020b06e556c058735f1cc4c55413a7ce)

Change-Id: Icc10df8483940a1735ccdb3a3ffa6723d3be2aa6
Signed-off-by: Kathiravan T <kathirav@codeaurora.org>
2017-12-04 10:27:05 +05:30
Linux Build Service Account
b9477bb47a Merge "mmc: Timeout calculation for erase operation" 2017-11-30 04:31:09 -08:00
Rajkumar Ayyasamy
fb0e42bb80 mmc: Timeout calculation for erase operation
The erase timeout has been calculated using the
EXT_CSD_TRIM_MULT so that the erase operation with
larger block counts are not affected.

Change-Id: Ia6dd9318c44b4da315c2b2a82cfabe9eff0aeb41
Signed-off-by: Rajkumar Ayyasamy <arajkuma@codeaurora.org>
2017-11-30 12:52:59 +05:30
Sham Muthayyan
e4217213f7 ipq807x: Add QSGMII mode support
Change-Id: Ic952513f482590a66341d88606ad7da5d2c405a7
Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
2017-11-29 17:00:24 +05:30
Rajkumar Ayyasamy
692b869ea1 qcom: pci: Making pci-phy entry check applicable only for HK
As DK and AK does not have pci-phy entry making it as
applicable only for HK

Change-Id: I52d110f4012b867bb019859be9168b3aea68bfd4
Signed-off-by: Rajkumar Ayyasamy <arajkuma@codeaurora.org>
2017-11-28 02:59:34 -08:00
Linux Build Service Account
7f2f190e3e Merge "mtd: nand: comparing with dev_id instead of id" 2017-11-27 09:58:45 -08:00
Rajkumar Ayyasamy
afd4597fec mtd: nand: comparing with dev_id instead of id
Change-Id: Iefae4b3e3cb9da8effbb4f03877e9f9f2e381f43
Signed-off-by: Rajkumar Ayyasamy <arajkuma@codeaurora.org>
2017-11-27 15:51:31 +05:30
Sham Muthayyan
2ffbbe3dd2 ipq807x: Support Aquantia AQR112 PHY ID
Change-Id: I9e6a82345bfcf527311e1aef92cfa406a8a173a3
Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
2017-11-27 10:58:08 +05:30
Vasudevan Murugesan
d7c16e971b ipq807x: sdhci: Modified sdhci command timeout to 200msec
Change-Id: I641123fdcb7d56e08e3faad78558e81bcd470506
Signed-off-by: Vasudevan Murugesan <vmuruges@codeaurora.org>
2017-11-15 03:07:39 -08:00
Sham Muthayyan
f3af149d5f ipq807x: SGMII mode settings for all the channels
SGMII channel 0 is used for uniphy instance 1 and 2,
so set the SG_MODE for uniphy instance 1 and 2. Channel 0,1
and 4 are used for instance 0. So set CH1_CH0_SGMII and
CH4_CH1_0_SGMII for channel 1 and 4 respectively.

Change-Id: Ie6f0afa6419a9895f730c89fa27fb80b122acf73
Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
2017-11-08 02:41:01 -08:00
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
2035a079c5 ipq807x: Download firmware only if board has AQ PHY
Change-Id: I4c375367137ffdc3de00fd26882835e47eca86c5
Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
2017-11-01 06:01:14 -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