Commit graph

8667 commits

Author SHA1 Message Date
Vandhiadevan Karunamoorthy
15aa7bfe5a bootqca: correct misprint log
Signed-off-by: Vandhiadevan Karunamoorthy <vkarunam@codeaurora.org>
Change-Id: I87b4f3b2aa4af9af41486e8056bd759a1722ba7c
2021-03-22 12:53:49 +05:30
Karthick Shanmugham
688ca8069d ipq6018: Modified the ppe ports to support 2.5G link in PHY3
Signed-off-by: Karthick Shanmugham <kartshan@codeaurora.org>
Change-Id: Iab6a8f81213cdd1013d22597e623cda5be5cd041
2021-03-10 03:24:54 -08:00
Md Sadre Alam
b05847a5de drivers: nand: qpic_nand: Add support for Macronix spi nand.
This change will add support for Macronix "MX35UF1GE4AC" spi nand

Signed-off-by: Md Sadre Alam <mdalam@codeaurora.org>
Change-Id: I66e82e22217d655b44e30baa64f3aefd5a5f2aaa
2021-01-27 19:59:26 +05:30
Md Sadre Alam
64af2446f8 driver: nand: qpic_nand: Add support for Winbond spi nand
This change will add support for winbond "W25N02JWZEIF"
spi nand device.

Signed-off-by: Md Sadre Alam <mdalam@codeaurora.org>
Change-Id: I1dd258c3f0f3174d09e74fb7ffd0c26a43e6c24b
2021-01-22 19:55:54 +05:30
Md Sadre Alam
17fd8d354d driver: mtd: nand: qcom_nand: Add support for gigadevice nand
GD5F1GQ5REYIH

Signed-off-by: Md Sadre Alam <mdalam@codeaurora.org>
Change-Id: I84e9d15792a86185e444936a8fe0e5ebd061be8a
2021-01-19 13:50:03 +05:30
Md Sadre Alam
02c55e3fb0 driver: nand: qpic_nand: Add support for giga device spi nand
This change will  add support for giga device GD5F1GQ5REYIG
spi nand support.

Signed-off-by: Md Sadre Alam <mdalam@codeaurora.org>
Change-Id: I57211ce34543de81216d86653a45519b97cf2fb0
2021-01-19 13:45:49 +05:30
Md Sadre Alam
4609378109 driver: mtd: qpic_nand: Add support for F50D1G41LB spi-nand
Signed-off-by: Md Sadre Alam <mdalam@codeaurora.org>
Change-Id: Ib042ec361ed4a16b93594a37c8daca6c26840ce7
2021-01-19 13:42:43 +05:30
Linux Build Service Account
57b89f1c98 Merge "driver: nand: qpic_nand: Add support for winbond device" 2021-01-12 05:11:07 -08:00
Karthick Shanmugham
b6d6a4aa72 ipq5018: block_drvr const declared only on HAVE_BLOCK_DEVICE
1. Modified to the declare block_drvr struct and const variable
only on HAVE_BLOCK_DEVICE config enabled.
2. Removed unused const training_block_128

Signed-off-by: Karthick Shanmugham <kartshan@codeaurora.org>
Change-Id: Icfe05aec82a124429443aadf735767366b168d6b
2021-01-06 13:56:43 +05:30
Vandhiadevan Karunamoorthy
a08592083b ipq50xx: net: Update UNIPHY_MISC register address
This changes enable proper uniphy soft reset for mode setting.

Signed-off-by: Vandhiadevan Karunamoorthy <vkarunam@codeaurora.org>
Change-Id: Iebafa56ec4aecee98ba2f124d6140ee15083d317
2020-12-28 17:17:16 +05:30
Md Sadre Alam
82f1b86949 drivers: mtd: qpic_nand: Read one complete page for serial trainig
This change will change serial training data read to one complete
page instead of 64-bytes read. Partial page read will cause some
data curroption issue if read request failed so read one complete page.

