Commit Graph

6801 Commits

Author SHA1 Message Date
Florent Kermarrec 080ecad522 cpu/vexriscv_smp: Add specialization of the RAM implementation based on the FPGA family (Platform).
RAMXilinx was not infered correctly on Intel/Altera devices, we now have an Intel/Altera specific
implementation and could add other specific implementations in the future if required.
2021-03-30 11:10:05 +02:00
Florent Kermarrec 70d11974fc cores/video/framebuffer: Add support for video clock faster than sys_clk with DRAM's data-width > 32.
In this, CDC has to be done first and Data-width conversion is then done in Video clock domain.
2021-03-30 10:14:10 +02:00
Florent Kermarrec c182f4db5f cores/video: Add check of Video Timings and list available ones when not supported. 2021-03-30 09:15:17 +02:00
Florent Kermarrec 2ed5f14e9e integration/soc/soc_core: Remove --min-l2-data-width and --max-sdram-size that don't need to be configurable but can just be enforced in the target file. 2021-03-29 11:26:29 +02:00
Florent Kermarrec ac7857fa4f cores/video/add_video_framebuffer: Add workaround when SDRAM data_width < 32. 2021-03-29 11:25:34 +02:00
Florent Kermarrec 4a29e2403c integration/soc/add_sdram: Directly use main_ram mem_map mapping if available. 2021-03-29 11:22:31 +02:00
Florent Kermarrec 99a26fc710 integration/soc/add_video_framebuffer: Modify default framebuffer base address. 2021-03-29 10:59:32 +02:00
Florent Kermarrec bf999cfeac cores/Video: Expose fifo_depth and add underflow signal that can be used investigate bandwidth issues. 2021-03-29 10:58:31 +02:00
enjoy-digital 544c0e2c84
Merge pull request #867 from geertu/json2dts-fixes2
Json2dts fixes2
2021-03-28 18:54:26 +02:00
enjoy-digital 5231ee8022
Merge pull request #866 from shuffle2/nodep
Lattice Diamond/Windows build fixes
2021-03-28 18:51:03 +02:00
Geert Uytterhoeven 24ad265a3b tools/litex_json2dts: Fix i2c node
i2c@f0000800: '#address-cells' is a required property
    From schema: Documentation/devicetree/bindings/i2c/litex,i2c.yaml
    i2c@f0000800: '#size-cells' is a required property
    From schema: Documentation/devicetree/bindings/i2c/litex,i2c.yaml

Fix this by adding the missing properties.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2021-03-28 12:44:45 +02:00
Geert Uytterhoeven e09b2bd1c5 tools/litex_json2dts: Fix gpio node
gpio@f0003000: 'gpio-controller' is a required property
    From schema: Documentation/devicetree/bindings/gpio/litex,gpio.yaml
    gpio@f0003000: '#gpio-cells' is a required property
    From schema: Documentation/devicetree/bindings/gpio/litex,gpio.yaml

Fix this by adding the missing properties.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2021-03-28 12:44:45 +02:00
Shawn Hoffman fc75e57d9a lattice: use pnmainc on windows 2021-03-27 04:36:02 -07:00
Shawn Hoffman e56268d419 don't require compiler_rt if not used 2021-03-27 04:18:17 -07:00
Florent Kermarrec b858dd62e9 liblitesdcard/sdcard: Remove divider workaround (was due to LiteSDCard backpressure issue). 2021-03-26 23:19:08 +01:00
Florent Kermarrec 37704195af tools/litex_json2dts: Revert previous mac0 formating (thanks geertu). 2021-03-26 23:17:55 +01:00
Florent Kermarrec 9d62cbf56e integration/soc/SoCCSRHandler: Only keep Auto-Allocation mode. 2021-03-26 23:11:39 +01:00
Florent Kermarrec 24ee6de5c2 cores/video: Make de pin optional on VideoDVIPHY. 2021-03-26 22:53:59 +01:00
enjoy-digital 7556d551b4
Merge pull request #865 from geertu/json2dts-fixes
Json2dts fixes
2021-03-26 20:57:43 +01:00
Geert Uytterhoeven a7a70fa2f0 tools/litex_json2dts: Fix mmc node
mmc@f0006800:reg:0: [4026558464, 256, 4026560512, 256, 4026562560, 256, 4026564608, 256] is too long
    From schema: dt-schema/dtschema/schemas/simple-bus.yaml
    mmc@f0006800:reg:0: [4026558464, 256, 4026560512, 256, 4026562560, 256, 4026564608, 256] is too long
    From schema: dt-schema/dtschema/schemas/reg.yaml

Fix this by grouping the tuples in the "reg" property using angle
brackets.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2021-03-26 17:19:01 +01:00
Geert Uytterhoeven 54d2578f04 tools/litex_json2dts: Fix liteuart node
serial@f0001000: 'device_type' does not match any of the regexes: 'pinctrl-[0-9]+'
    From schema: Documentation/devicetree/bindings/serial/litex,liteuart.yaml

Fix this by dropping the offending property.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2021-03-26 17:19:01 +01:00
Geert Uytterhoeven bcef9a68ca tools/litex_json2dts: Fix plic node
interrupt-controller@f0c00000: compatible:0: 'sifive,plic-1.0.0' is not one of ['sifive,fu540-c000-plic', 'canaan,k210-plic']
    From schema: Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml
    interrupt-controller@f0c00000: compatible:1: 'sifive,plic-1.0.0' was expected
    From schema: Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml
    interrupt-controller@f0c00000: '#address-cells' is a required property
    From schema: Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml

Fix this by correcting the order of the compatible values, and adding
the missing #address-cells property.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2021-03-26 17:19:01 +01:00
Geert Uytterhoeven 610bfe4d0c tools/litex_json2dts: Fix DTS indentation
- Replace bogus TAB by spaces,
  - Drop spaces from empty lines.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2021-03-26 17:19:01 +01:00
Florent Kermarrec 6b482bce54 tools/litex_json2dts/framebuffer: Switch to new simplified Video Framebuffer.
Timings are already pre-initialized, so software will only have to configure/modify
them to change the video resolution.
2021-03-26 16:25:06 +01:00
Florent Kermarrec 137274dfe0 integration/soc/add_video_framebuffer: Use mem_map for video base address (or defaults to 0x4800000) and pass constants to software. 2021-03-26 16:23:30 +01:00
Florent Kermarrec ed1d29958a cores/video/VideoFrameBuffer: Fix colors ordering. 2021-03-26 16:22:12 +01:00
Florent Kermarrec 714903e65b cores/video/VideoTerminal: Write CSI interpreter color to term_mem (\e[92;1m\e[0m decoding working). 2021-03-26 11:15:27 +01:00
Florent Kermarrec 18f77ef378 cores/video/VideoTerminal: Also do a CLEAR-X after RST-X (Fix issue with lines displayed with previous contents). 2021-03-26 10:35:02 +01:00
Florent Kermarrec 438eec0268 integration/soc/add_sdcard: Re-Remove self.csr.add (was a false alarm, this also works with Linux-on-LiteX-Rocket). 2021-03-26 08:45:32 +01:00
enjoy-digital 60d518a5d3
Merge pull request #864 from gsomlo/gls-json2dts-eth
json2dts.py: fix mac0 reg property style for consistency
2021-03-26 08:33:14 +01:00
Gabriel Somlo c859c34844 json2dts.py: fix mac0 reg property style for consistency
Assuming "#[address|size]-cells = <1>", both of the following are
equivalent:

	reg = <start1 size1>, <start2 size2>, ..., <startN sizeN>;

	reg = <start1 size1 start2 size2 ... startN sizeN>;

The second form appears more widely used and popular, including in
the output of json2dts.py, with the exception of the mac0 node, which
uses the first form. This patch makes output generated for mac0
consistent with that for other DT nodes.
2021-03-25 15:50:12 -04:00
Florent Kermarrec 58701cc48c tools/litex_client: Use CSR base as base address on PCIe designs. 2021-03-25 18:25:37 +01:00
enjoy-digital 518aaeaacb
Merge pull request #863 from Dolu1990/master
cpu/vexriscv_smp add RVC support
2021-03-25 16:26:30 +01:00
Florent Kermarrec 4246f77a97 integration/soc/add_scard: Revert use of self.csr.add since to avoid breaking Linux driver that currently relies on implicit ordering (but probably shoudln't :)). 2021-03-25 14:54:34 +01:00
Dolu1990 e755a02b84 cpu/vexriscv_smp add RVC support 2021-03-25 14:17:19 +01:00
Florent Kermarrec aad56a047a integration/soc: Use CSR automatic allocation. 2021-03-25 10:09:54 +01:00
Florent Kermarrec aa9eb1f6a3 integration/soc: Add CSR automatic allocation and enable it by default.
Un-allocated CSRs were already automatically detected so when un-allocated we can just
simply allocate them automatically instead of raising an error. This also allows
simplifying user's code since self.csr.add/self.add_csr will no longer be required.
2021-03-25 09:49:59 +01:00
Florent Kermarrec 3def6ae985 integration/soc: Be sure all add_xy methods use check_if_exists, improve Video integration. 2021-03-25 09:29:33 +01:00
Florent Kermarrec c9ac5424f4 integration/soc: Cosmetic cleanup pass. 2021-03-25 09:13:43 +01:00
Florent Kermarrec 6e23fb1d99 integration/soc: Move Identifier import to add_identifier. 2021-03-25 08:47:05 +01:00
Florent Kermarrec e1b20a934a integation/soc: Move VideoXY imports to add_video_xy. 2021-03-25 08:45:55 +01:00
Florent Kermarrec 1b9eefbee4 integration/soc: Move Timer import to add_timer. 2021-03-25 08:43:52 +01:00
Florent Kermarrec 01fdca9149 integration/soc: Move SPIMaster import to add_spi_sdcard. 2021-03-25 08:42:23 +01:00
Florent Kermarrec 5229727c2b integration/soc: Move SpiFlash import to add_spi_flash. 2021-03-25 08:40:53 +01:00
Florent Kermarrec c60938d7aa integration/soc/ethernet: Simplify timing constraints. 2021-03-25 08:36:37 +01:00
Florent Kermarrec e27330b0d9 integration/soc: Replace self.add_csr with self.csr.add. 2021-03-25 08:23:39 +01:00
Florent Kermarrec 36bb069b8b interconnect/packet: Minor cleanup. 2021-03-24 18:04:20 +01:00
Florent Kermarrec 6c640b0693 compat/stream_sim: Remove TODO since will not be done. 2021-03-24 17:58:13 +01:00
Florent Kermarrec 9eb318e86a soc/interconnect/stream_sim: Move to compat to prevent since no longer really used or recommended on new designs. 2021-03-24 17:56:21 +01:00
Florent Kermarrec bc8974dad1 litex_sim: Switch to soc_core_args/soc_core_argdict. 2021-03-24 17:26:48 +01:00