Commit graph

29 commits

Author SHA1 Message Date
Sigrid Solveig Haflínudóttir 6972974f8d imx8: ccm: fix sai copy-paste typos 2022-07-04 23:51:56 +00:00
cinap_lenrek c5cf9b3e26 imx8: qos magic to avoid interference between pcie and lcdif
when writing to the nvme ssd, the screen can glitch out.

found this in linux lcdif driver (mxcfb) that appears to
resolve the issue.

the QoSc registers are all completely undocumented tho :-(
2022-07-03 16:13:19 +00:00
cinap_lenrek 940e3165d3 imx8: less stupid pci interrupt handler 2022-07-03 12:10:27 +00:00
cinap_lenrek 548a48d156 imx8: pcie and nvme support 2022-07-03 11:36:50 +00:00
cinap_lenrek f0fc84aba3 etherimx: fix link negotiation
mdio interrupt command completion handling was broken,
as the interrupt handler would clear the mii status
register before mdiodone() sees it.

handle errors in miistatus() and miiane(), to not get
confused.
2022-06-19 18:07:50 +00:00
cinap_lenrek 2b1ecbe87d imx8/usdhc: work around broken multi-write for now
for unknown reasons, multiwrite is busted in usdhc:

sdhc: write error intr 10 stat ff88858e
usdhccmd: need to reset Datinhibit intr 10 stat ff88858e
usdhc: cmd 193a0027 arg 1e5b6b error intr 18010 stat ff88858f

i'm disabling it for now, adding a flag to the SDio struct.
2022-06-18 20:31:49 +00:00
cinap_lenrek 73b9f7c362 imx8: fix install target 2022-06-18 14:32:51 +00:00
cinap_lenrek e760ded494 imx8/usdhc: implement highspeed mode (50Mhz) 2022-06-18 13:19:55 +00:00
cinap_lenrek 524f8c2d53 imx8/lcd: set iomux pad configuration 2022-06-18 12:49:29 +00:00
cinap_lenrek c14962657c usbxhciimx: set iomux pad configuration 2022-06-18 12:49:04 +00:00
cinap_lenrek a23e9ac65d imx8: add i2c bus driver 2022-06-18 12:48:26 +00:00
cinap_lenrek 476e7341d5 etherimx: set iomux pad configiguration 2022-06-18 12:46:18 +00:00
cinap_lenrek 63092af6a9 imx8/usdhc: cleanup, set pad configuration 2022-06-18 12:45:39 +00:00
cinap_lenrek 28f3dc8224 imx8: port usdhc driver (from bcm/sdhc) for external sdcard
this is a total hack, only works up to 25MHz for now.
2022-06-14 23:53:03 +00:00
cinap_lenrek 176206fb02 imx8/gpio: use u32int for bit mask 2022-06-13 23:26:14 +00:00
cinap_lenrek 04d1e6ffe9 imx8/gpio: allow 0 as "no-op" gpio pin
as the gpio controller number starts at 1,
we can use 0 to mean "no pin", so passing
0 to gpioout() or gpioin() pin argument
will have no effect.
2022-06-13 23:24:14 +00:00
cinap_lenrek fe033ae816 imx8: add gpio helper gpioout()/gpioin() 2022-06-13 23:00:06 +00:00
cinap_lenrek 8dd05d041e imx8: provide iomuxgpr() function to access iomuxc's gpr's 2022-06-13 19:48:01 +00:00
cinap_lenrek 5388575c14 imx8: better syntax for iomuxpad() options using ~ for negation 2022-06-13 19:18:50 +00:00
cinap_lenrek 90428d0561 imx8: add iomuxpad() helper for pad and mux control 2022-06-13 19:06:00 +00:00
cinap_lenrek d35e41424c imx8: make gpc functionality available with a powerup() function 2022-06-12 21:16:47 +00:00
cinap_lenrek 771a93f3b7 imx8/lcd: reduce flicker
increasing the pixel clock to 80% of the edid clock value
reduces flicker and also seems to not trigger the shifting
issue.
2022-06-12 16:15:55 +00:00
cinap_lenrek f1f5045b2e imx8/usbxhci: bring usb out of reset
do all the magic dwc3 specific initalization as well
as reset the hub and power on the phys.

with this, "usb start" command is not needed anymore
from u-boot.
2022-06-12 14:31:55 +00:00
cinap_lenrek 1d81f7eacb imx8/lcd: silly work around for display instability
running at the actual pixel clock causes the screen
to shift horizontally after a while.

using 60% seems to fix it - for now.
2022-06-12 00:21:28 +00:00
cinap_lenrek 931ae0cfeb imx8: mainscreen turn on!
supports the lcd panel and adds alot of infrastructure
like for the ccm clock module and the i2c controllers.
2022-06-11 21:12:04 +00:00
cinap_lenrek 1da20fd5d8 imx8: add xhci driver for the soc
This is mostly a copy of port/usbxhci.c with PCIWADDR() replaced
by PADDR() and the pci specific code stripped out.

This could be refactored at a later time.

There is a gpio line for the main hub reset that needs to be
asserted and some power management functions that are currently
done by u-boot (using "usb start" command).

We will do these ourselfs once we have the infrastructure for
it in place.
2022-05-15 11:57:52 +00:00
cinap_lenrek 6ca8e6bbaf uartimx: fix interrupts
need to turn off transmitter fifo interrupt when we run out of
data to transmit, and set rx fifo ready fifo threshold to one.
2022-05-09 17:22:00 +00:00
cinap_lenrek 7aa8c6d47e imx8: implement psci calls for system reset and multicore startup 2022-05-08 20:26:56 +00:00
cinap_lenrek fff070f2cb imx8: add work in progress i.MX8MQ kernel for the mntreform2 laptop
This is a work in progress port to the mntreform2 laptop.

Working so far:

- mmu (same as raspberry pi 3b+)
- arm generic timer
- gicv3
- uart1
- enet

With access to the uart, one can netboot this kernel in u-boot
using the following commands:

> dhcp
> bootm
2022-05-08 16:50:29 +00:00