Signed-off-by: Md Sadre Alam <mdalam@codeaurora.org>
Change-Id: Ibad101f096440e5dc10dfb4b3329a0aa6bddee7d
2020-12-18 17:34:40 +05:30
Md Sadre Alam
d60219d19c driver: nand: qpic_nand: Fix proper clock source macro in set_clk_rate function.
This change will fix proper clock source macro in set_clk_rate function.
Currently we are passing the wrong value to qpic_set_clk_rate for clock
source.

wrong:
qpic_set_clk_rate(IO_MACRO_CLK_200_MHZ, QPIC_IO_MACRO_CLK, NAND_QSPI_MSTR_CONFIG);

The last argument should be clock source not register base address.

correct:
qpic_set_clk_rate(IO_MACRO_CLK_200_MHZ, QPIC_IO_MACRO_CLK, GPLL0_CLK_SRC);

Signed-off-by: Md Sadre Alam <mdalam@codeaurora.org>
Change-Id: Ie9e07c253220924fd0c9287f7f0e2c5d42351128
2020-12-07 11:13:51 +05:30
Rajkumar Ayyasamy
f5838b7edc mmc: fix dest address
After reading data from mmc, dest pointer will point to
the end address. To calculate the start of dest pointer
number of bytes copied has to be subtracted.

Signed-off-by: Rajkumar Ayyasamy <arajkuma@codeaurora.org>
Change-Id: I24610a3b3bb498c4ee4ebba58e557d109c6af1ef
2020-11-25 04:18:37 -08:00
Md Sadre Alam
f0af526b77 driver: nand: qpic_nand: Add support for winbond device
Signed-off-by: Md Sadre Alam <mdalam@codeaurora.org>
Change-Id: I19c0d6b285d4b054d9700f58a88395cd0ffe3896
2020-11-25 10:35:31 +05:30
Md Sadre Alam
3cf90dc5c7 driver: nand: qpic: Fix memory leak problem in serial training.
This change will fix memory leak problem in serial training.

For serial tarining we are allocating memory to hold the training
pattern buf. For any failure we are freeing the buffer but due to
wrong lavel used memory was not getting freed due to this memory leak
problem is happening.

Signed-off-by: Md Sadre Alam <mdalam@codeaurora.org>
Change-Id: I35ffd27df9b24ea53aed9e9f0623d8890ba66f06
2020-11-16 04:50:33 -08:00
Vandhiadevan Karunamoorthy
7fff6b863d ipq5018: update ethernet initialization sequence
This change make the qca_8337 switch initialization generic based on
dts irrespective of gmac controller.

Signed-off-by: Vandhiadevan Karunamoorthy <vkarunam@codeaurora.org>
Change-Id: I292992307ead2cd7bbb0763ff483dc16c266d417
2020-10-22 12:13:32 +05:30
Vandhiadevan Karunamoorthy
413d029cab qpic-nand: Serial training: Fix for Access violation
This change fix Access violation created by APPS
master by accessing QPIC_XPU issue due to accessing
QPIC_QSPI_MSTR_CONFIG & QPIC_NAND_FLASH_SPI_CFG registers

Signed-off-by: Vandhiadevan Karunamoorthy <vkarunam@codeaurora.org>
Change-Id: Ibb840db12359eea01823dd7732fcb1ac1e7b8967
2020-10-14 18:19:07 +05:30
Md Sadre Alam
43b1d16567 driver: nand: qpic_nand: Fix Erase address configuration.
This change will fix erase address configuration for QSPI
nand devices whose density is beyond 128MiB.

To erase a block as per datasheet of serial nand device
page row address <5:0> and the Block row address <16:6>.

In code we are forming directly pages address starting
from <16:0> i.e 17-bit address. Currently we are configuring
address_0 and address_1 register as follws.

addr0 = (page << 16) and addr1 = 0x0;

This logic will work if device size upto 128MiB, but if device
size beyond 128MiB then this logic will fail becasue upper most bit
will go out of add0 register.

Fixing this by changing address configuration logic for erase block.

addr0 = (page << 16) addr1 = (page >> 16) & 0xffff;

Signed-off-by: Md Sadre Alam <mdalam@codeaurora.org>
Change-Id: I4950bb611780257629491ffbb42c91fcfedebc58
2020-09-30 14:17:08 +05:30
Vandhiadevan Karunamoorthy
81ba78ca06 mtd: ipq5018: remove CONFIG_CMD_NAND from tiny nor
This changes add CONFIG_CMD_NAND flags in flash command and smem
source file to eliminate nand specific source if CONFIG_CMD_NAND
is not defined.

This changes replace CONFIG_IPQ_MTD_NOR with CONFIG_MTD_DEVICE flag

Signed-off-by: Vandhiadevan Karunamoorthy <vkarunam@codeaurora.org>
Change-Id: I612ae89c3730dc86f2693088fb4cb5c10763165d
2020-08-12 00:04:52 -07:00
Vandhiadevan Karunamoorthy
cec29b5195 ipq5018: Add 8033 phy support in MP02.1 RDP
This changes add 8033 phy support in MP02.1(Ap & Db) RDP
in tiny nor flash

Signed-off-by: Vandhiadevan Karunamoorthy <vkarunam@codeaurora.org>
Change-Id: Ib35faba4321c70fed007c923ff0f5e618fad0276
2020-07-20 14:51:05 +05:30
Vandhiadevan Karunamoorthy
d15814b9f3 ipq5018: remove phy_name from dts
This changes remove the phy_name from all mpXX dts and
handle by driver itself.

Signed-off-by: Vandhiadevan Karunamoorthy <vkarunam@codeaurora.org>
Change-Id: Ia2d0379151db0c68a0b28f5062e83f80579d37c1
2020-07-04 15:47:56 +05:30
Vandhiadevan Karunamoorthy
4ee702eff9 ipq5018: Add Napa phy support in mp03.3 RDP
This changes removes NAPA support from tiny U-boot config

Signed-off-by: Vandhiadevan Karunamoorthy <vkarunam@codeaurora.org>
Change-Id: I057064d63a3ac0788275a4572242cc251a445a98
2020-07-04 14:52:02 +05:30
Linux Build Service Account
f7a7e41a45 Merge "driver: nand: qpic_nand: Add macro for debug print." 2020-07-02 23:11:29 -07:00
Md Sadre Alam
453489a928 driver: nand: qpic_nand: Add macro for debug print.
This change will define qspi_debug macro to print
debug messages.

Change-Id: I49c5278f63fa53dc5b2237aeb9bfef97990ecc86
Signed-off-by: Md Sadre Alam <mdalam@codeaurora.org>
2020-07-01 21:28:09 +05:30
Vandhiadevan Karunamoorthy
82c05e91fa ipq5018: Fix S17C auto-negotiation issue
This changes enable s17c link upto 1Gbps speed.

Signed-off-by: Vandhiadevan Karunamoorthy <vkarunam@codeaurora.org>
Change-Id: I78e3efbbfd1bad58ab2abcba87c06cb9d4ffcd18
2020-06-26 15:54:19 +05:30
Linux Build Service Account
6830a04dba Merge "ipq5018: Add Giga device GD25LB256E nor flash" 2020-06-24 22:38:53 -07:00
Md Sadre Alam
07e59f4960 driver: nand: qpic_nand: Enable config for serial training.
This change will enable config for serial training.

This change also fix the the logic to get most appropriate phase
out of passed phase.

This change also add support to read serial training offset from
partition table. Also patching freqency value & phase value to kernel.

Signed-off-by: Md Sadre Alam <mdalam@codeaurora.org>
Change-Id: Ibb4a5cd80f16605e8e91bdf6a0c6c484edff1735
2020-06-21 22:22:13 -07:00
Vandhiadevan Karunamoorthy
65c44a0a4a ipq5018: Add Giga device GD25LB256E nor flash
Signed-off-by: Vandhiadevan Karunamoorthy <vkarunam@codeaurora.org>
Change-Id: I9f1dd71f7f495ffc69669ef45d08c08d9a7415de
2020-06-18 23:19:48 +05:30
Sham Muthayyan
eb5312c9d4 ipq807x: Fix SFP port for HK10
Change-Id: Idca83bd96b6cd4cdcad45d15046805d251e7ea0d
Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
2020-06-15 00:40:44 -07:00
Md Sadre Alam
ae38a196ca driver: nand: qpic_nand: Fix NULL pointer dereference.
This change will fix NULL pointer dereference while reading
from spi nand flash in oobbuf.

The multipage read features is only to read with ecc for
raw read/write the the access is page wise due to mtd layer
will request only one page at a time. So don't increment oobbuf
for every page while reading if already bitflips are present in spi
nand flash. if so data abort will happen due to NULL pointer
dereference.

error:
NAND read: device 0 offset 0x4480000, size 0x1000
data abort
pc : [<4a9515ec>]          lr : [<44000e18>]
reloc pc : [<4a9515ec>]    lr : [<44000e18>]
sp : 4a77f6f4  ip : bbfff3dc     fp : 4a783510
r10: 4a97bb40  r9 : 4a77feb0     r8 : 44000e0c
r7 : 4a97ca2c  r6 : 0000000f     r5 : 00000004  r4 : 00000003
r3 : ffffffff  r2 : 000001f4     r1 : 000000ff  r0 : 44000e0c
Flags: nzCv  IRQs off  FIQs off  Mode SVC_32
Resetting CPU ...
resetting ...

Signed-off-by: Md Sadre Alam <mdalam@codeaurora.org>
Change-Id: I435f65183b56ceef64bad7d0df7ffebe02175a66
2020-06-14 04:37:14 -07:00
Vandhiadevan Karunamoorthy
f1341cb713 nor: Add GD25LB128D in device table.
Signed-off-by: Vandhiadevan Karunamoorthy <vkarunam@codeaurora.org>
Change-Id: Ia14393575d035525232e91ca32ffe4e7830365c0
2020-06-11 21:28:08 -07:00
Md Sadre Alam
bfeb556cf7 driver: nand: qpic: Fix serial training logic.
This change will fix serial training logic and enable
config to enable default qpic_io_macro clock @ 80MHz with
default phase delay valu 4 for all qspi serial line.

This change also fix the delay issue while writing to qpic
register via bam.

Signed-off-by: Md Sadre Alam <mdalam@codeaurora.org>
Change-Id: I345f736fdae9d48b6da0115ca7a8519b43fe9efd
2020-06-04 22:06:22 +05:30
Vandhiadevan Karunamoorthy
ef78642323 ipq5018: Add support for Gephy
This Gephy is internal phy driver for ethernet

Signed-off-by: Vandhiadevan Karunamoorthy <vkarunam@codeaurora.org>
Change-Id: Ia4e744c0fbd990bdc94fe93263ac2ddbe4cecf61
2020-06-04 22:06:22 +05:30
Vandhiadevan Karunamoorthy
d42f5e0c52 ipq5018: Add support S17C switch support
Signed-off-by: Vandhiadevan Karunamoorthy <vkarunam@codeaurora.org>
Change-Id: Ia3877ba97bc9cbe3b853c6f72ce6e5970395b43f
2020-06-04 22:06:21 +05:30
Linux Build Service Account
7778ef70b9 Merge "driver: nand: qcom_nand: Fix xPU error for qspi register write." 2020-05-18 12:06:37 -07:00
Md Sadre Alam
0b0d196901 driver: nand: qcom_nand: Fix xPU error for qspi register write.
This change will add support to write some ops group register via
BAM to avoid xPU error.

Signed-off-by: Md Sadre Alam <mdalam@codeaurora.org>
Change-Id: I65ea875f783b7254f01cb3cf43eb43295caa4ed9
2020-05-18 16:32:24 +05:30
Vandhiadevan Karunamoorthy
699e92652f ipq5018: ethernet: update clock configuration
This changes initialize clock and enable the block of
Gephy, Uniphy, GMAC0 & GMAC1 and also udpate Rx & Tx clock
based on speed.

Signed-off-by: Vandhiadevan Karunamoorthy <vkarunam@codeaurora.org>
Change-Id: Ia2627e17f7029c2d0d1cbb9eff26afb27aa1c057
2020-05-15 12:28:16 +05:30
Md Sadre Alam
a99d538e1b driver: mtd: qpic_nand: Add support for serial training.
This change will add support for serial training in
QPIC.

Due to different PNR and PCB delays, serial read data
can come with different delays to QPIC. At high frequency
operations Rx clock should be adjusted according to delays
so that Rx Data can be captured correctly. CLK_CNTR_INIT_VAL_VEC
in NAND_FLASH_SPI_CFG register is a 12-bit vector which is divided
in 4 parts of 3 bits each representing delay of 4 serial input data
lines. Bit [2:0] corresponds to qspi_miso[0], bit [5:3] corresponds
to qspi_miso[1], bit [8:6] corresponds to qspi_miso[2] and bit [11:9]
corresponds to qspi_miso[3]. Delay of each qspi_miso line can be set
from 0 to 7.

For serial training the following rule should be followd.

1) SW should write a page with any known pattern in flash at lower
frequency.

2) Set the CLK_CNTR_INIT_VAL_VEC for qspi_miso[0] line.

3) Read that page repetitively in high frequency mode until it
gets data accurately.

4) Repeat above steps for other qspi_miso lines.

Signed-off-by: Md Sadre Alam <mdalam@codeaurora.org>
Change-Id: If622809efff55fb2abe60f409a590abd5313741b
Signed-off-by: Md Sadre Alam <mdalam@codeaurora.org>
2020-05-12 04:27:24 -07:00
Linux Build Service Account
8473a5f83c Merge "ipq5018: Update GMAC ethernet driver" 2020-05-09 13:08:37 -07:00
Md Sadre Alam
4d380489d5 driver: nand: qpic: Enable default clock setting for qpic.
This change will enable default clock setting QPIC block.

Signed-off-by: Md Sadre Alam <mdalam@codeaurora.org>
Change-Id: I12396dc9776c611df69216bad1471a988130b22d
2020-05-07 20:45:20 +05:30
Vandhiadevan Karunamoorthy
577c8ba9dc ipq5018: Update GMAC ethernet driver
This code changes update gmac configuration and
add Gephy, internal Mdio, uniphy and s17c switch.

Signed-off-by: Vandhiadevan Karunamoorthy <vkarunam@codeaurora.org>
Change-Id: I1759b5edf91de9a48f6d8ae46b3481f3a87f10eb
2020-05-07 13:27:01 +05:30
Linux Build Service Account
bcb64aee5b Merge "ipq5018: Tiny U-boot: Add thumb2 support" 2020-05-06 10:10:56 -07:00
Vandhiadevan Karunamoorthy
fed441d78c ipq5018: Tiny U-boot: Remove NAND features
This changes remove nand command and Env support

Signed-off-by: Vandhiadevan Karunamoorthy <vkarunam@codeaurora.org>
Change-Id: I6c59f8259306ef79499420afe4da17a2674e98be
2020-04-30 11:22:27 +05:30
Manikanta Mylavarapu
92980348f7 ipq5018: Fix phy initialization
This Fix will skip phy init sequence
for IPQ5018 because it doesn't need
any phy initialization.

Signed-off-by: Manikanta Mylavarapu <mmanikan@codeaurora.org>
Change-Id: I781ea03eda933692d6a096c97d93d238b1e7063d
2020-04-29 08:48:03 +05:30
Rajkumar Ayyasamy
86e3d52362 ipq6018: add UART clock settings
Change-Id: Ifb80b67e961ae2cde93bc5709330c5df932d0b4b
Signed-off-by: Rajkumar Ayyasamy <arajkuma@codeaurora.org>
2020-04-15 10:30:05 +05:30
Sham Muthayyan
08d0424ac7 ipq807x: Remove the Aquantia autoneg
Change-Id: I46ab6c39d2d4e9a86cedb7756799a5834a3c23b1
Signed-off-by: Sham Muthayyan <smuthayy@codeaurora.org>
2020-03-23 01:59:40 -07:00
Md Sadre Alam
599391c231 driver: mtd: qpic: Enable support for page_scope & multi_page read command.
This change will enable page_scope_read & multipage_read support for
QPIC.
QPIC version 2.0 onwards , QPIC support page_scope_read &
multipage_read command to enhance the read performance.
In normal page read command SW is needed to write EXEC_CMD register
for each Code word and collect any Status related to that CW before
issueing EXEC_CMD for next CW.

For page_scope read command SW is required to issue EXEC_CMD
only once for a page. Controller HW takes care of Codeword specific
details and automatically returns status associated with each CW to
BAM pipe, dedicated for status deposition.

enabling all bits in NAND_AUTO_STATUS_EN will require 4 data
descriptors of 24 bytes each. This will publish all NANDc status
registers in system memory.

For multipage_read command SW is required to issue EXEC_CMD only
once for all the pages which configured in QPIC_NAND_MULTI_PAGE_CMD
register.
All interrupts will be operational and valid in these modes.

To check the status for each codeword, it is not possible to access
the status registers while the read command is operational in
page_scope & multi_page read  modes. Hence, another feature to publish the
status data (for all NAND status registers) by programming the
NAND_AUTO_STATUS_EN register.

For serial NAND:
Read command for page_scope_read = 0x78800032 (QPIC_NAND_FLASH_CMD)
Read command for multi_page_read = 0x78400032 (QPIC_NAND_FLASH_CMD)

For Parallel NAND:
Read command for page_scope_read = 0x00800032 (QPIC_NAND_FLASH_CMD)
Read command for multi_page_read = 0x00400032 (QPIC_NAND_FLASH_CMD)

Now we fixed maximum data bytes read in one go 128KiB(2KiB page),
256KiB (4KiB page), 512 KiB (8kiB page), because from upper layer
we are getting more than 128KiB data bytes request in one go. if so
just changing the value of "MAX_MULTI_PAGE" macro will increase the
maximum data bytes in one go.

Change-Id: I48eea51ff8f5f79f3490d8a538c295ecc3eeee19
Signed-off-by: Md Sadre Alam <mdalam@codeaurora.org>
2020-03-06 15:52:15 +05:30
Vandhiadevan Karunamoorthy
3f50b516ff ipq5018: Add Pcie support
Change-Id: Ifcb632b0cda947002e0538778484bb866f8227f8
Signed-off-by: Vandhiadevan Karunamoorthy <vkarunam@codeaurora.org>
2020-02-19 22:57:03 -08:00
Gokul Sriram Palanisamy
7f77903353 ipq: Moved board params structure to qca common
Change-Id: I58ac138f4585a64bf1a89302ec212afe133c2101
Signed-off-by: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
2020-02-10 11:42:21 +05:30
Gokul Sriram Palanisamy
b8b1da8bfd nand: ipq807x: Removed nand_gpio entries from dts
Since nand configuration is fixed across all HK boards,
removing the nand gpio_entries from device tree and
adding static board param entries. This helps reduce
image footprint and opens up space for new board support.

Change-Id: I89bc11165a6cdfcdb3b4650a73cbeea17895f991
Signed-off-by: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
2020-02-07 16:54:10 +05:30