diff --git a/PATCH/0000-trellisboard.cfg b/PATCH/0000-trellisboard.cfg new file mode 100644 index 0000000..8aaa27d --- /dev/null +++ b/PATCH/0000-trellisboard.cfg @@ -0,0 +1,16 @@ +# TrellisBoard OpenOCD config + +interface ftdi +# ftdi_device_desc "TrellisBoard" +ftdi_vid_pid 0x0403 0x6010 +# channel 1 does not have any functionality +ftdi_channel 0 +# just TCK TDI TDO TMS, no reset +ftdi_layout_init 0xfff8 0xfffb +reset_config none + +# default speed +adapter_khz 5000 + +# ECP5 device - LFE5UM5G-85F +jtag newtap ecp5 tap -irlen 8 -expected-id 0x81113043 diff --git a/PATCH/0001-linuxonlitex-make.diff b/PATCH/0001-linuxonlitex-make.diff new file mode 100644 index 0000000..7ab8343 --- /dev/null +++ b/PATCH/0001-linuxonlitex-make.diff @@ -0,0 +1,36 @@ +--- make.py.orig 2019-10-02 19:59:51.962297746 -0600 ++++ make.py 2019-10-02 20:02:50.549344701 -0600 +@@ -149,6 +149,16 @@ + def load(self): + os.system("ujprog build/ulx3s/gateware/top.svf") + ++# TrellisBoard support ------------------------------------------------------------------------------------ ++ ++class Trellis(Board): ++ def __init__(self): ++ from litex_boards.targets import trellisboard ++ Board.__init__(self, trellisboard.EthernetSoC, "serial+ethernet") ++ ++ def load(self): ++ os.system("openocd -f prog/trellisboard.cfg -c \"transport select jtag; init; svf build/trellisboard/gateware/top.svf; exit\"") ++ + # De0Nano support ------------------------------------------------------------------------------------ + + class De0Nano(Board): +@@ -175,6 +185,7 @@ + # Lattice + "versa_ecp5": VersaECP5, + "ulx3s": ULX3S, ++ "trellisboard": Trellis, + # Altera/Intel + "de0nano": De0Nano, + } +@@ -202,7 +213,7 @@ + for board_name in board_names: + board = supported_boards[board_name]() + soc_kwargs = {} +- if board_name in ["versa_ecp5", "ulx3s"]: ++ if board_name in ["versa_ecp5", "ulx3s", "trellisboard"]: + soc_kwargs["toolchain"] = "trellis" + soc_kwargs["cpu_variant"] = "linux+no-dsp" + if board_name in ["de0nano"]: diff --git a/PATCH/0001-linuxonlitex-make.diff-fail1 b/PATCH/0001-linuxonlitex-make.diff-fail1 new file mode 100644 index 0000000..12675e2 --- /dev/null +++ b/PATCH/0001-linuxonlitex-make.diff-fail1 @@ -0,0 +1,36 @@ +--- make.py.orig 2019-09-21 11:48:48.213955331 -0600 ++++ make.py 2019-09-21 11:50:35.465382876 -0600 +@@ -149,6 +149,16 @@ + def load(self): + os.system("ujprog build/ulx3s/gateware/top.svf") + ++# TrellisBoard support ------------------------------------------------------------------------------------ ++ ++class Trellis(Board): ++ def __init__(self): ++ from litex_boards.targets import trellisboard ++ Board.__init__(self, trellisboard.EthernetSoC, {"serial", "ethernet"}) ++ ++ def load(self): ++ os.system("openocd -f prog/trellisboard.cfg -c \"transport select jtag; init; svf build/trellisboard/gateware/top.svf; exit\"") ++ + # De0Nano support ------------------------------------------------------------------------------------ + + class De0Nano(Board): +@@ -175,6 +185,7 @@ + # Lattice + "versa_ecp5": VersaECP5, + "ulx3s": ULX3S, ++ "trellisboard": Trellis, + # Altera/Intel + "de0nano": De0Nano, + } +@@ -202,7 +213,7 @@ + for board_name in board_names: + board = supported_boards[board_name]() + soc_kwargs = {} +- if board_name in ["versa_ecp5", "ulx3s"]: ++ if board_name in ["versa_ecp5", "ulx3s", "trellisboard"]: + soc_kwargs["toolchain"] = "trellis" + soc_kwargs["cpu_variant"] = "linux+no-dsp" + soc = SoCLinux(board.soc_cls, **soc_kwargs) diff --git a/PATCH/0001-linuxonlitex-make.diff-foo b/PATCH/0001-linuxonlitex-make.diff-foo new file mode 100644 index 0000000..4a065b3 --- /dev/null +++ b/PATCH/0001-linuxonlitex-make.diff-foo @@ -0,0 +1,35 @@ +--- make.py.orig 2019-09-30 19:28:08.962681010 -0600 ++++ make.py 2019-09-30 19:31:38.401563193 -0600 +@@ -149,6 +149,15 @@ + def load(self): + os.system("ujprog build/ulx3s/gateware/top.svf") + ++# TrellisBoard support ------------------------------------------------------------------------------------ ++ ++class Trellis(Board): ++ def __init__(self): ++ from litex_boards.targets import trellisboard ++ Board.__init__(self, trellisboard.EthernetSoC, {"serial", "ethernet"}) ++ ++ os.system("openocd -f prog/trellisboard.cfg -c \"transport select jtag; init; svf build/trellisboard/gateware/top.svf; exit\"") ++ + # De0Nano support ------------------------------------------------------------------------------------ + + class De0Nano(Board): +@@ -175,6 +184,7 @@ + # Lattice + "versa_ecp5": VersaECP5, + "ulx3s": ULX3S, ++ "trellisboard": Trellis, + # Altera/Intel + "de0nano": De0Nano, + } +@@ -202,7 +212,7 @@ + for board_name in board_names: + board = supported_boards[board_name]() + soc_kwargs = {} +- if board_name in ["versa_ecp5", "ulx3s"]: ++ if board_name in ["versa_ecp5", "ulx3s", "trellisboard"]: + soc_kwargs["toolchain"] = "trellis" + soc_kwargs["cpu_variant"] = "linux+no-dsp" + if board_name in ["de0nano"]: diff --git a/PATCH/json2dts.py b/PATCH/json2dts.py new file mode 100755 index 0000000..09416c8 --- /dev/null +++ b/PATCH/json2dts.py @@ -0,0 +1,284 @@ +#!/usr/bin/env python3 + +import sys +import json +import argparse + +parser = argparse.ArgumentParser(description="LiteX's CSR JSON to Linux DTS generator") +parser.add_argument("csr_json", help="CSR JSON file") +args = parser.parse_args() + +d = json.load(open(args.csr_json)) + +kB = 1024 +mB = kB*1024 + +aliases = {} + +# Header ------------------------------------------------------------------------------------------- + +dts = """ +/dts-v1/; + +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "enjoy-digital,litex-vexriscv-soclinux"; + model = "VexRiscv SoCLinux"; +""" + +# Boot Arguments ----------------------------------------------------------------------------------- + +# bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992 debug init=/sbin/init swiotlb=32"; +# david shah: +# bootargs = "mem=1024M@0x40000000 rootwait console=hvc0 root=/dev/nfs nfsroot=192.168.7.1:/srv/nfsroot,rsize=1024,wsize=1024,nolock,udp,nfsvers=3 ip=192.168.7.100:192.168.7.1:192.168.7.1:255.255.255.0:vexriscv:eth0:none:8.8.8.8 init=/sbin/init swiotlb=32"; + #bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992:ext4 debug init=/sbin/init swiotlb=32"; + +dts += """ + chosen {{ + bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} console=liteuart earlycon=sbi rootwait root=/dev/ram0 debug init=/sbin/init swiotlb=32"; + linux,initrd-start = <0x{linux_initrd_start:x}>; + linux,initrd-end = <0x{linux_initrd_end:x}>; + }}; +""".format( + main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"], + main_ram_size_mb=d["memories"]["main_ram"]["size"]//mB, + + linux_initrd_start=d["memories"]["main_ram"]["base"] + 8*mB, + linux_initrd_end=d["memories"]["main_ram"]["base"] + 136*mB) + +# CPU ---------------------------------------------------------------------------------------------- + +dts += """ + cpus {{ + #address-cells = <0x1>; + #size-cells = <0x0>; + timebase-frequency = <{sys_clk_freq}>; + + cpu@0 {{ + clock-frequency = <0x0>; + compatible = "spinalhdl,vexriscv", "sifive,rocket0", "riscv"; + d-cache-block-size = <0x40>; + d-cache-sets = <0x40>; + d-cache-size = <0x8000>; + d-tlb-sets = <0x1>; + d-tlb-size = <0x20>; + device_type = "cpu"; + i-cache-block-size = <0x40>; + i-cache-sets = <0x40>; + i-cache-size = <0x8000>; + i-tlb-sets = <0x1>; + i-tlb-size = <0x20>; + mmu-type = "riscv,sv32"; + reg = <0x0>; + riscv,isa = "rv32ima"; + sifive,itim = <0x1>; + status = "okay"; + tlb-split; + }}; + }}; +""".format(sys_clk_freq=int(50e6) if "sim" in d["constants"] else d["constants"]["config_clock_frequency"]) + +# Memory ------------------------------------------------------------------------------------------- + +dts += """ + memory@{main_ram_base:x} {{ + device_type = "memory"; + reg = <0x0 0x{main_ram_base:x} 0x1 0x{main_ram_size:x}>; + }}; +""".format(main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"]) + +# SoC ---------------------------------------------------------------------------------------------- + +dts += """ + soc { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "simple-bus"; + ranges; +""" + + # UART ----------------------------------------------------------------------------------------- + +if "uart" in d["csr_bases"]: + aliases["serial0"] = "liteuart0" + dts += """ + liteuart0: serial@{uart_csr_base:x} {{ + device_type = "serial"; + compatible = "litex,liteuart"; + reg = <0x0 0x{uart_csr_base:x} 0x0 0x100>; + status = "okay"; + }}; + """.format(uart_csr_base=d["csr_bases"]["uart"]) + + # Ethernet MAC --------------------------------------------------------------------------------- + +if "ethmac" in d["csr_bases"]: + dts += """ + mac0: mac@{ethmac_csr_base:x} {{ + compatible = "litex,liteeth"; + reg = <0x0 0x{ethmac_csr_base:x} 0x0 0x7c + 0x0 0x{ethphy_csr_base:x} 0x0 0x0a + 0x0 0x{ethmac_mem_base:x} 0x0 0x2000>; + tx-fifo-depth = <{ethmac_tx_slots}>; + rx-fifo-depth = <{ethmac_rx_slots}>; + }}; + """.format(ethphy_csr_base=d["csr_bases"]["ethphy"], + ethmac_csr_base=d["csr_bases"]["ethmac"], + ethmac_mem_base=d["memories"]["ethmac"]["base"], + ethmac_tx_slots=d["constants"]["ethmac_tx_slots"], + ethmac_rx_slots=d["constants"]["ethmac_rx_slots"]) + + # Leds ----------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ + leds: gpio@{leds_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{leds_csr_base:x} 0x0 0x4>; + litex,direction = "out"; + status = "disabled"; + }}; + """.format(leds_csr_base=d["csr_bases"]["leds"]) + + # RGB Led -------------------------------------------------------------------------------------- + +for name in ["rgb_led_r0", "rgb_led_g0", "rgb_led_b0"]: + if name in d["csr_bases"]: + dts += """ + {pwm_name}: pwm@{pwm_csr_base:x} {{ + compatible = "litex,pwm"; + reg = <0x0 0x{pwm_csr_base:x} 0x0 0x24>; + clock = <100000000>; + #pwm-cells = <3>; + status = "okay"; + }}; + """.format(pwm_name=name, + pwm_csr_base=d["csr_bases"][name]) + + # Switches ------------------------------------------------------------------------------------- + +if "switches" in d["csr_bases"]: + dts += """ + switches: gpio@{switches_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{switches_csr_base:x} 0x0 0x4>; + litex,direction = "in"; + status = "disabled"; + }}; + """.format(switches_csr_base=d["csr_bases"]["switches"]) + + # SPI ------------------------------------------------------------------------------------------ + +if "spi" in d["csr_bases"]: + aliases["spi0"] = "litespi0" + + dts += """ + litespi0: spi@{spi_csr_base:x} {{ + compatible = "litex,litespi"; + reg = <0x0 0x{spi_csr_base:x} 0x0 0x100>; + status = "okay"; + + litespi,max-bpw = <8>; + litespi,sck-frequency = <1000000>; + litespi,num-cs = <1>; + + #address-cells = <0x1>; + #size-cells = <0x1>; + + spidev0: spidev@0 {{ + compatible = "linux,spidev"; + reg = <0 0>; + spi-max-frequency = <1000000>; + status = "okay"; + }}; + }}; + """.format(spi_csr_base=d["csr_bases"]["spi"]) + + # I2C ------------------------------------------------------------------------------------------ + +if "i2c0" in d["csr_bases"]: + dts += """ + i2c0: i2c@{i2c0_csr_base:x} {{ + compatible = "litex,i2c"; + reg = <0x0 0x{i2c0_csr_base:x} 0x0 0x5>; + status = "okay"; + }}; +""".format(i2c0_csr_base=d["csr_bases"]["i2c0"]) + + # XADC ----------------------------------------------------------------------------------------- + +if "xadc" in d["csr_bases"]: + dts += """ + hwmon0: xadc@{xadc_csr_base:x} {{ + compatible = "litex,hwmon-xadc"; + reg = <0x0 0x{xadc_csr_base:x} 0x0 0x20>; + status = "okay"; + }}; +""".format(xadc_csr_base=d["csr_bases"]["xadc"]) + + # Framebuffer ---------------------------------------------------------------------------------- + +if "framebuffer" in d["csr_bases"]: + # FIXME: dynamic framebuffer base and size + framebuffer_base = 0xc8000000 + framebuffer_width = 1280 + framebuffer_height = 720 + dts += """ + framebuffer0: framebuffer@f0000000 {{ + compatible = "simple-framebuffer"; + reg = <0x0 0x{framebuffer_base:x} 0x0 0x{framebuffer_size:x}>; + width = <{framebuffer_width}>; + height = <{framebuffer_height}>; + stride = <{framebuffer_stride}>; + format = "a8b8g8r8"; + }}; + """.format(framebuffer_base=framebuffer_base, + framebuffer_width=framebuffer_width, + framebuffer_height=framebuffer_height, + framebuffer_size=framebuffer_width*framebuffer_height*4, + framebuffer_stride=framebuffer_width*4) + +dts += """ + }; +""" + +# Aliases ----------------------------------------------------------------------------------------- + +if aliases: + dts += """ + aliases { +""" + for alias in aliases: + dts += """ + {} = &{}; +""".format(alias, aliases[alias]) + dts += """ + }; +""" + +dts += """ +}; +""" + +# -------------------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ +&leds { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +if "switches" in d["csr_bases"]: + dts += """ +&switches { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +print(dts) diff --git a/PATCH/json2dts.py-128mb-ram0 b/PATCH/json2dts.py-128mb-ram0 new file mode 100755 index 0000000..09416c8 --- /dev/null +++ b/PATCH/json2dts.py-128mb-ram0 @@ -0,0 +1,284 @@ +#!/usr/bin/env python3 + +import sys +import json +import argparse + +parser = argparse.ArgumentParser(description="LiteX's CSR JSON to Linux DTS generator") +parser.add_argument("csr_json", help="CSR JSON file") +args = parser.parse_args() + +d = json.load(open(args.csr_json)) + +kB = 1024 +mB = kB*1024 + +aliases = {} + +# Header ------------------------------------------------------------------------------------------- + +dts = """ +/dts-v1/; + +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "enjoy-digital,litex-vexriscv-soclinux"; + model = "VexRiscv SoCLinux"; +""" + +# Boot Arguments ----------------------------------------------------------------------------------- + +# bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992 debug init=/sbin/init swiotlb=32"; +# david shah: +# bootargs = "mem=1024M@0x40000000 rootwait console=hvc0 root=/dev/nfs nfsroot=192.168.7.1:/srv/nfsroot,rsize=1024,wsize=1024,nolock,udp,nfsvers=3 ip=192.168.7.100:192.168.7.1:192.168.7.1:255.255.255.0:vexriscv:eth0:none:8.8.8.8 init=/sbin/init swiotlb=32"; + #bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992:ext4 debug init=/sbin/init swiotlb=32"; + +dts += """ + chosen {{ + bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} console=liteuart earlycon=sbi rootwait root=/dev/ram0 debug init=/sbin/init swiotlb=32"; + linux,initrd-start = <0x{linux_initrd_start:x}>; + linux,initrd-end = <0x{linux_initrd_end:x}>; + }}; +""".format( + main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"], + main_ram_size_mb=d["memories"]["main_ram"]["size"]//mB, + + linux_initrd_start=d["memories"]["main_ram"]["base"] + 8*mB, + linux_initrd_end=d["memories"]["main_ram"]["base"] + 136*mB) + +# CPU ---------------------------------------------------------------------------------------------- + +dts += """ + cpus {{ + #address-cells = <0x1>; + #size-cells = <0x0>; + timebase-frequency = <{sys_clk_freq}>; + + cpu@0 {{ + clock-frequency = <0x0>; + compatible = "spinalhdl,vexriscv", "sifive,rocket0", "riscv"; + d-cache-block-size = <0x40>; + d-cache-sets = <0x40>; + d-cache-size = <0x8000>; + d-tlb-sets = <0x1>; + d-tlb-size = <0x20>; + device_type = "cpu"; + i-cache-block-size = <0x40>; + i-cache-sets = <0x40>; + i-cache-size = <0x8000>; + i-tlb-sets = <0x1>; + i-tlb-size = <0x20>; + mmu-type = "riscv,sv32"; + reg = <0x0>; + riscv,isa = "rv32ima"; + sifive,itim = <0x1>; + status = "okay"; + tlb-split; + }}; + }}; +""".format(sys_clk_freq=int(50e6) if "sim" in d["constants"] else d["constants"]["config_clock_frequency"]) + +# Memory ------------------------------------------------------------------------------------------- + +dts += """ + memory@{main_ram_base:x} {{ + device_type = "memory"; + reg = <0x0 0x{main_ram_base:x} 0x1 0x{main_ram_size:x}>; + }}; +""".format(main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"]) + +# SoC ---------------------------------------------------------------------------------------------- + +dts += """ + soc { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "simple-bus"; + ranges; +""" + + # UART ----------------------------------------------------------------------------------------- + +if "uart" in d["csr_bases"]: + aliases["serial0"] = "liteuart0" + dts += """ + liteuart0: serial@{uart_csr_base:x} {{ + device_type = "serial"; + compatible = "litex,liteuart"; + reg = <0x0 0x{uart_csr_base:x} 0x0 0x100>; + status = "okay"; + }}; + """.format(uart_csr_base=d["csr_bases"]["uart"]) + + # Ethernet MAC --------------------------------------------------------------------------------- + +if "ethmac" in d["csr_bases"]: + dts += """ + mac0: mac@{ethmac_csr_base:x} {{ + compatible = "litex,liteeth"; + reg = <0x0 0x{ethmac_csr_base:x} 0x0 0x7c + 0x0 0x{ethphy_csr_base:x} 0x0 0x0a + 0x0 0x{ethmac_mem_base:x} 0x0 0x2000>; + tx-fifo-depth = <{ethmac_tx_slots}>; + rx-fifo-depth = <{ethmac_rx_slots}>; + }}; + """.format(ethphy_csr_base=d["csr_bases"]["ethphy"], + ethmac_csr_base=d["csr_bases"]["ethmac"], + ethmac_mem_base=d["memories"]["ethmac"]["base"], + ethmac_tx_slots=d["constants"]["ethmac_tx_slots"], + ethmac_rx_slots=d["constants"]["ethmac_rx_slots"]) + + # Leds ----------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ + leds: gpio@{leds_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{leds_csr_base:x} 0x0 0x4>; + litex,direction = "out"; + status = "disabled"; + }}; + """.format(leds_csr_base=d["csr_bases"]["leds"]) + + # RGB Led -------------------------------------------------------------------------------------- + +for name in ["rgb_led_r0", "rgb_led_g0", "rgb_led_b0"]: + if name in d["csr_bases"]: + dts += """ + {pwm_name}: pwm@{pwm_csr_base:x} {{ + compatible = "litex,pwm"; + reg = <0x0 0x{pwm_csr_base:x} 0x0 0x24>; + clock = <100000000>; + #pwm-cells = <3>; + status = "okay"; + }}; + """.format(pwm_name=name, + pwm_csr_base=d["csr_bases"][name]) + + # Switches ------------------------------------------------------------------------------------- + +if "switches" in d["csr_bases"]: + dts += """ + switches: gpio@{switches_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{switches_csr_base:x} 0x0 0x4>; + litex,direction = "in"; + status = "disabled"; + }}; + """.format(switches_csr_base=d["csr_bases"]["switches"]) + + # SPI ------------------------------------------------------------------------------------------ + +if "spi" in d["csr_bases"]: + aliases["spi0"] = "litespi0" + + dts += """ + litespi0: spi@{spi_csr_base:x} {{ + compatible = "litex,litespi"; + reg = <0x0 0x{spi_csr_base:x} 0x0 0x100>; + status = "okay"; + + litespi,max-bpw = <8>; + litespi,sck-frequency = <1000000>; + litespi,num-cs = <1>; + + #address-cells = <0x1>; + #size-cells = <0x1>; + + spidev0: spidev@0 {{ + compatible = "linux,spidev"; + reg = <0 0>; + spi-max-frequency = <1000000>; + status = "okay"; + }}; + }}; + """.format(spi_csr_base=d["csr_bases"]["spi"]) + + # I2C ------------------------------------------------------------------------------------------ + +if "i2c0" in d["csr_bases"]: + dts += """ + i2c0: i2c@{i2c0_csr_base:x} {{ + compatible = "litex,i2c"; + reg = <0x0 0x{i2c0_csr_base:x} 0x0 0x5>; + status = "okay"; + }}; +""".format(i2c0_csr_base=d["csr_bases"]["i2c0"]) + + # XADC ----------------------------------------------------------------------------------------- + +if "xadc" in d["csr_bases"]: + dts += """ + hwmon0: xadc@{xadc_csr_base:x} {{ + compatible = "litex,hwmon-xadc"; + reg = <0x0 0x{xadc_csr_base:x} 0x0 0x20>; + status = "okay"; + }}; +""".format(xadc_csr_base=d["csr_bases"]["xadc"]) + + # Framebuffer ---------------------------------------------------------------------------------- + +if "framebuffer" in d["csr_bases"]: + # FIXME: dynamic framebuffer base and size + framebuffer_base = 0xc8000000 + framebuffer_width = 1280 + framebuffer_height = 720 + dts += """ + framebuffer0: framebuffer@f0000000 {{ + compatible = "simple-framebuffer"; + reg = <0x0 0x{framebuffer_base:x} 0x0 0x{framebuffer_size:x}>; + width = <{framebuffer_width}>; + height = <{framebuffer_height}>; + stride = <{framebuffer_stride}>; + format = "a8b8g8r8"; + }}; + """.format(framebuffer_base=framebuffer_base, + framebuffer_width=framebuffer_width, + framebuffer_height=framebuffer_height, + framebuffer_size=framebuffer_width*framebuffer_height*4, + framebuffer_stride=framebuffer_width*4) + +dts += """ + }; +""" + +# Aliases ----------------------------------------------------------------------------------------- + +if aliases: + dts += """ + aliases { +""" + for alias in aliases: + dts += """ + {} = &{}; +""".format(alias, aliases[alias]) + dts += """ + }; +""" + +dts += """ +}; +""" + +# -------------------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ +&leds { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +if "switches" in d["csr_bases"]: + dts += """ +&switches { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +print(dts) diff --git a/PATCH/json2dts.py-16mb-ram0 b/PATCH/json2dts.py-16mb-ram0 new file mode 100755 index 0000000..a89b197 --- /dev/null +++ b/PATCH/json2dts.py-16mb-ram0 @@ -0,0 +1,284 @@ +#!/usr/bin/env python3 + +import sys +import json +import argparse + +parser = argparse.ArgumentParser(description="LiteX's CSR JSON to Linux DTS generator") +parser.add_argument("csr_json", help="CSR JSON file") +args = parser.parse_args() + +d = json.load(open(args.csr_json)) + +kB = 1024 +mB = kB*1024 + +aliases = {} + +# Header ------------------------------------------------------------------------------------------- + +dts = """ +/dts-v1/; + +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "enjoy-digital,litex-vexriscv-soclinux"; + model = "VexRiscv SoCLinux"; +""" + +# Boot Arguments ----------------------------------------------------------------------------------- + +# bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992 debug init=/sbin/init swiotlb=32"; +# david shah: +# bootargs = "mem=1024M@0x40000000 rootwait console=hvc0 root=/dev/nfs nfsroot=192.168.7.1:/srv/nfsroot,rsize=1024,wsize=1024,nolock,udp,nfsvers=3 ip=192.168.7.100:192.168.7.1:192.168.7.1:255.255.255.0:vexriscv:eth0:none:8.8.8.8 init=/sbin/init swiotlb=32"; + #bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992:ext4 debug init=/sbin/init swiotlb=32"; + +dts += """ + chosen {{ + bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} console=liteuart earlycon=sbi rootwait root=/dev/ram0 debug init=/sbin/init swiotlb=32"; + linux,initrd-start = <0x{linux_initrd_start:x}>; + linux,initrd-end = <0x{linux_initrd_end:x}>; + }}; +""".format( + main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"], + main_ram_size_mb=d["memories"]["main_ram"]["size"]//mB, + + linux_initrd_start=d["memories"]["main_ram"]["base"] + 8*mB, + linux_initrd_end=d["memories"]["main_ram"]["base"] + 24*mB) + +# CPU ---------------------------------------------------------------------------------------------- + +dts += """ + cpus {{ + #address-cells = <0x1>; + #size-cells = <0x0>; + timebase-frequency = <{sys_clk_freq}>; + + cpu@0 {{ + clock-frequency = <0x0>; + compatible = "spinalhdl,vexriscv", "sifive,rocket0", "riscv"; + d-cache-block-size = <0x40>; + d-cache-sets = <0x40>; + d-cache-size = <0x8000>; + d-tlb-sets = <0x1>; + d-tlb-size = <0x20>; + device_type = "cpu"; + i-cache-block-size = <0x40>; + i-cache-sets = <0x40>; + i-cache-size = <0x8000>; + i-tlb-sets = <0x1>; + i-tlb-size = <0x20>; + mmu-type = "riscv,sv32"; + reg = <0x0>; + riscv,isa = "rv32ima"; + sifive,itim = <0x1>; + status = "okay"; + tlb-split; + }}; + }}; +""".format(sys_clk_freq=int(50e6) if "sim" in d["constants"] else d["constants"]["config_clock_frequency"]) + +# Memory ------------------------------------------------------------------------------------------- + +dts += """ + memory@{main_ram_base:x} {{ + device_type = "memory"; + reg = <0x0 0x{main_ram_base:x} 0x1 0x{main_ram_size:x}>; + }}; +""".format(main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"]) + +# SoC ---------------------------------------------------------------------------------------------- + +dts += """ + soc { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "simple-bus"; + ranges; +""" + + # UART ----------------------------------------------------------------------------------------- + +if "uart" in d["csr_bases"]: + aliases["serial0"] = "liteuart0" + dts += """ + liteuart0: serial@{uart_csr_base:x} {{ + device_type = "serial"; + compatible = "litex,liteuart"; + reg = <0x0 0x{uart_csr_base:x} 0x0 0x100>; + status = "okay"; + }}; + """.format(uart_csr_base=d["csr_bases"]["uart"]) + + # Ethernet MAC --------------------------------------------------------------------------------- + +if "ethmac" in d["csr_bases"]: + dts += """ + mac0: mac@{ethmac_csr_base:x} {{ + compatible = "litex,liteeth"; + reg = <0x0 0x{ethmac_csr_base:x} 0x0 0x7c + 0x0 0x{ethphy_csr_base:x} 0x0 0x0a + 0x0 0x{ethmac_mem_base:x} 0x0 0x2000>; + tx-fifo-depth = <{ethmac_tx_slots}>; + rx-fifo-depth = <{ethmac_rx_slots}>; + }}; + """.format(ethphy_csr_base=d["csr_bases"]["ethphy"], + ethmac_csr_base=d["csr_bases"]["ethmac"], + ethmac_mem_base=d["memories"]["ethmac"]["base"], + ethmac_tx_slots=d["constants"]["ethmac_tx_slots"], + ethmac_rx_slots=d["constants"]["ethmac_rx_slots"]) + + # Leds ----------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ + leds: gpio@{leds_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{leds_csr_base:x} 0x0 0x4>; + litex,direction = "out"; + status = "disabled"; + }}; + """.format(leds_csr_base=d["csr_bases"]["leds"]) + + # RGB Led -------------------------------------------------------------------------------------- + +for name in ["rgb_led_r0", "rgb_led_g0", "rgb_led_b0"]: + if name in d["csr_bases"]: + dts += """ + {pwm_name}: pwm@{pwm_csr_base:x} {{ + compatible = "litex,pwm"; + reg = <0x0 0x{pwm_csr_base:x} 0x0 0x24>; + clock = <100000000>; + #pwm-cells = <3>; + status = "okay"; + }}; + """.format(pwm_name=name, + pwm_csr_base=d["csr_bases"][name]) + + # Switches ------------------------------------------------------------------------------------- + +if "switches" in d["csr_bases"]: + dts += """ + switches: gpio@{switches_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{switches_csr_base:x} 0x0 0x4>; + litex,direction = "in"; + status = "disabled"; + }}; + """.format(switches_csr_base=d["csr_bases"]["switches"]) + + # SPI ------------------------------------------------------------------------------------------ + +if "spi" in d["csr_bases"]: + aliases["spi0"] = "litespi0" + + dts += """ + litespi0: spi@{spi_csr_base:x} {{ + compatible = "litex,litespi"; + reg = <0x0 0x{spi_csr_base:x} 0x0 0x100>; + status = "okay"; + + litespi,max-bpw = <8>; + litespi,sck-frequency = <1000000>; + litespi,num-cs = <1>; + + #address-cells = <0x1>; + #size-cells = <0x1>; + + spidev0: spidev@0 {{ + compatible = "linux,spidev"; + reg = <0 0>; + spi-max-frequency = <1000000>; + status = "okay"; + }}; + }}; + """.format(spi_csr_base=d["csr_bases"]["spi"]) + + # I2C ------------------------------------------------------------------------------------------ + +if "i2c0" in d["csr_bases"]: + dts += """ + i2c0: i2c@{i2c0_csr_base:x} {{ + compatible = "litex,i2c"; + reg = <0x0 0x{i2c0_csr_base:x} 0x0 0x5>; + status = "okay"; + }}; +""".format(i2c0_csr_base=d["csr_bases"]["i2c0"]) + + # XADC ----------------------------------------------------------------------------------------- + +if "xadc" in d["csr_bases"]: + dts += """ + hwmon0: xadc@{xadc_csr_base:x} {{ + compatible = "litex,hwmon-xadc"; + reg = <0x0 0x{xadc_csr_base:x} 0x0 0x20>; + status = "okay"; + }}; +""".format(xadc_csr_base=d["csr_bases"]["xadc"]) + + # Framebuffer ---------------------------------------------------------------------------------- + +if "framebuffer" in d["csr_bases"]: + # FIXME: dynamic framebuffer base and size + framebuffer_base = 0xc8000000 + framebuffer_width = 1280 + framebuffer_height = 720 + dts += """ + framebuffer0: framebuffer@f0000000 {{ + compatible = "simple-framebuffer"; + reg = <0x0 0x{framebuffer_base:x} 0x0 0x{framebuffer_size:x}>; + width = <{framebuffer_width}>; + height = <{framebuffer_height}>; + stride = <{framebuffer_stride}>; + format = "a8b8g8r8"; + }}; + """.format(framebuffer_base=framebuffer_base, + framebuffer_width=framebuffer_width, + framebuffer_height=framebuffer_height, + framebuffer_size=framebuffer_width*framebuffer_height*4, + framebuffer_stride=framebuffer_width*4) + +dts += """ + }; +""" + +# Aliases ----------------------------------------------------------------------------------------- + +if aliases: + dts += """ + aliases { +""" + for alias in aliases: + dts += """ + {} = &{}; +""".format(alias, aliases[alias]) + dts += """ + }; +""" + +dts += """ +}; +""" + +# -------------------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ +&leds { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +if "switches" in d["csr_bases"]: + dts += """ +&switches { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +print(dts) diff --git a/PATCH/json2dts.py-24mb-ram0 b/PATCH/json2dts.py-24mb-ram0 new file mode 100755 index 0000000..f8c255e --- /dev/null +++ b/PATCH/json2dts.py-24mb-ram0 @@ -0,0 +1,284 @@ +#!/usr/bin/env python3 + +import sys +import json +import argparse + +parser = argparse.ArgumentParser(description="LiteX's CSR JSON to Linux DTS generator") +parser.add_argument("csr_json", help="CSR JSON file") +args = parser.parse_args() + +d = json.load(open(args.csr_json)) + +kB = 1024 +mB = kB*1024 + +aliases = {} + +# Header ------------------------------------------------------------------------------------------- + +dts = """ +/dts-v1/; + +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "enjoy-digital,litex-vexriscv-soclinux"; + model = "VexRiscv SoCLinux"; +""" + +# Boot Arguments ----------------------------------------------------------------------------------- + +# bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992 debug init=/sbin/init swiotlb=32"; +# david shah: +# bootargs = "mem=1024M@0x40000000 rootwait console=hvc0 root=/dev/nfs nfsroot=192.168.7.1:/srv/nfsroot,rsize=1024,wsize=1024,nolock,udp,nfsvers=3 ip=192.168.7.100:192.168.7.1:192.168.7.1:255.255.255.0:vexriscv:eth0:none:8.8.8.8 init=/sbin/init swiotlb=32"; + #bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992:ext4 debug init=/sbin/init swiotlb=32"; + +dts += """ + chosen {{ + bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} console=liteuart earlycon=sbi rootwait root=/dev/ram0 debug init=/sbin/init swiotlb=32"; + linux,initrd-start = <0x{linux_initrd_start:x}>; + linux,initrd-end = <0x{linux_initrd_end:x}>; + }}; +""".format( + main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"], + main_ram_size_mb=d["memories"]["main_ram"]["size"]//mB, + + linux_initrd_start=d["memories"]["main_ram"]["base"] + 8*mB, + linux_initrd_end=d["memories"]["main_ram"]["base"] + 32*mB) + +# CPU ---------------------------------------------------------------------------------------------- + +dts += """ + cpus {{ + #address-cells = <0x1>; + #size-cells = <0x0>; + timebase-frequency = <{sys_clk_freq}>; + + cpu@0 {{ + clock-frequency = <0x0>; + compatible = "spinalhdl,vexriscv", "sifive,rocket0", "riscv"; + d-cache-block-size = <0x40>; + d-cache-sets = <0x40>; + d-cache-size = <0x8000>; + d-tlb-sets = <0x1>; + d-tlb-size = <0x20>; + device_type = "cpu"; + i-cache-block-size = <0x40>; + i-cache-sets = <0x40>; + i-cache-size = <0x8000>; + i-tlb-sets = <0x1>; + i-tlb-size = <0x20>; + mmu-type = "riscv,sv32"; + reg = <0x0>; + riscv,isa = "rv32ima"; + sifive,itim = <0x1>; + status = "okay"; + tlb-split; + }}; + }}; +""".format(sys_clk_freq=int(50e6) if "sim" in d["constants"] else d["constants"]["config_clock_frequency"]) + +# Memory ------------------------------------------------------------------------------------------- + +dts += """ + memory@{main_ram_base:x} {{ + device_type = "memory"; + reg = <0x0 0x{main_ram_base:x} 0x1 0x{main_ram_size:x}>; + }}; +""".format(main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"]) + +# SoC ---------------------------------------------------------------------------------------------- + +dts += """ + soc { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "simple-bus"; + ranges; +""" + + # UART ----------------------------------------------------------------------------------------- + +if "uart" in d["csr_bases"]: + aliases["serial0"] = "liteuart0" + dts += """ + liteuart0: serial@{uart_csr_base:x} {{ + device_type = "serial"; + compatible = "litex,liteuart"; + reg = <0x0 0x{uart_csr_base:x} 0x0 0x100>; + status = "okay"; + }}; + """.format(uart_csr_base=d["csr_bases"]["uart"]) + + # Ethernet MAC --------------------------------------------------------------------------------- + +if "ethmac" in d["csr_bases"]: + dts += """ + mac0: mac@{ethmac_csr_base:x} {{ + compatible = "litex,liteeth"; + reg = <0x0 0x{ethmac_csr_base:x} 0x0 0x7c + 0x0 0x{ethphy_csr_base:x} 0x0 0x0a + 0x0 0x{ethmac_mem_base:x} 0x0 0x2000>; + tx-fifo-depth = <{ethmac_tx_slots}>; + rx-fifo-depth = <{ethmac_rx_slots}>; + }}; + """.format(ethphy_csr_base=d["csr_bases"]["ethphy"], + ethmac_csr_base=d["csr_bases"]["ethmac"], + ethmac_mem_base=d["memories"]["ethmac"]["base"], + ethmac_tx_slots=d["constants"]["ethmac_tx_slots"], + ethmac_rx_slots=d["constants"]["ethmac_rx_slots"]) + + # Leds ----------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ + leds: gpio@{leds_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{leds_csr_base:x} 0x0 0x4>; + litex,direction = "out"; + status = "disabled"; + }}; + """.format(leds_csr_base=d["csr_bases"]["leds"]) + + # RGB Led -------------------------------------------------------------------------------------- + +for name in ["rgb_led_r0", "rgb_led_g0", "rgb_led_b0"]: + if name in d["csr_bases"]: + dts += """ + {pwm_name}: pwm@{pwm_csr_base:x} {{ + compatible = "litex,pwm"; + reg = <0x0 0x{pwm_csr_base:x} 0x0 0x24>; + clock = <100000000>; + #pwm-cells = <3>; + status = "okay"; + }}; + """.format(pwm_name=name, + pwm_csr_base=d["csr_bases"][name]) + + # Switches ------------------------------------------------------------------------------------- + +if "switches" in d["csr_bases"]: + dts += """ + switches: gpio@{switches_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{switches_csr_base:x} 0x0 0x4>; + litex,direction = "in"; + status = "disabled"; + }}; + """.format(switches_csr_base=d["csr_bases"]["switches"]) + + # SPI ------------------------------------------------------------------------------------------ + +if "spi" in d["csr_bases"]: + aliases["spi0"] = "litespi0" + + dts += """ + litespi0: spi@{spi_csr_base:x} {{ + compatible = "litex,litespi"; + reg = <0x0 0x{spi_csr_base:x} 0x0 0x100>; + status = "okay"; + + litespi,max-bpw = <8>; + litespi,sck-frequency = <1000000>; + litespi,num-cs = <1>; + + #address-cells = <0x1>; + #size-cells = <0x1>; + + spidev0: spidev@0 {{ + compatible = "linux,spidev"; + reg = <0 0>; + spi-max-frequency = <1000000>; + status = "okay"; + }}; + }}; + """.format(spi_csr_base=d["csr_bases"]["spi"]) + + # I2C ------------------------------------------------------------------------------------------ + +if "i2c0" in d["csr_bases"]: + dts += """ + i2c0: i2c@{i2c0_csr_base:x} {{ + compatible = "litex,i2c"; + reg = <0x0 0x{i2c0_csr_base:x} 0x0 0x5>; + status = "okay"; + }}; +""".format(i2c0_csr_base=d["csr_bases"]["i2c0"]) + + # XADC ----------------------------------------------------------------------------------------- + +if "xadc" in d["csr_bases"]: + dts += """ + hwmon0: xadc@{xadc_csr_base:x} {{ + compatible = "litex,hwmon-xadc"; + reg = <0x0 0x{xadc_csr_base:x} 0x0 0x20>; + status = "okay"; + }}; +""".format(xadc_csr_base=d["csr_bases"]["xadc"]) + + # Framebuffer ---------------------------------------------------------------------------------- + +if "framebuffer" in d["csr_bases"]: + # FIXME: dynamic framebuffer base and size + framebuffer_base = 0xc8000000 + framebuffer_width = 1280 + framebuffer_height = 720 + dts += """ + framebuffer0: framebuffer@f0000000 {{ + compatible = "simple-framebuffer"; + reg = <0x0 0x{framebuffer_base:x} 0x0 0x{framebuffer_size:x}>; + width = <{framebuffer_width}>; + height = <{framebuffer_height}>; + stride = <{framebuffer_stride}>; + format = "a8b8g8r8"; + }}; + """.format(framebuffer_base=framebuffer_base, + framebuffer_width=framebuffer_width, + framebuffer_height=framebuffer_height, + framebuffer_size=framebuffer_width*framebuffer_height*4, + framebuffer_stride=framebuffer_width*4) + +dts += """ + }; +""" + +# Aliases ----------------------------------------------------------------------------------------- + +if aliases: + dts += """ + aliases { +""" + for alias in aliases: + dts += """ + {} = &{}; +""".format(alias, aliases[alias]) + dts += """ + }; +""" + +dts += """ +}; +""" + +# -------------------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ +&leds { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +if "switches" in d["csr_bases"]: + dts += """ +&switches { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +print(dts) diff --git a/PATCH/json2dts.py-32mb-ram0 b/PATCH/json2dts.py-32mb-ram0 new file mode 100755 index 0000000..f2cc932 --- /dev/null +++ b/PATCH/json2dts.py-32mb-ram0 @@ -0,0 +1,284 @@ +#!/usr/bin/env python3 + +import sys +import json +import argparse + +parser = argparse.ArgumentParser(description="LiteX's CSR JSON to Linux DTS generator") +parser.add_argument("csr_json", help="CSR JSON file") +args = parser.parse_args() + +d = json.load(open(args.csr_json)) + +kB = 1024 +mB = kB*1024 + +aliases = {} + +# Header ------------------------------------------------------------------------------------------- + +dts = """ +/dts-v1/; + +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "enjoy-digital,litex-vexriscv-soclinux"; + model = "VexRiscv SoCLinux"; +""" + +# Boot Arguments ----------------------------------------------------------------------------------- + +# bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992 debug init=/sbin/init swiotlb=32"; +# david shah: +# bootargs = "mem=1024M@0x40000000 rootwait console=hvc0 root=/dev/nfs nfsroot=192.168.7.1:/srv/nfsroot,rsize=1024,wsize=1024,nolock,udp,nfsvers=3 ip=192.168.7.100:192.168.7.1:192.168.7.1:255.255.255.0:vexriscv:eth0:none:8.8.8.8 init=/sbin/init swiotlb=32"; + #bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992:ext4 debug init=/sbin/init swiotlb=32"; + +dts += """ + chosen {{ + bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} console=liteuart earlycon=sbi rootwait root=/dev/ram0 debug init=/sbin/init swiotlb=32"; + linux,initrd-start = <0x{linux_initrd_start:x}>; + linux,initrd-end = <0x{linux_initrd_end:x}>; + }}; +""".format( + main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"], + main_ram_size_mb=d["memories"]["main_ram"]["size"]//mB, + + linux_initrd_start=d["memories"]["main_ram"]["base"] + 8*mB, + linux_initrd_end=d["memories"]["main_ram"]["base"] + 40*mB) + +# CPU ---------------------------------------------------------------------------------------------- + +dts += """ + cpus {{ + #address-cells = <0x1>; + #size-cells = <0x0>; + timebase-frequency = <{sys_clk_freq}>; + + cpu@0 {{ + clock-frequency = <0x0>; + compatible = "spinalhdl,vexriscv", "sifive,rocket0", "riscv"; + d-cache-block-size = <0x40>; + d-cache-sets = <0x40>; + d-cache-size = <0x8000>; + d-tlb-sets = <0x1>; + d-tlb-size = <0x20>; + device_type = "cpu"; + i-cache-block-size = <0x40>; + i-cache-sets = <0x40>; + i-cache-size = <0x8000>; + i-tlb-sets = <0x1>; + i-tlb-size = <0x20>; + mmu-type = "riscv,sv32"; + reg = <0x0>; + riscv,isa = "rv32ima"; + sifive,itim = <0x1>; + status = "okay"; + tlb-split; + }}; + }}; +""".format(sys_clk_freq=int(50e6) if "sim" in d["constants"] else d["constants"]["config_clock_frequency"]) + +# Memory ------------------------------------------------------------------------------------------- + +dts += """ + memory@{main_ram_base:x} {{ + device_type = "memory"; + reg = <0x0 0x{main_ram_base:x} 0x1 0x{main_ram_size:x}>; + }}; +""".format(main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"]) + +# SoC ---------------------------------------------------------------------------------------------- + +dts += """ + soc { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "simple-bus"; + ranges; +""" + + # UART ----------------------------------------------------------------------------------------- + +if "uart" in d["csr_bases"]: + aliases["serial0"] = "liteuart0" + dts += """ + liteuart0: serial@{uart_csr_base:x} {{ + device_type = "serial"; + compatible = "litex,liteuart"; + reg = <0x0 0x{uart_csr_base:x} 0x0 0x100>; + status = "okay"; + }}; + """.format(uart_csr_base=d["csr_bases"]["uart"]) + + # Ethernet MAC --------------------------------------------------------------------------------- + +if "ethmac" in d["csr_bases"]: + dts += """ + mac0: mac@{ethmac_csr_base:x} {{ + compatible = "litex,liteeth"; + reg = <0x0 0x{ethmac_csr_base:x} 0x0 0x7c + 0x0 0x{ethphy_csr_base:x} 0x0 0x0a + 0x0 0x{ethmac_mem_base:x} 0x0 0x2000>; + tx-fifo-depth = <{ethmac_tx_slots}>; + rx-fifo-depth = <{ethmac_rx_slots}>; + }}; + """.format(ethphy_csr_base=d["csr_bases"]["ethphy"], + ethmac_csr_base=d["csr_bases"]["ethmac"], + ethmac_mem_base=d["memories"]["ethmac"]["base"], + ethmac_tx_slots=d["constants"]["ethmac_tx_slots"], + ethmac_rx_slots=d["constants"]["ethmac_rx_slots"]) + + # Leds ----------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ + leds: gpio@{leds_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{leds_csr_base:x} 0x0 0x4>; + litex,direction = "out"; + status = "disabled"; + }}; + """.format(leds_csr_base=d["csr_bases"]["leds"]) + + # RGB Led -------------------------------------------------------------------------------------- + +for name in ["rgb_led_r0", "rgb_led_g0", "rgb_led_b0"]: + if name in d["csr_bases"]: + dts += """ + {pwm_name}: pwm@{pwm_csr_base:x} {{ + compatible = "litex,pwm"; + reg = <0x0 0x{pwm_csr_base:x} 0x0 0x24>; + clock = <100000000>; + #pwm-cells = <3>; + status = "okay"; + }}; + """.format(pwm_name=name, + pwm_csr_base=d["csr_bases"][name]) + + # Switches ------------------------------------------------------------------------------------- + +if "switches" in d["csr_bases"]: + dts += """ + switches: gpio@{switches_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{switches_csr_base:x} 0x0 0x4>; + litex,direction = "in"; + status = "disabled"; + }}; + """.format(switches_csr_base=d["csr_bases"]["switches"]) + + # SPI ------------------------------------------------------------------------------------------ + +if "spi" in d["csr_bases"]: + aliases["spi0"] = "litespi0" + + dts += """ + litespi0: spi@{spi_csr_base:x} {{ + compatible = "litex,litespi"; + reg = <0x0 0x{spi_csr_base:x} 0x0 0x100>; + status = "okay"; + + litespi,max-bpw = <8>; + litespi,sck-frequency = <1000000>; + litespi,num-cs = <1>; + + #address-cells = <0x1>; + #size-cells = <0x1>; + + spidev0: spidev@0 {{ + compatible = "linux,spidev"; + reg = <0 0>; + spi-max-frequency = <1000000>; + status = "okay"; + }}; + }}; + """.format(spi_csr_base=d["csr_bases"]["spi"]) + + # I2C ------------------------------------------------------------------------------------------ + +if "i2c0" in d["csr_bases"]: + dts += """ + i2c0: i2c@{i2c0_csr_base:x} {{ + compatible = "litex,i2c"; + reg = <0x0 0x{i2c0_csr_base:x} 0x0 0x5>; + status = "okay"; + }}; +""".format(i2c0_csr_base=d["csr_bases"]["i2c0"]) + + # XADC ----------------------------------------------------------------------------------------- + +if "xadc" in d["csr_bases"]: + dts += """ + hwmon0: xadc@{xadc_csr_base:x} {{ + compatible = "litex,hwmon-xadc"; + reg = <0x0 0x{xadc_csr_base:x} 0x0 0x20>; + status = "okay"; + }}; +""".format(xadc_csr_base=d["csr_bases"]["xadc"]) + + # Framebuffer ---------------------------------------------------------------------------------- + +if "framebuffer" in d["csr_bases"]: + # FIXME: dynamic framebuffer base and size + framebuffer_base = 0xc8000000 + framebuffer_width = 1280 + framebuffer_height = 720 + dts += """ + framebuffer0: framebuffer@f0000000 {{ + compatible = "simple-framebuffer"; + reg = <0x0 0x{framebuffer_base:x} 0x0 0x{framebuffer_size:x}>; + width = <{framebuffer_width}>; + height = <{framebuffer_height}>; + stride = <{framebuffer_stride}>; + format = "a8b8g8r8"; + }}; + """.format(framebuffer_base=framebuffer_base, + framebuffer_width=framebuffer_width, + framebuffer_height=framebuffer_height, + framebuffer_size=framebuffer_width*framebuffer_height*4, + framebuffer_stride=framebuffer_width*4) + +dts += """ + }; +""" + +# Aliases ----------------------------------------------------------------------------------------- + +if aliases: + dts += """ + aliases { +""" + for alias in aliases: + dts += """ + {} = &{}; +""".format(alias, aliases[alias]) + dts += """ + }; +""" + +dts += """ +}; +""" + +# -------------------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ +&leds { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +if "switches" in d["csr_bases"]: + dts += """ +&switches { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +print(dts) diff --git a/PATCH/json2dts.py-34mb-ram0 b/PATCH/json2dts.py-34mb-ram0 new file mode 100755 index 0000000..e847767 --- /dev/null +++ b/PATCH/json2dts.py-34mb-ram0 @@ -0,0 +1,284 @@ +#!/usr/bin/env python3 + +import sys +import json +import argparse + +parser = argparse.ArgumentParser(description="LiteX's CSR JSON to Linux DTS generator") +parser.add_argument("csr_json", help="CSR JSON file") +args = parser.parse_args() + +d = json.load(open(args.csr_json)) + +kB = 1024 +mB = kB*1024 + +aliases = {} + +# Header ------------------------------------------------------------------------------------------- + +dts = """ +/dts-v1/; + +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "enjoy-digital,litex-vexriscv-soclinux"; + model = "VexRiscv SoCLinux"; +""" + +# Boot Arguments ----------------------------------------------------------------------------------- + +# bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992 debug init=/sbin/init swiotlb=32"; +# david shah: +# bootargs = "mem=1024M@0x40000000 rootwait console=hvc0 root=/dev/nfs nfsroot=192.168.7.1:/srv/nfsroot,rsize=1024,wsize=1024,nolock,udp,nfsvers=3 ip=192.168.7.100:192.168.7.1:192.168.7.1:255.255.255.0:vexriscv:eth0:none:8.8.8.8 init=/sbin/init swiotlb=32"; + #bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992:ext4 debug init=/sbin/init swiotlb=32"; + +dts += """ + chosen {{ + bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} console=liteuart earlycon=sbi rootwait root=/dev/ram0 debug init=/sbin/init swiotlb=32"; + linux,initrd-start = <0x{linux_initrd_start:x}>; + linux,initrd-end = <0x{linux_initrd_end:x}>; + }}; +""".format( + main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"], + main_ram_size_mb=d["memories"]["main_ram"]["size"]//mB, + + linux_initrd_start=d["memories"]["main_ram"]["base"] + 8*mB, + linux_initrd_end=d["memories"]["main_ram"]["base"] + 42*mB) + +# CPU ---------------------------------------------------------------------------------------------- + +dts += """ + cpus {{ + #address-cells = <0x1>; + #size-cells = <0x0>; + timebase-frequency = <{sys_clk_freq}>; + + cpu@0 {{ + clock-frequency = <0x0>; + compatible = "spinalhdl,vexriscv", "sifive,rocket0", "riscv"; + d-cache-block-size = <0x40>; + d-cache-sets = <0x40>; + d-cache-size = <0x8000>; + d-tlb-sets = <0x1>; + d-tlb-size = <0x20>; + device_type = "cpu"; + i-cache-block-size = <0x40>; + i-cache-sets = <0x40>; + i-cache-size = <0x8000>; + i-tlb-sets = <0x1>; + i-tlb-size = <0x20>; + mmu-type = "riscv,sv32"; + reg = <0x0>; + riscv,isa = "rv32ima"; + sifive,itim = <0x1>; + status = "okay"; + tlb-split; + }}; + }}; +""".format(sys_clk_freq=int(50e6) if "sim" in d["constants"] else d["constants"]["config_clock_frequency"]) + +# Memory ------------------------------------------------------------------------------------------- + +dts += """ + memory@{main_ram_base:x} {{ + device_type = "memory"; + reg = <0x0 0x{main_ram_base:x} 0x1 0x{main_ram_size:x}>; + }}; +""".format(main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"]) + +# SoC ---------------------------------------------------------------------------------------------- + +dts += """ + soc { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "simple-bus"; + ranges; +""" + + # UART ----------------------------------------------------------------------------------------- + +if "uart" in d["csr_bases"]: + aliases["serial0"] = "liteuart0" + dts += """ + liteuart0: serial@{uart_csr_base:x} {{ + device_type = "serial"; + compatible = "litex,liteuart"; + reg = <0x0 0x{uart_csr_base:x} 0x0 0x100>; + status = "okay"; + }}; + """.format(uart_csr_base=d["csr_bases"]["uart"]) + + # Ethernet MAC --------------------------------------------------------------------------------- + +if "ethmac" in d["csr_bases"]: + dts += """ + mac0: mac@{ethmac_csr_base:x} {{ + compatible = "litex,liteeth"; + reg = <0x0 0x{ethmac_csr_base:x} 0x0 0x7c + 0x0 0x{ethphy_csr_base:x} 0x0 0x0a + 0x0 0x{ethmac_mem_base:x} 0x0 0x2000>; + tx-fifo-depth = <{ethmac_tx_slots}>; + rx-fifo-depth = <{ethmac_rx_slots}>; + }}; + """.format(ethphy_csr_base=d["csr_bases"]["ethphy"], + ethmac_csr_base=d["csr_bases"]["ethmac"], + ethmac_mem_base=d["memories"]["ethmac"]["base"], + ethmac_tx_slots=d["constants"]["ethmac_tx_slots"], + ethmac_rx_slots=d["constants"]["ethmac_rx_slots"]) + + # Leds ----------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ + leds: gpio@{leds_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{leds_csr_base:x} 0x0 0x4>; + litex,direction = "out"; + status = "disabled"; + }}; + """.format(leds_csr_base=d["csr_bases"]["leds"]) + + # RGB Led -------------------------------------------------------------------------------------- + +for name in ["rgb_led_r0", "rgb_led_g0", "rgb_led_b0"]: + if name in d["csr_bases"]: + dts += """ + {pwm_name}: pwm@{pwm_csr_base:x} {{ + compatible = "litex,pwm"; + reg = <0x0 0x{pwm_csr_base:x} 0x0 0x24>; + clock = <100000000>; + #pwm-cells = <3>; + status = "okay"; + }}; + """.format(pwm_name=name, + pwm_csr_base=d["csr_bases"][name]) + + # Switches ------------------------------------------------------------------------------------- + +if "switches" in d["csr_bases"]: + dts += """ + switches: gpio@{switches_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{switches_csr_base:x} 0x0 0x4>; + litex,direction = "in"; + status = "disabled"; + }}; + """.format(switches_csr_base=d["csr_bases"]["switches"]) + + # SPI ------------------------------------------------------------------------------------------ + +if "spi" in d["csr_bases"]: + aliases["spi0"] = "litespi0" + + dts += """ + litespi0: spi@{spi_csr_base:x} {{ + compatible = "litex,litespi"; + reg = <0x0 0x{spi_csr_base:x} 0x0 0x100>; + status = "okay"; + + litespi,max-bpw = <8>; + litespi,sck-frequency = <1000000>; + litespi,num-cs = <1>; + + #address-cells = <0x1>; + #size-cells = <0x1>; + + spidev0: spidev@0 {{ + compatible = "linux,spidev"; + reg = <0 0>; + spi-max-frequency = <1000000>; + status = "okay"; + }}; + }}; + """.format(spi_csr_base=d["csr_bases"]["spi"]) + + # I2C ------------------------------------------------------------------------------------------ + +if "i2c0" in d["csr_bases"]: + dts += """ + i2c0: i2c@{i2c0_csr_base:x} {{ + compatible = "litex,i2c"; + reg = <0x0 0x{i2c0_csr_base:x} 0x0 0x5>; + status = "okay"; + }}; +""".format(i2c0_csr_base=d["csr_bases"]["i2c0"]) + + # XADC ----------------------------------------------------------------------------------------- + +if "xadc" in d["csr_bases"]: + dts += """ + hwmon0: xadc@{xadc_csr_base:x} {{ + compatible = "litex,hwmon-xadc"; + reg = <0x0 0x{xadc_csr_base:x} 0x0 0x20>; + status = "okay"; + }}; +""".format(xadc_csr_base=d["csr_bases"]["xadc"]) + + # Framebuffer ---------------------------------------------------------------------------------- + +if "framebuffer" in d["csr_bases"]: + # FIXME: dynamic framebuffer base and size + framebuffer_base = 0xc8000000 + framebuffer_width = 1280 + framebuffer_height = 720 + dts += """ + framebuffer0: framebuffer@f0000000 {{ + compatible = "simple-framebuffer"; + reg = <0x0 0x{framebuffer_base:x} 0x0 0x{framebuffer_size:x}>; + width = <{framebuffer_width}>; + height = <{framebuffer_height}>; + stride = <{framebuffer_stride}>; + format = "a8b8g8r8"; + }}; + """.format(framebuffer_base=framebuffer_base, + framebuffer_width=framebuffer_width, + framebuffer_height=framebuffer_height, + framebuffer_size=framebuffer_width*framebuffer_height*4, + framebuffer_stride=framebuffer_width*4) + +dts += """ + }; +""" + +# Aliases ----------------------------------------------------------------------------------------- + +if aliases: + dts += """ + aliases { +""" + for alias in aliases: + dts += """ + {} = &{}; +""".format(alias, aliases[alias]) + dts += """ + }; +""" + +dts += """ +}; +""" + +# -------------------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ +&leds { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +if "switches" in d["csr_bases"]: + dts += """ +&switches { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +print(dts) diff --git a/PATCH/json2dts.py-36mb-ram0 b/PATCH/json2dts.py-36mb-ram0 new file mode 100755 index 0000000..c11982a --- /dev/null +++ b/PATCH/json2dts.py-36mb-ram0 @@ -0,0 +1,284 @@ +#!/usr/bin/env python3 + +import sys +import json +import argparse + +parser = argparse.ArgumentParser(description="LiteX's CSR JSON to Linux DTS generator") +parser.add_argument("csr_json", help="CSR JSON file") +args = parser.parse_args() + +d = json.load(open(args.csr_json)) + +kB = 1024 +mB = kB*1024 + +aliases = {} + +# Header ------------------------------------------------------------------------------------------- + +dts = """ +/dts-v1/; + +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "enjoy-digital,litex-vexriscv-soclinux"; + model = "VexRiscv SoCLinux"; +""" + +# Boot Arguments ----------------------------------------------------------------------------------- + +# bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992 debug init=/sbin/init swiotlb=32"; +# david shah: +# bootargs = "mem=1024M@0x40000000 rootwait console=hvc0 root=/dev/nfs nfsroot=192.168.7.1:/srv/nfsroot,rsize=1024,wsize=1024,nolock,udp,nfsvers=3 ip=192.168.7.100:192.168.7.1:192.168.7.1:255.255.255.0:vexriscv:eth0:none:8.8.8.8 init=/sbin/init swiotlb=32"; + #bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992:ext4 debug init=/sbin/init swiotlb=32"; + +dts += """ + chosen {{ + bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} console=liteuart earlycon=sbi rootwait root=/dev/ram0 debug init=/sbin/init swiotlb=32"; + linux,initrd-start = <0x{linux_initrd_start:x}>; + linux,initrd-end = <0x{linux_initrd_end:x}>; + }}; +""".format( + main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"], + main_ram_size_mb=d["memories"]["main_ram"]["size"]//mB, + + linux_initrd_start=d["memories"]["main_ram"]["base"] + 8*mB, + linux_initrd_end=d["memories"]["main_ram"]["base"] + 44*mB) + +# CPU ---------------------------------------------------------------------------------------------- + +dts += """ + cpus {{ + #address-cells = <0x1>; + #size-cells = <0x0>; + timebase-frequency = <{sys_clk_freq}>; + + cpu@0 {{ + clock-frequency = <0x0>; + compatible = "spinalhdl,vexriscv", "sifive,rocket0", "riscv"; + d-cache-block-size = <0x40>; + d-cache-sets = <0x40>; + d-cache-size = <0x8000>; + d-tlb-sets = <0x1>; + d-tlb-size = <0x20>; + device_type = "cpu"; + i-cache-block-size = <0x40>; + i-cache-sets = <0x40>; + i-cache-size = <0x8000>; + i-tlb-sets = <0x1>; + i-tlb-size = <0x20>; + mmu-type = "riscv,sv32"; + reg = <0x0>; + riscv,isa = "rv32ima"; + sifive,itim = <0x1>; + status = "okay"; + tlb-split; + }}; + }}; +""".format(sys_clk_freq=int(50e6) if "sim" in d["constants"] else d["constants"]["config_clock_frequency"]) + +# Memory ------------------------------------------------------------------------------------------- + +dts += """ + memory@{main_ram_base:x} {{ + device_type = "memory"; + reg = <0x0 0x{main_ram_base:x} 0x1 0x{main_ram_size:x}>; + }}; +""".format(main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"]) + +# SoC ---------------------------------------------------------------------------------------------- + +dts += """ + soc { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "simple-bus"; + ranges; +""" + + # UART ----------------------------------------------------------------------------------------- + +if "uart" in d["csr_bases"]: + aliases["serial0"] = "liteuart0" + dts += """ + liteuart0: serial@{uart_csr_base:x} {{ + device_type = "serial"; + compatible = "litex,liteuart"; + reg = <0x0 0x{uart_csr_base:x} 0x0 0x100>; + status = "okay"; + }}; + """.format(uart_csr_base=d["csr_bases"]["uart"]) + + # Ethernet MAC --------------------------------------------------------------------------------- + +if "ethmac" in d["csr_bases"]: + dts += """ + mac0: mac@{ethmac_csr_base:x} {{ + compatible = "litex,liteeth"; + reg = <0x0 0x{ethmac_csr_base:x} 0x0 0x7c + 0x0 0x{ethphy_csr_base:x} 0x0 0x0a + 0x0 0x{ethmac_mem_base:x} 0x0 0x2000>; + tx-fifo-depth = <{ethmac_tx_slots}>; + rx-fifo-depth = <{ethmac_rx_slots}>; + }}; + """.format(ethphy_csr_base=d["csr_bases"]["ethphy"], + ethmac_csr_base=d["csr_bases"]["ethmac"], + ethmac_mem_base=d["memories"]["ethmac"]["base"], + ethmac_tx_slots=d["constants"]["ethmac_tx_slots"], + ethmac_rx_slots=d["constants"]["ethmac_rx_slots"]) + + # Leds ----------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ + leds: gpio@{leds_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{leds_csr_base:x} 0x0 0x4>; + litex,direction = "out"; + status = "disabled"; + }}; + """.format(leds_csr_base=d["csr_bases"]["leds"]) + + # RGB Led -------------------------------------------------------------------------------------- + +for name in ["rgb_led_r0", "rgb_led_g0", "rgb_led_b0"]: + if name in d["csr_bases"]: + dts += """ + {pwm_name}: pwm@{pwm_csr_base:x} {{ + compatible = "litex,pwm"; + reg = <0x0 0x{pwm_csr_base:x} 0x0 0x24>; + clock = <100000000>; + #pwm-cells = <3>; + status = "okay"; + }}; + """.format(pwm_name=name, + pwm_csr_base=d["csr_bases"][name]) + + # Switches ------------------------------------------------------------------------------------- + +if "switches" in d["csr_bases"]: + dts += """ + switches: gpio@{switches_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{switches_csr_base:x} 0x0 0x4>; + litex,direction = "in"; + status = "disabled"; + }}; + """.format(switches_csr_base=d["csr_bases"]["switches"]) + + # SPI ------------------------------------------------------------------------------------------ + +if "spi" in d["csr_bases"]: + aliases["spi0"] = "litespi0" + + dts += """ + litespi0: spi@{spi_csr_base:x} {{ + compatible = "litex,litespi"; + reg = <0x0 0x{spi_csr_base:x} 0x0 0x100>; + status = "okay"; + + litespi,max-bpw = <8>; + litespi,sck-frequency = <1000000>; + litespi,num-cs = <1>; + + #address-cells = <0x1>; + #size-cells = <0x1>; + + spidev0: spidev@0 {{ + compatible = "linux,spidev"; + reg = <0 0>; + spi-max-frequency = <1000000>; + status = "okay"; + }}; + }}; + """.format(spi_csr_base=d["csr_bases"]["spi"]) + + # I2C ------------------------------------------------------------------------------------------ + +if "i2c0" in d["csr_bases"]: + dts += """ + i2c0: i2c@{i2c0_csr_base:x} {{ + compatible = "litex,i2c"; + reg = <0x0 0x{i2c0_csr_base:x} 0x0 0x5>; + status = "okay"; + }}; +""".format(i2c0_csr_base=d["csr_bases"]["i2c0"]) + + # XADC ----------------------------------------------------------------------------------------- + +if "xadc" in d["csr_bases"]: + dts += """ + hwmon0: xadc@{xadc_csr_base:x} {{ + compatible = "litex,hwmon-xadc"; + reg = <0x0 0x{xadc_csr_base:x} 0x0 0x20>; + status = "okay"; + }}; +""".format(xadc_csr_base=d["csr_bases"]["xadc"]) + + # Framebuffer ---------------------------------------------------------------------------------- + +if "framebuffer" in d["csr_bases"]: + # FIXME: dynamic framebuffer base and size + framebuffer_base = 0xc8000000 + framebuffer_width = 1280 + framebuffer_height = 720 + dts += """ + framebuffer0: framebuffer@f0000000 {{ + compatible = "simple-framebuffer"; + reg = <0x0 0x{framebuffer_base:x} 0x0 0x{framebuffer_size:x}>; + width = <{framebuffer_width}>; + height = <{framebuffer_height}>; + stride = <{framebuffer_stride}>; + format = "a8b8g8r8"; + }}; + """.format(framebuffer_base=framebuffer_base, + framebuffer_width=framebuffer_width, + framebuffer_height=framebuffer_height, + framebuffer_size=framebuffer_width*framebuffer_height*4, + framebuffer_stride=framebuffer_width*4) + +dts += """ + }; +""" + +# Aliases ----------------------------------------------------------------------------------------- + +if aliases: + dts += """ + aliases { +""" + for alias in aliases: + dts += """ + {} = &{}; +""".format(alias, aliases[alias]) + dts += """ + }; +""" + +dts += """ +}; +""" + +# -------------------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ +&leds { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +if "switches" in d["csr_bases"]: + dts += """ +&switches { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +print(dts) diff --git a/PATCH/json2dts.py-38mb-ram0 b/PATCH/json2dts.py-38mb-ram0 new file mode 100755 index 0000000..1e08e43 --- /dev/null +++ b/PATCH/json2dts.py-38mb-ram0 @@ -0,0 +1,284 @@ +#!/usr/bin/env python3 + +import sys +import json +import argparse + +parser = argparse.ArgumentParser(description="LiteX's CSR JSON to Linux DTS generator") +parser.add_argument("csr_json", help="CSR JSON file") +args = parser.parse_args() + +d = json.load(open(args.csr_json)) + +kB = 1024 +mB = kB*1024 + +aliases = {} + +# Header ------------------------------------------------------------------------------------------- + +dts = """ +/dts-v1/; + +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "enjoy-digital,litex-vexriscv-soclinux"; + model = "VexRiscv SoCLinux"; +""" + +# Boot Arguments ----------------------------------------------------------------------------------- + +# bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992 debug init=/sbin/init swiotlb=32"; +# david shah: +# bootargs = "mem=1024M@0x40000000 rootwait console=hvc0 root=/dev/nfs nfsroot=192.168.7.1:/srv/nfsroot,rsize=1024,wsize=1024,nolock,udp,nfsvers=3 ip=192.168.7.100:192.168.7.1:192.168.7.1:255.255.255.0:vexriscv:eth0:none:8.8.8.8 init=/sbin/init swiotlb=32"; + #bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992:ext4 debug init=/sbin/init swiotlb=32"; + +dts += """ + chosen {{ + bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} console=liteuart earlycon=sbi rootwait root=/dev/ram0 debug init=/sbin/init swiotlb=32"; + linux,initrd-start = <0x{linux_initrd_start:x}>; + linux,initrd-end = <0x{linux_initrd_end:x}>; + }}; +""".format( + main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"], + main_ram_size_mb=d["memories"]["main_ram"]["size"]//mB, + + linux_initrd_start=d["memories"]["main_ram"]["base"] + 8*mB, + linux_initrd_end=d["memories"]["main_ram"]["base"] + 46*mB) + +# CPU ---------------------------------------------------------------------------------------------- + +dts += """ + cpus {{ + #address-cells = <0x1>; + #size-cells = <0x0>; + timebase-frequency = <{sys_clk_freq}>; + + cpu@0 {{ + clock-frequency = <0x0>; + compatible = "spinalhdl,vexriscv", "sifive,rocket0", "riscv"; + d-cache-block-size = <0x40>; + d-cache-sets = <0x40>; + d-cache-size = <0x8000>; + d-tlb-sets = <0x1>; + d-tlb-size = <0x20>; + device_type = "cpu"; + i-cache-block-size = <0x40>; + i-cache-sets = <0x40>; + i-cache-size = <0x8000>; + i-tlb-sets = <0x1>; + i-tlb-size = <0x20>; + mmu-type = "riscv,sv32"; + reg = <0x0>; + riscv,isa = "rv32ima"; + sifive,itim = <0x1>; + status = "okay"; + tlb-split; + }}; + }}; +""".format(sys_clk_freq=int(50e6) if "sim" in d["constants"] else d["constants"]["config_clock_frequency"]) + +# Memory ------------------------------------------------------------------------------------------- + +dts += """ + memory@{main_ram_base:x} {{ + device_type = "memory"; + reg = <0x0 0x{main_ram_base:x} 0x1 0x{main_ram_size:x}>; + }}; +""".format(main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"]) + +# SoC ---------------------------------------------------------------------------------------------- + +dts += """ + soc { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "simple-bus"; + ranges; +""" + + # UART ----------------------------------------------------------------------------------------- + +if "uart" in d["csr_bases"]: + aliases["serial0"] = "liteuart0" + dts += """ + liteuart0: serial@{uart_csr_base:x} {{ + device_type = "serial"; + compatible = "litex,liteuart"; + reg = <0x0 0x{uart_csr_base:x} 0x0 0x100>; + status = "okay"; + }}; + """.format(uart_csr_base=d["csr_bases"]["uart"]) + + # Ethernet MAC --------------------------------------------------------------------------------- + +if "ethmac" in d["csr_bases"]: + dts += """ + mac0: mac@{ethmac_csr_base:x} {{ + compatible = "litex,liteeth"; + reg = <0x0 0x{ethmac_csr_base:x} 0x0 0x7c + 0x0 0x{ethphy_csr_base:x} 0x0 0x0a + 0x0 0x{ethmac_mem_base:x} 0x0 0x2000>; + tx-fifo-depth = <{ethmac_tx_slots}>; + rx-fifo-depth = <{ethmac_rx_slots}>; + }}; + """.format(ethphy_csr_base=d["csr_bases"]["ethphy"], + ethmac_csr_base=d["csr_bases"]["ethmac"], + ethmac_mem_base=d["memories"]["ethmac"]["base"], + ethmac_tx_slots=d["constants"]["ethmac_tx_slots"], + ethmac_rx_slots=d["constants"]["ethmac_rx_slots"]) + + # Leds ----------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ + leds: gpio@{leds_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{leds_csr_base:x} 0x0 0x4>; + litex,direction = "out"; + status = "disabled"; + }}; + """.format(leds_csr_base=d["csr_bases"]["leds"]) + + # RGB Led -------------------------------------------------------------------------------------- + +for name in ["rgb_led_r0", "rgb_led_g0", "rgb_led_b0"]: + if name in d["csr_bases"]: + dts += """ + {pwm_name}: pwm@{pwm_csr_base:x} {{ + compatible = "litex,pwm"; + reg = <0x0 0x{pwm_csr_base:x} 0x0 0x24>; + clock = <100000000>; + #pwm-cells = <3>; + status = "okay"; + }}; + """.format(pwm_name=name, + pwm_csr_base=d["csr_bases"][name]) + + # Switches ------------------------------------------------------------------------------------- + +if "switches" in d["csr_bases"]: + dts += """ + switches: gpio@{switches_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{switches_csr_base:x} 0x0 0x4>; + litex,direction = "in"; + status = "disabled"; + }}; + """.format(switches_csr_base=d["csr_bases"]["switches"]) + + # SPI ------------------------------------------------------------------------------------------ + +if "spi" in d["csr_bases"]: + aliases["spi0"] = "litespi0" + + dts += """ + litespi0: spi@{spi_csr_base:x} {{ + compatible = "litex,litespi"; + reg = <0x0 0x{spi_csr_base:x} 0x0 0x100>; + status = "okay"; + + litespi,max-bpw = <8>; + litespi,sck-frequency = <1000000>; + litespi,num-cs = <1>; + + #address-cells = <0x1>; + #size-cells = <0x1>; + + spidev0: spidev@0 {{ + compatible = "linux,spidev"; + reg = <0 0>; + spi-max-frequency = <1000000>; + status = "okay"; + }}; + }}; + """.format(spi_csr_base=d["csr_bases"]["spi"]) + + # I2C ------------------------------------------------------------------------------------------ + +if "i2c0" in d["csr_bases"]: + dts += """ + i2c0: i2c@{i2c0_csr_base:x} {{ + compatible = "litex,i2c"; + reg = <0x0 0x{i2c0_csr_base:x} 0x0 0x5>; + status = "okay"; + }}; +""".format(i2c0_csr_base=d["csr_bases"]["i2c0"]) + + # XADC ----------------------------------------------------------------------------------------- + +if "xadc" in d["csr_bases"]: + dts += """ + hwmon0: xadc@{xadc_csr_base:x} {{ + compatible = "litex,hwmon-xadc"; + reg = <0x0 0x{xadc_csr_base:x} 0x0 0x20>; + status = "okay"; + }}; +""".format(xadc_csr_base=d["csr_bases"]["xadc"]) + + # Framebuffer ---------------------------------------------------------------------------------- + +if "framebuffer" in d["csr_bases"]: + # FIXME: dynamic framebuffer base and size + framebuffer_base = 0xc8000000 + framebuffer_width = 1280 + framebuffer_height = 720 + dts += """ + framebuffer0: framebuffer@f0000000 {{ + compatible = "simple-framebuffer"; + reg = <0x0 0x{framebuffer_base:x} 0x0 0x{framebuffer_size:x}>; + width = <{framebuffer_width}>; + height = <{framebuffer_height}>; + stride = <{framebuffer_stride}>; + format = "a8b8g8r8"; + }}; + """.format(framebuffer_base=framebuffer_base, + framebuffer_width=framebuffer_width, + framebuffer_height=framebuffer_height, + framebuffer_size=framebuffer_width*framebuffer_height*4, + framebuffer_stride=framebuffer_width*4) + +dts += """ + }; +""" + +# Aliases ----------------------------------------------------------------------------------------- + +if aliases: + dts += """ + aliases { +""" + for alias in aliases: + dts += """ + {} = &{}; +""".format(alias, aliases[alias]) + dts += """ + }; +""" + +dts += """ +}; +""" + +# -------------------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ +&leds { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +if "switches" in d["csr_bases"]: + dts += """ +&switches { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +print(dts) diff --git a/PATCH/json2dts.py-40mb-ram0 b/PATCH/json2dts.py-40mb-ram0 new file mode 100755 index 0000000..019e949 --- /dev/null +++ b/PATCH/json2dts.py-40mb-ram0 @@ -0,0 +1,284 @@ +#!/usr/bin/env python3 + +import sys +import json +import argparse + +parser = argparse.ArgumentParser(description="LiteX's CSR JSON to Linux DTS generator") +parser.add_argument("csr_json", help="CSR JSON file") +args = parser.parse_args() + +d = json.load(open(args.csr_json)) + +kB = 1024 +mB = kB*1024 + +aliases = {} + +# Header ------------------------------------------------------------------------------------------- + +dts = """ +/dts-v1/; + +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "enjoy-digital,litex-vexriscv-soclinux"; + model = "VexRiscv SoCLinux"; +""" + +# Boot Arguments ----------------------------------------------------------------------------------- + +# bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992 debug init=/sbin/init swiotlb=32"; +# david shah: +# bootargs = "mem=1024M@0x40000000 rootwait console=hvc0 root=/dev/nfs nfsroot=192.168.7.1:/srv/nfsroot,rsize=1024,wsize=1024,nolock,udp,nfsvers=3 ip=192.168.7.100:192.168.7.1:192.168.7.1:255.255.255.0:vexriscv:eth0:none:8.8.8.8 init=/sbin/init swiotlb=32"; + #bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992:ext4 debug init=/sbin/init swiotlb=32"; + +dts += """ + chosen {{ + bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} console=liteuart earlycon=sbi rootwait root=/dev/ram0 debug init=/sbin/init swiotlb=32"; + linux,initrd-start = <0x{linux_initrd_start:x}>; + linux,initrd-end = <0x{linux_initrd_end:x}>; + }}; +""".format( + main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"], + main_ram_size_mb=d["memories"]["main_ram"]["size"]//mB, + + linux_initrd_start=d["memories"]["main_ram"]["base"] + 8*mB, + linux_initrd_end=d["memories"]["main_ram"]["base"] + 48*mB) + +# CPU ---------------------------------------------------------------------------------------------- + +dts += """ + cpus {{ + #address-cells = <0x1>; + #size-cells = <0x0>; + timebase-frequency = <{sys_clk_freq}>; + + cpu@0 {{ + clock-frequency = <0x0>; + compatible = "spinalhdl,vexriscv", "sifive,rocket0", "riscv"; + d-cache-block-size = <0x40>; + d-cache-sets = <0x40>; + d-cache-size = <0x8000>; + d-tlb-sets = <0x1>; + d-tlb-size = <0x20>; + device_type = "cpu"; + i-cache-block-size = <0x40>; + i-cache-sets = <0x40>; + i-cache-size = <0x8000>; + i-tlb-sets = <0x1>; + i-tlb-size = <0x20>; + mmu-type = "riscv,sv32"; + reg = <0x0>; + riscv,isa = "rv32ima"; + sifive,itim = <0x1>; + status = "okay"; + tlb-split; + }}; + }}; +""".format(sys_clk_freq=int(50e6) if "sim" in d["constants"] else d["constants"]["config_clock_frequency"]) + +# Memory ------------------------------------------------------------------------------------------- + +dts += """ + memory@{main_ram_base:x} {{ + device_type = "memory"; + reg = <0x0 0x{main_ram_base:x} 0x1 0x{main_ram_size:x}>; + }}; +""".format(main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"]) + +# SoC ---------------------------------------------------------------------------------------------- + +dts += """ + soc { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "simple-bus"; + ranges; +""" + + # UART ----------------------------------------------------------------------------------------- + +if "uart" in d["csr_bases"]: + aliases["serial0"] = "liteuart0" + dts += """ + liteuart0: serial@{uart_csr_base:x} {{ + device_type = "serial"; + compatible = "litex,liteuart"; + reg = <0x0 0x{uart_csr_base:x} 0x0 0x100>; + status = "okay"; + }}; + """.format(uart_csr_base=d["csr_bases"]["uart"]) + + # Ethernet MAC --------------------------------------------------------------------------------- + +if "ethmac" in d["csr_bases"]: + dts += """ + mac0: mac@{ethmac_csr_base:x} {{ + compatible = "litex,liteeth"; + reg = <0x0 0x{ethmac_csr_base:x} 0x0 0x7c + 0x0 0x{ethphy_csr_base:x} 0x0 0x0a + 0x0 0x{ethmac_mem_base:x} 0x0 0x2000>; + tx-fifo-depth = <{ethmac_tx_slots}>; + rx-fifo-depth = <{ethmac_rx_slots}>; + }}; + """.format(ethphy_csr_base=d["csr_bases"]["ethphy"], + ethmac_csr_base=d["csr_bases"]["ethmac"], + ethmac_mem_base=d["memories"]["ethmac"]["base"], + ethmac_tx_slots=d["constants"]["ethmac_tx_slots"], + ethmac_rx_slots=d["constants"]["ethmac_rx_slots"]) + + # Leds ----------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ + leds: gpio@{leds_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{leds_csr_base:x} 0x0 0x4>; + litex,direction = "out"; + status = "disabled"; + }}; + """.format(leds_csr_base=d["csr_bases"]["leds"]) + + # RGB Led -------------------------------------------------------------------------------------- + +for name in ["rgb_led_r0", "rgb_led_g0", "rgb_led_b0"]: + if name in d["csr_bases"]: + dts += """ + {pwm_name}: pwm@{pwm_csr_base:x} {{ + compatible = "litex,pwm"; + reg = <0x0 0x{pwm_csr_base:x} 0x0 0x24>; + clock = <100000000>; + #pwm-cells = <3>; + status = "okay"; + }}; + """.format(pwm_name=name, + pwm_csr_base=d["csr_bases"][name]) + + # Switches ------------------------------------------------------------------------------------- + +if "switches" in d["csr_bases"]: + dts += """ + switches: gpio@{switches_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{switches_csr_base:x} 0x0 0x4>; + litex,direction = "in"; + status = "disabled"; + }}; + """.format(switches_csr_base=d["csr_bases"]["switches"]) + + # SPI ------------------------------------------------------------------------------------------ + +if "spi" in d["csr_bases"]: + aliases["spi0"] = "litespi0" + + dts += """ + litespi0: spi@{spi_csr_base:x} {{ + compatible = "litex,litespi"; + reg = <0x0 0x{spi_csr_base:x} 0x0 0x100>; + status = "okay"; + + litespi,max-bpw = <8>; + litespi,sck-frequency = <1000000>; + litespi,num-cs = <1>; + + #address-cells = <0x1>; + #size-cells = <0x1>; + + spidev0: spidev@0 {{ + compatible = "linux,spidev"; + reg = <0 0>; + spi-max-frequency = <1000000>; + status = "okay"; + }}; + }}; + """.format(spi_csr_base=d["csr_bases"]["spi"]) + + # I2C ------------------------------------------------------------------------------------------ + +if "i2c0" in d["csr_bases"]: + dts += """ + i2c0: i2c@{i2c0_csr_base:x} {{ + compatible = "litex,i2c"; + reg = <0x0 0x{i2c0_csr_base:x} 0x0 0x5>; + status = "okay"; + }}; +""".format(i2c0_csr_base=d["csr_bases"]["i2c0"]) + + # XADC ----------------------------------------------------------------------------------------- + +if "xadc" in d["csr_bases"]: + dts += """ + hwmon0: xadc@{xadc_csr_base:x} {{ + compatible = "litex,hwmon-xadc"; + reg = <0x0 0x{xadc_csr_base:x} 0x0 0x20>; + status = "okay"; + }}; +""".format(xadc_csr_base=d["csr_bases"]["xadc"]) + + # Framebuffer ---------------------------------------------------------------------------------- + +if "framebuffer" in d["csr_bases"]: + # FIXME: dynamic framebuffer base and size + framebuffer_base = 0xc8000000 + framebuffer_width = 1280 + framebuffer_height = 720 + dts += """ + framebuffer0: framebuffer@f0000000 {{ + compatible = "simple-framebuffer"; + reg = <0x0 0x{framebuffer_base:x} 0x0 0x{framebuffer_size:x}>; + width = <{framebuffer_width}>; + height = <{framebuffer_height}>; + stride = <{framebuffer_stride}>; + format = "a8b8g8r8"; + }}; + """.format(framebuffer_base=framebuffer_base, + framebuffer_width=framebuffer_width, + framebuffer_height=framebuffer_height, + framebuffer_size=framebuffer_width*framebuffer_height*4, + framebuffer_stride=framebuffer_width*4) + +dts += """ + }; +""" + +# Aliases ----------------------------------------------------------------------------------------- + +if aliases: + dts += """ + aliases { +""" + for alias in aliases: + dts += """ + {} = &{}; +""".format(alias, aliases[alias]) + dts += """ + }; +""" + +dts += """ +}; +""" + +# -------------------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ +&leds { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +if "switches" in d["csr_bases"]: + dts += """ +&switches { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +print(dts) diff --git a/PATCH/json2dts.py-42mb-ram0 b/PATCH/json2dts.py-42mb-ram0 new file mode 100755 index 0000000..9b479e2 --- /dev/null +++ b/PATCH/json2dts.py-42mb-ram0 @@ -0,0 +1,284 @@ +#!/usr/bin/env python3 + +import sys +import json +import argparse + +parser = argparse.ArgumentParser(description="LiteX's CSR JSON to Linux DTS generator") +parser.add_argument("csr_json", help="CSR JSON file") +args = parser.parse_args() + +d = json.load(open(args.csr_json)) + +kB = 1024 +mB = kB*1024 + +aliases = {} + +# Header ------------------------------------------------------------------------------------------- + +dts = """ +/dts-v1/; + +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "enjoy-digital,litex-vexriscv-soclinux"; + model = "VexRiscv SoCLinux"; +""" + +# Boot Arguments ----------------------------------------------------------------------------------- + +# bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992 debug init=/sbin/init swiotlb=32"; +# david shah: +# bootargs = "mem=1024M@0x40000000 rootwait console=hvc0 root=/dev/nfs nfsroot=192.168.7.1:/srv/nfsroot,rsize=1024,wsize=1024,nolock,udp,nfsvers=3 ip=192.168.7.100:192.168.7.1:192.168.7.1:255.255.255.0:vexriscv:eth0:none:8.8.8.8 init=/sbin/init swiotlb=32"; + #bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992:ext4 debug init=/sbin/init swiotlb=32"; + +dts += """ + chosen {{ + bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} console=liteuart earlycon=sbi rootwait root=/dev/ram0 debug init=/sbin/init swiotlb=32"; + linux,initrd-start = <0x{linux_initrd_start:x}>; + linux,initrd-end = <0x{linux_initrd_end:x}>; + }}; +""".format( + main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"], + main_ram_size_mb=d["memories"]["main_ram"]["size"]//mB, + + linux_initrd_start=d["memories"]["main_ram"]["base"] + 8*mB, + linux_initrd_end=d["memories"]["main_ram"]["base"] + 50*mB) + +# CPU ---------------------------------------------------------------------------------------------- + +dts += """ + cpus {{ + #address-cells = <0x1>; + #size-cells = <0x0>; + timebase-frequency = <{sys_clk_freq}>; + + cpu@0 {{ + clock-frequency = <0x0>; + compatible = "spinalhdl,vexriscv", "sifive,rocket0", "riscv"; + d-cache-block-size = <0x40>; + d-cache-sets = <0x40>; + d-cache-size = <0x8000>; + d-tlb-sets = <0x1>; + d-tlb-size = <0x20>; + device_type = "cpu"; + i-cache-block-size = <0x40>; + i-cache-sets = <0x40>; + i-cache-size = <0x8000>; + i-tlb-sets = <0x1>; + i-tlb-size = <0x20>; + mmu-type = "riscv,sv32"; + reg = <0x0>; + riscv,isa = "rv32ima"; + sifive,itim = <0x1>; + status = "okay"; + tlb-split; + }}; + }}; +""".format(sys_clk_freq=int(50e6) if "sim" in d["constants"] else d["constants"]["config_clock_frequency"]) + +# Memory ------------------------------------------------------------------------------------------- + +dts += """ + memory@{main_ram_base:x} {{ + device_type = "memory"; + reg = <0x0 0x{main_ram_base:x} 0x1 0x{main_ram_size:x}>; + }}; +""".format(main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"]) + +# SoC ---------------------------------------------------------------------------------------------- + +dts += """ + soc { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "simple-bus"; + ranges; +""" + + # UART ----------------------------------------------------------------------------------------- + +if "uart" in d["csr_bases"]: + aliases["serial0"] = "liteuart0" + dts += """ + liteuart0: serial@{uart_csr_base:x} {{ + device_type = "serial"; + compatible = "litex,liteuart"; + reg = <0x0 0x{uart_csr_base:x} 0x0 0x100>; + status = "okay"; + }}; + """.format(uart_csr_base=d["csr_bases"]["uart"]) + + # Ethernet MAC --------------------------------------------------------------------------------- + +if "ethmac" in d["csr_bases"]: + dts += """ + mac0: mac@{ethmac_csr_base:x} {{ + compatible = "litex,liteeth"; + reg = <0x0 0x{ethmac_csr_base:x} 0x0 0x7c + 0x0 0x{ethphy_csr_base:x} 0x0 0x0a + 0x0 0x{ethmac_mem_base:x} 0x0 0x2000>; + tx-fifo-depth = <{ethmac_tx_slots}>; + rx-fifo-depth = <{ethmac_rx_slots}>; + }}; + """.format(ethphy_csr_base=d["csr_bases"]["ethphy"], + ethmac_csr_base=d["csr_bases"]["ethmac"], + ethmac_mem_base=d["memories"]["ethmac"]["base"], + ethmac_tx_slots=d["constants"]["ethmac_tx_slots"], + ethmac_rx_slots=d["constants"]["ethmac_rx_slots"]) + + # Leds ----------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ + leds: gpio@{leds_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{leds_csr_base:x} 0x0 0x4>; + litex,direction = "out"; + status = "disabled"; + }}; + """.format(leds_csr_base=d["csr_bases"]["leds"]) + + # RGB Led -------------------------------------------------------------------------------------- + +for name in ["rgb_led_r0", "rgb_led_g0", "rgb_led_b0"]: + if name in d["csr_bases"]: + dts += """ + {pwm_name}: pwm@{pwm_csr_base:x} {{ + compatible = "litex,pwm"; + reg = <0x0 0x{pwm_csr_base:x} 0x0 0x24>; + clock = <100000000>; + #pwm-cells = <3>; + status = "okay"; + }}; + """.format(pwm_name=name, + pwm_csr_base=d["csr_bases"][name]) + + # Switches ------------------------------------------------------------------------------------- + +if "switches" in d["csr_bases"]: + dts += """ + switches: gpio@{switches_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{switches_csr_base:x} 0x0 0x4>; + litex,direction = "in"; + status = "disabled"; + }}; + """.format(switches_csr_base=d["csr_bases"]["switches"]) + + # SPI ------------------------------------------------------------------------------------------ + +if "spi" in d["csr_bases"]: + aliases["spi0"] = "litespi0" + + dts += """ + litespi0: spi@{spi_csr_base:x} {{ + compatible = "litex,litespi"; + reg = <0x0 0x{spi_csr_base:x} 0x0 0x100>; + status = "okay"; + + litespi,max-bpw = <8>; + litespi,sck-frequency = <1000000>; + litespi,num-cs = <1>; + + #address-cells = <0x1>; + #size-cells = <0x1>; + + spidev0: spidev@0 {{ + compatible = "linux,spidev"; + reg = <0 0>; + spi-max-frequency = <1000000>; + status = "okay"; + }}; + }}; + """.format(spi_csr_base=d["csr_bases"]["spi"]) + + # I2C ------------------------------------------------------------------------------------------ + +if "i2c0" in d["csr_bases"]: + dts += """ + i2c0: i2c@{i2c0_csr_base:x} {{ + compatible = "litex,i2c"; + reg = <0x0 0x{i2c0_csr_base:x} 0x0 0x5>; + status = "okay"; + }}; +""".format(i2c0_csr_base=d["csr_bases"]["i2c0"]) + + # XADC ----------------------------------------------------------------------------------------- + +if "xadc" in d["csr_bases"]: + dts += """ + hwmon0: xadc@{xadc_csr_base:x} {{ + compatible = "litex,hwmon-xadc"; + reg = <0x0 0x{xadc_csr_base:x} 0x0 0x20>; + status = "okay"; + }}; +""".format(xadc_csr_base=d["csr_bases"]["xadc"]) + + # Framebuffer ---------------------------------------------------------------------------------- + +if "framebuffer" in d["csr_bases"]: + # FIXME: dynamic framebuffer base and size + framebuffer_base = 0xc8000000 + framebuffer_width = 1280 + framebuffer_height = 720 + dts += """ + framebuffer0: framebuffer@f0000000 {{ + compatible = "simple-framebuffer"; + reg = <0x0 0x{framebuffer_base:x} 0x0 0x{framebuffer_size:x}>; + width = <{framebuffer_width}>; + height = <{framebuffer_height}>; + stride = <{framebuffer_stride}>; + format = "a8b8g8r8"; + }}; + """.format(framebuffer_base=framebuffer_base, + framebuffer_width=framebuffer_width, + framebuffer_height=framebuffer_height, + framebuffer_size=framebuffer_width*framebuffer_height*4, + framebuffer_stride=framebuffer_width*4) + +dts += """ + }; +""" + +# Aliases ----------------------------------------------------------------------------------------- + +if aliases: + dts += """ + aliases { +""" + for alias in aliases: + dts += """ + {} = &{}; +""".format(alias, aliases[alias]) + dts += """ + }; +""" + +dts += """ +}; +""" + +# -------------------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ +&leds { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +if "switches" in d["csr_bases"]: + dts += """ +&switches { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +print(dts) diff --git a/PATCH/json2dts.py-46mb-ram0 b/PATCH/json2dts.py-46mb-ram0 new file mode 100755 index 0000000..d8af7ba --- /dev/null +++ b/PATCH/json2dts.py-46mb-ram0 @@ -0,0 +1,284 @@ +#!/usr/bin/env python3 + +import sys +import json +import argparse + +parser = argparse.ArgumentParser(description="LiteX's CSR JSON to Linux DTS generator") +parser.add_argument("csr_json", help="CSR JSON file") +args = parser.parse_args() + +d = json.load(open(args.csr_json)) + +kB = 1024 +mB = kB*1024 + +aliases = {} + +# Header ------------------------------------------------------------------------------------------- + +dts = """ +/dts-v1/; + +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "enjoy-digital,litex-vexriscv-soclinux"; + model = "VexRiscv SoCLinux"; +""" + +# Boot Arguments ----------------------------------------------------------------------------------- + +# bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992 debug init=/sbin/init swiotlb=32"; +# david shah: +# bootargs = "mem=1024M@0x40000000 rootwait console=hvc0 root=/dev/nfs nfsroot=192.168.7.1:/srv/nfsroot,rsize=1024,wsize=1024,nolock,udp,nfsvers=3 ip=192.168.7.100:192.168.7.1:192.168.7.1:255.255.255.0:vexriscv:eth0:none:8.8.8.8 init=/sbin/init swiotlb=32"; + #bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992:ext4 debug init=/sbin/init swiotlb=32"; + +dts += """ + chosen {{ + bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} console=liteuart earlycon=sbi rootwait root=/dev/ram0 debug init=/sbin/init swiotlb=32"; + linux,initrd-start = <0x{linux_initrd_start:x}>; + linux,initrd-end = <0x{linux_initrd_end:x}>; + }}; +""".format( + main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"], + main_ram_size_mb=d["memories"]["main_ram"]["size"]//mB, + + linux_initrd_start=d["memories"]["main_ram"]["base"] + 8*mB, + linux_initrd_end=d["memories"]["main_ram"]["base"] + 54*mB) + +# CPU ---------------------------------------------------------------------------------------------- + +dts += """ + cpus {{ + #address-cells = <0x1>; + #size-cells = <0x0>; + timebase-frequency = <{sys_clk_freq}>; + + cpu@0 {{ + clock-frequency = <0x0>; + compatible = "spinalhdl,vexriscv", "sifive,rocket0", "riscv"; + d-cache-block-size = <0x40>; + d-cache-sets = <0x40>; + d-cache-size = <0x8000>; + d-tlb-sets = <0x1>; + d-tlb-size = <0x20>; + device_type = "cpu"; + i-cache-block-size = <0x40>; + i-cache-sets = <0x40>; + i-cache-size = <0x8000>; + i-tlb-sets = <0x1>; + i-tlb-size = <0x20>; + mmu-type = "riscv,sv32"; + reg = <0x0>; + riscv,isa = "rv32ima"; + sifive,itim = <0x1>; + status = "okay"; + tlb-split; + }}; + }}; +""".format(sys_clk_freq=int(50e6) if "sim" in d["constants"] else d["constants"]["config_clock_frequency"]) + +# Memory ------------------------------------------------------------------------------------------- + +dts += """ + memory@{main_ram_base:x} {{ + device_type = "memory"; + reg = <0x0 0x{main_ram_base:x} 0x1 0x{main_ram_size:x}>; + }}; +""".format(main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"]) + +# SoC ---------------------------------------------------------------------------------------------- + +dts += """ + soc { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "simple-bus"; + ranges; +""" + + # UART ----------------------------------------------------------------------------------------- + +if "uart" in d["csr_bases"]: + aliases["serial0"] = "liteuart0" + dts += """ + liteuart0: serial@{uart_csr_base:x} {{ + device_type = "serial"; + compatible = "litex,liteuart"; + reg = <0x0 0x{uart_csr_base:x} 0x0 0x100>; + status = "okay"; + }}; + """.format(uart_csr_base=d["csr_bases"]["uart"]) + + # Ethernet MAC --------------------------------------------------------------------------------- + +if "ethmac" in d["csr_bases"]: + dts += """ + mac0: mac@{ethmac_csr_base:x} {{ + compatible = "litex,liteeth"; + reg = <0x0 0x{ethmac_csr_base:x} 0x0 0x7c + 0x0 0x{ethphy_csr_base:x} 0x0 0x0a + 0x0 0x{ethmac_mem_base:x} 0x0 0x2000>; + tx-fifo-depth = <{ethmac_tx_slots}>; + rx-fifo-depth = <{ethmac_rx_slots}>; + }}; + """.format(ethphy_csr_base=d["csr_bases"]["ethphy"], + ethmac_csr_base=d["csr_bases"]["ethmac"], + ethmac_mem_base=d["memories"]["ethmac"]["base"], + ethmac_tx_slots=d["constants"]["ethmac_tx_slots"], + ethmac_rx_slots=d["constants"]["ethmac_rx_slots"]) + + # Leds ----------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ + leds: gpio@{leds_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{leds_csr_base:x} 0x0 0x4>; + litex,direction = "out"; + status = "disabled"; + }}; + """.format(leds_csr_base=d["csr_bases"]["leds"]) + + # RGB Led -------------------------------------------------------------------------------------- + +for name in ["rgb_led_r0", "rgb_led_g0", "rgb_led_b0"]: + if name in d["csr_bases"]: + dts += """ + {pwm_name}: pwm@{pwm_csr_base:x} {{ + compatible = "litex,pwm"; + reg = <0x0 0x{pwm_csr_base:x} 0x0 0x24>; + clock = <100000000>; + #pwm-cells = <3>; + status = "okay"; + }}; + """.format(pwm_name=name, + pwm_csr_base=d["csr_bases"][name]) + + # Switches ------------------------------------------------------------------------------------- + +if "switches" in d["csr_bases"]: + dts += """ + switches: gpio@{switches_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{switches_csr_base:x} 0x0 0x4>; + litex,direction = "in"; + status = "disabled"; + }}; + """.format(switches_csr_base=d["csr_bases"]["switches"]) + + # SPI ------------------------------------------------------------------------------------------ + +if "spi" in d["csr_bases"]: + aliases["spi0"] = "litespi0" + + dts += """ + litespi0: spi@{spi_csr_base:x} {{ + compatible = "litex,litespi"; + reg = <0x0 0x{spi_csr_base:x} 0x0 0x100>; + status = "okay"; + + litespi,max-bpw = <8>; + litespi,sck-frequency = <1000000>; + litespi,num-cs = <1>; + + #address-cells = <0x1>; + #size-cells = <0x1>; + + spidev0: spidev@0 {{ + compatible = "linux,spidev"; + reg = <0 0>; + spi-max-frequency = <1000000>; + status = "okay"; + }}; + }}; + """.format(spi_csr_base=d["csr_bases"]["spi"]) + + # I2C ------------------------------------------------------------------------------------------ + +if "i2c0" in d["csr_bases"]: + dts += """ + i2c0: i2c@{i2c0_csr_base:x} {{ + compatible = "litex,i2c"; + reg = <0x0 0x{i2c0_csr_base:x} 0x0 0x5>; + status = "okay"; + }}; +""".format(i2c0_csr_base=d["csr_bases"]["i2c0"]) + + # XADC ----------------------------------------------------------------------------------------- + +if "xadc" in d["csr_bases"]: + dts += """ + hwmon0: xadc@{xadc_csr_base:x} {{ + compatible = "litex,hwmon-xadc"; + reg = <0x0 0x{xadc_csr_base:x} 0x0 0x20>; + status = "okay"; + }}; +""".format(xadc_csr_base=d["csr_bases"]["xadc"]) + + # Framebuffer ---------------------------------------------------------------------------------- + +if "framebuffer" in d["csr_bases"]: + # FIXME: dynamic framebuffer base and size + framebuffer_base = 0xc8000000 + framebuffer_width = 1280 + framebuffer_height = 720 + dts += """ + framebuffer0: framebuffer@f0000000 {{ + compatible = "simple-framebuffer"; + reg = <0x0 0x{framebuffer_base:x} 0x0 0x{framebuffer_size:x}>; + width = <{framebuffer_width}>; + height = <{framebuffer_height}>; + stride = <{framebuffer_stride}>; + format = "a8b8g8r8"; + }}; + """.format(framebuffer_base=framebuffer_base, + framebuffer_width=framebuffer_width, + framebuffer_height=framebuffer_height, + framebuffer_size=framebuffer_width*framebuffer_height*4, + framebuffer_stride=framebuffer_width*4) + +dts += """ + }; +""" + +# Aliases ----------------------------------------------------------------------------------------- + +if aliases: + dts += """ + aliases { +""" + for alias in aliases: + dts += """ + {} = &{}; +""".format(alias, aliases[alias]) + dts += """ + }; +""" + +dts += """ +}; +""" + +# -------------------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ +&leds { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +if "switches" in d["csr_bases"]: + dts += """ +&switches { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +print(dts) diff --git a/PATCH/json2dts.py-64mb-ram0 b/PATCH/json2dts.py-64mb-ram0 new file mode 100755 index 0000000..bdacdfd --- /dev/null +++ b/PATCH/json2dts.py-64mb-ram0 @@ -0,0 +1,284 @@ +#!/usr/bin/env python3 + +import sys +import json +import argparse + +parser = argparse.ArgumentParser(description="LiteX's CSR JSON to Linux DTS generator") +parser.add_argument("csr_json", help="CSR JSON file") +args = parser.parse_args() + +d = json.load(open(args.csr_json)) + +kB = 1024 +mB = kB*1024 + +aliases = {} + +# Header ------------------------------------------------------------------------------------------- + +dts = """ +/dts-v1/; + +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "enjoy-digital,litex-vexriscv-soclinux"; + model = "VexRiscv SoCLinux"; +""" + +# Boot Arguments ----------------------------------------------------------------------------------- + +# bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992 debug init=/sbin/init swiotlb=32"; +# david shah: +# bootargs = "mem=1024M@0x40000000 rootwait console=hvc0 root=/dev/nfs nfsroot=192.168.7.1:/srv/nfsroot,rsize=1024,wsize=1024,nolock,udp,nfsvers=3 ip=192.168.7.100:192.168.7.1:192.168.7.1:255.255.255.0:vexriscv:eth0:none:8.8.8.8 init=/sbin/init swiotlb=32"; + #bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992:ext4 debug init=/sbin/init swiotlb=32"; + +dts += """ + chosen {{ + bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} console=liteuart earlycon=sbi rootwait root=/dev/ram0 debug init=/sbin/init swiotlb=32"; + linux,initrd-start = <0x{linux_initrd_start:x}>; + linux,initrd-end = <0x{linux_initrd_end:x}>; + }}; +""".format( + main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"], + main_ram_size_mb=d["memories"]["main_ram"]["size"]//mB, + + linux_initrd_start=d["memories"]["main_ram"]["base"] + 8*mB, + linux_initrd_end=d["memories"]["main_ram"]["base"] + 72*mB) + +# CPU ---------------------------------------------------------------------------------------------- + +dts += """ + cpus {{ + #address-cells = <0x1>; + #size-cells = <0x0>; + timebase-frequency = <{sys_clk_freq}>; + + cpu@0 {{ + clock-frequency = <0x0>; + compatible = "spinalhdl,vexriscv", "sifive,rocket0", "riscv"; + d-cache-block-size = <0x40>; + d-cache-sets = <0x40>; + d-cache-size = <0x8000>; + d-tlb-sets = <0x1>; + d-tlb-size = <0x20>; + device_type = "cpu"; + i-cache-block-size = <0x40>; + i-cache-sets = <0x40>; + i-cache-size = <0x8000>; + i-tlb-sets = <0x1>; + i-tlb-size = <0x20>; + mmu-type = "riscv,sv32"; + reg = <0x0>; + riscv,isa = "rv32ima"; + sifive,itim = <0x1>; + status = "okay"; + tlb-split; + }}; + }}; +""".format(sys_clk_freq=int(50e6) if "sim" in d["constants"] else d["constants"]["config_clock_frequency"]) + +# Memory ------------------------------------------------------------------------------------------- + +dts += """ + memory@{main_ram_base:x} {{ + device_type = "memory"; + reg = <0x0 0x{main_ram_base:x} 0x1 0x{main_ram_size:x}>; + }}; +""".format(main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"]) + +# SoC ---------------------------------------------------------------------------------------------- + +dts += """ + soc { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "simple-bus"; + ranges; +""" + + # UART ----------------------------------------------------------------------------------------- + +if "uart" in d["csr_bases"]: + aliases["serial0"] = "liteuart0" + dts += """ + liteuart0: serial@{uart_csr_base:x} {{ + device_type = "serial"; + compatible = "litex,liteuart"; + reg = <0x0 0x{uart_csr_base:x} 0x0 0x100>; + status = "okay"; + }}; + """.format(uart_csr_base=d["csr_bases"]["uart"]) + + # Ethernet MAC --------------------------------------------------------------------------------- + +if "ethmac" in d["csr_bases"]: + dts += """ + mac0: mac@{ethmac_csr_base:x} {{ + compatible = "litex,liteeth"; + reg = <0x0 0x{ethmac_csr_base:x} 0x0 0x7c + 0x0 0x{ethphy_csr_base:x} 0x0 0x0a + 0x0 0x{ethmac_mem_base:x} 0x0 0x2000>; + tx-fifo-depth = <{ethmac_tx_slots}>; + rx-fifo-depth = <{ethmac_rx_slots}>; + }}; + """.format(ethphy_csr_base=d["csr_bases"]["ethphy"], + ethmac_csr_base=d["csr_bases"]["ethmac"], + ethmac_mem_base=d["memories"]["ethmac"]["base"], + ethmac_tx_slots=d["constants"]["ethmac_tx_slots"], + ethmac_rx_slots=d["constants"]["ethmac_rx_slots"]) + + # Leds ----------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ + leds: gpio@{leds_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{leds_csr_base:x} 0x0 0x4>; + litex,direction = "out"; + status = "disabled"; + }}; + """.format(leds_csr_base=d["csr_bases"]["leds"]) + + # RGB Led -------------------------------------------------------------------------------------- + +for name in ["rgb_led_r0", "rgb_led_g0", "rgb_led_b0"]: + if name in d["csr_bases"]: + dts += """ + {pwm_name}: pwm@{pwm_csr_base:x} {{ + compatible = "litex,pwm"; + reg = <0x0 0x{pwm_csr_base:x} 0x0 0x24>; + clock = <100000000>; + #pwm-cells = <3>; + status = "okay"; + }}; + """.format(pwm_name=name, + pwm_csr_base=d["csr_bases"][name]) + + # Switches ------------------------------------------------------------------------------------- + +if "switches" in d["csr_bases"]: + dts += """ + switches: gpio@{switches_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{switches_csr_base:x} 0x0 0x4>; + litex,direction = "in"; + status = "disabled"; + }}; + """.format(switches_csr_base=d["csr_bases"]["switches"]) + + # SPI ------------------------------------------------------------------------------------------ + +if "spi" in d["csr_bases"]: + aliases["spi0"] = "litespi0" + + dts += """ + litespi0: spi@{spi_csr_base:x} {{ + compatible = "litex,litespi"; + reg = <0x0 0x{spi_csr_base:x} 0x0 0x100>; + status = "okay"; + + litespi,max-bpw = <8>; + litespi,sck-frequency = <1000000>; + litespi,num-cs = <1>; + + #address-cells = <0x1>; + #size-cells = <0x1>; + + spidev0: spidev@0 {{ + compatible = "linux,spidev"; + reg = <0 0>; + spi-max-frequency = <1000000>; + status = "okay"; + }}; + }}; + """.format(spi_csr_base=d["csr_bases"]["spi"]) + + # I2C ------------------------------------------------------------------------------------------ + +if "i2c0" in d["csr_bases"]: + dts += """ + i2c0: i2c@{i2c0_csr_base:x} {{ + compatible = "litex,i2c"; + reg = <0x0 0x{i2c0_csr_base:x} 0x0 0x5>; + status = "okay"; + }}; +""".format(i2c0_csr_base=d["csr_bases"]["i2c0"]) + + # XADC ----------------------------------------------------------------------------------------- + +if "xadc" in d["csr_bases"]: + dts += """ + hwmon0: xadc@{xadc_csr_base:x} {{ + compatible = "litex,hwmon-xadc"; + reg = <0x0 0x{xadc_csr_base:x} 0x0 0x20>; + status = "okay"; + }}; +""".format(xadc_csr_base=d["csr_bases"]["xadc"]) + + # Framebuffer ---------------------------------------------------------------------------------- + +if "framebuffer" in d["csr_bases"]: + # FIXME: dynamic framebuffer base and size + framebuffer_base = 0xc8000000 + framebuffer_width = 1280 + framebuffer_height = 720 + dts += """ + framebuffer0: framebuffer@f0000000 {{ + compatible = "simple-framebuffer"; + reg = <0x0 0x{framebuffer_base:x} 0x0 0x{framebuffer_size:x}>; + width = <{framebuffer_width}>; + height = <{framebuffer_height}>; + stride = <{framebuffer_stride}>; + format = "a8b8g8r8"; + }}; + """.format(framebuffer_base=framebuffer_base, + framebuffer_width=framebuffer_width, + framebuffer_height=framebuffer_height, + framebuffer_size=framebuffer_width*framebuffer_height*4, + framebuffer_stride=framebuffer_width*4) + +dts += """ + }; +""" + +# Aliases ----------------------------------------------------------------------------------------- + +if aliases: + dts += """ + aliases { +""" + for alias in aliases: + dts += """ + {} = &{}; +""".format(alias, aliases[alias]) + dts += """ + }; +""" + +dts += """ +}; +""" + +# -------------------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ +&leds { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +if "switches" in d["csr_bases"]: + dts += """ +&switches { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +print(dts) diff --git a/PATCH/json2dts.py-nbd b/PATCH/json2dts.py-nbd new file mode 100755 index 0000000..3e0dc5d --- /dev/null +++ b/PATCH/json2dts.py-nbd @@ -0,0 +1,280 @@ +#!/usr/bin/env python3 + +import sys +import json +import argparse + +parser = argparse.ArgumentParser(description="LiteX's CSR JSON to Linux DTS generator") +parser.add_argument("csr_json", help="CSR JSON file") +args = parser.parse_args() + +d = json.load(open(args.csr_json)) + +kB = 1024 +mB = kB*1024 + +aliases = {} + +# Header ------------------------------------------------------------------------------------------- + +dts = """ +/dts-v1/; + +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "enjoy-digital,litex-vexriscv-soclinux"; + model = "VexRiscv SoCLinux"; +""" + +# Boot Arguments ----------------------------------------------------------------------------------- + +# bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992 debug init=/sbin/init swiotlb=32"; +dts += """ + chosen {{ + bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} console=liteuart earlycon=sbi ip=dhcp root=nbd:192.168.110.63:8992 debug init=/sbin/init swiotlb=32"; + linux,initrd-start = <0x{linux_initrd_start:x}>; + linux,initrd-end = <0x{linux_initrd_end:x}>; + }}; +""".format( + main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"], + main_ram_size_mb=d["memories"]["main_ram"]["size"]//mB, + + linux_initrd_start=d["memories"]["main_ram"]["base"] + 8*mB, + linux_initrd_end=d["memories"]["main_ram"]["base"] + 16*mB) + +# CPU ---------------------------------------------------------------------------------------------- + +dts += """ + cpus {{ + #address-cells = <0x1>; + #size-cells = <0x0>; + timebase-frequency = <{sys_clk_freq}>; + + cpu@0 {{ + clock-frequency = <0x0>; + compatible = "spinalhdl,vexriscv", "sifive,rocket0", "riscv"; + d-cache-block-size = <0x40>; + d-cache-sets = <0x40>; + d-cache-size = <0x8000>; + d-tlb-sets = <0x1>; + d-tlb-size = <0x20>; + device_type = "cpu"; + i-cache-block-size = <0x40>; + i-cache-sets = <0x40>; + i-cache-size = <0x8000>; + i-tlb-sets = <0x1>; + i-tlb-size = <0x20>; + mmu-type = "riscv,sv32"; + reg = <0x0>; + riscv,isa = "rv32ima"; + sifive,itim = <0x1>; + status = "okay"; + tlb-split; + }}; + }}; +""".format(sys_clk_freq=int(50e6) if "sim" in d["constants"] else d["constants"]["config_clock_frequency"]) + +# Memory ------------------------------------------------------------------------------------------- + +dts += """ + memory@{main_ram_base:x} {{ + device_type = "memory"; + reg = <0x0 0x{main_ram_base:x} 0x1 0x{main_ram_size:x}>; + }}; +""".format(main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"]) + +# SoC ---------------------------------------------------------------------------------------------- + +dts += """ + soc { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "simple-bus"; + ranges; +""" + + # UART ----------------------------------------------------------------------------------------- + +if "uart" in d["csr_bases"]: + aliases["serial0"] = "liteuart0" + dts += """ + liteuart0: serial@{uart_csr_base:x} {{ + device_type = "serial"; + compatible = "litex,liteuart"; + reg = <0x0 0x{uart_csr_base:x} 0x0 0x100>; + status = "okay"; + }}; + """.format(uart_csr_base=d["csr_bases"]["uart"]) + + # Ethernet MAC --------------------------------------------------------------------------------- + +if "ethmac" in d["csr_bases"]: + dts += """ + mac0: mac@{ethmac_csr_base:x} {{ + compatible = "litex,liteeth"; + reg = <0x0 0x{ethmac_csr_base:x} 0x0 0x7c + 0x0 0x{ethphy_csr_base:x} 0x0 0x0a + 0x0 0x{ethmac_mem_base:x} 0x0 0x2000>; + tx-fifo-depth = <{ethmac_tx_slots}>; + rx-fifo-depth = <{ethmac_rx_slots}>; + }}; + """.format(ethphy_csr_base=d["csr_bases"]["ethphy"], + ethmac_csr_base=d["csr_bases"]["ethmac"], + ethmac_mem_base=d["memories"]["ethmac"]["base"], + ethmac_tx_slots=d["constants"]["ethmac_tx_slots"], + ethmac_rx_slots=d["constants"]["ethmac_rx_slots"]) + + # Leds ----------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ + leds: gpio@{leds_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{leds_csr_base:x} 0x0 0x4>; + litex,direction = "out"; + status = "disabled"; + }}; + """.format(leds_csr_base=d["csr_bases"]["leds"]) + + # RGB Led -------------------------------------------------------------------------------------- + +for name in ["rgb_led_r0", "rgb_led_g0", "rgb_led_b0"]: + if name in d["csr_bases"]: + dts += """ + {pwm_name}: pwm@{pwm_csr_base:x} {{ + compatible = "litex,pwm"; + reg = <0x0 0x{pwm_csr_base:x} 0x0 0x24>; + clock = <100000000>; + #pwm-cells = <3>; + status = "okay"; + }}; + """.format(pwm_name=name, + pwm_csr_base=d["csr_bases"][name]) + + # Switches ------------------------------------------------------------------------------------- + +if "switches" in d["csr_bases"]: + dts += """ + switches: gpio@{switches_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{switches_csr_base:x} 0x0 0x4>; + litex,direction = "in"; + status = "disabled"; + }}; + """.format(switches_csr_base=d["csr_bases"]["switches"]) + + # SPI ------------------------------------------------------------------------------------------ + +if "spi" in d["csr_bases"]: + aliases["spi0"] = "litespi0" + + dts += """ + litespi0: spi@{spi_csr_base:x} {{ + compatible = "litex,litespi"; + reg = <0x0 0x{spi_csr_base:x} 0x0 0x100>; + status = "okay"; + + litespi,max-bpw = <8>; + litespi,sck-frequency = <1000000>; + litespi,num-cs = <1>; + + #address-cells = <0x1>; + #size-cells = <0x1>; + + spidev0: spidev@0 {{ + compatible = "linux,spidev"; + reg = <0 0>; + spi-max-frequency = <1000000>; + status = "okay"; + }}; + }}; + """.format(spi_csr_base=d["csr_bases"]["spi"]) + + # I2C ------------------------------------------------------------------------------------------ + +if "i2c0" in d["csr_bases"]: + dts += """ + i2c0: i2c@{i2c0_csr_base:x} {{ + compatible = "litex,i2c"; + reg = <0x0 0x{i2c0_csr_base:x} 0x0 0x5>; + status = "okay"; + }}; +""".format(i2c0_csr_base=d["csr_bases"]["i2c0"]) + + # XADC ----------------------------------------------------------------------------------------- + +if "xadc" in d["csr_bases"]: + dts += """ + hwmon0: xadc@{xadc_csr_base:x} {{ + compatible = "litex,hwmon-xadc"; + reg = <0x0 0x{xadc_csr_base:x} 0x0 0x20>; + status = "okay"; + }}; +""".format(xadc_csr_base=d["csr_bases"]["xadc"]) + + # Framebuffer ---------------------------------------------------------------------------------- + +if "framebuffer" in d["csr_bases"]: + # FIXME: dynamic framebuffer base and size + framebuffer_base = 0xc8000000 + framebuffer_width = 1280 + framebuffer_height = 720 + dts += """ + framebuffer0: framebuffer@f0000000 {{ + compatible = "simple-framebuffer"; + reg = <0x0 0x{framebuffer_base:x} 0x0 0x{framebuffer_size:x}>; + width = <{framebuffer_width}>; + height = <{framebuffer_height}>; + stride = <{framebuffer_stride}>; + format = "a8b8g8r8"; + }}; + """.format(framebuffer_base=framebuffer_base, + framebuffer_width=framebuffer_width, + framebuffer_height=framebuffer_height, + framebuffer_size=framebuffer_width*framebuffer_height*4, + framebuffer_stride=framebuffer_width*4) + +dts += """ + }; +""" + +# Aliases ----------------------------------------------------------------------------------------- + +if aliases: + dts += """ + aliases { +""" + for alias in aliases: + dts += """ + {} = &{}; +""".format(alias, aliases[alias]) + dts += """ + }; +""" + +dts += """ +}; +""" + +# -------------------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ +&leds { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +if "switches" in d["csr_bases"]: + dts += """ +&switches { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +print(dts) diff --git a/PATCH/json2dts.py-nbd-moar b/PATCH/json2dts.py-nbd-moar new file mode 100755 index 0000000..5914922 --- /dev/null +++ b/PATCH/json2dts.py-nbd-moar @@ -0,0 +1,284 @@ +#!/usr/bin/env python3 + +import sys +import json +import argparse + +parser = argparse.ArgumentParser(description="LiteX's CSR JSON to Linux DTS generator") +parser.add_argument("csr_json", help="CSR JSON file") +args = parser.parse_args() + +d = json.load(open(args.csr_json)) + +kB = 1024 +mB = kB*1024 + +aliases = {} + +# Header ------------------------------------------------------------------------------------------- + +dts = """ +/dts-v1/; + +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "enjoy-digital,litex-vexriscv-soclinux"; + model = "VexRiscv SoCLinux"; +""" + +# Boot Arguments ----------------------------------------------------------------------------------- + +# bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992 debug init=/sbin/init swiotlb=32"; +# david shah: +# bootargs = "mem=1024M@0x40000000 rootwait console=hvc0 root=/dev/nfs nfsroot=192.168.7.1:/srv/nfsroot,rsize=1024,wsize=1024,nolock,udp,nfsvers=3 ip=192.168.7.100:192.168.7.1:192.168.7.1:255.255.255.0:vexriscv:eth0:none:8.8.8.8 init=/sbin/init swiotlb=32"; + #bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992:ext4 debug init=/sbin/init swiotlb=32"; + +dts += """ + chosen {{ + bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=eth0:dhcp root=nbd:192.168.110.63:8992:ext4 debug init=/sbin/init swiotlb=32"; + linux,initrd-start = <0x{linux_initrd_start:x}>; + linux,initrd-end = <0x{linux_initrd_end:x}>; + }}; +""".format( + main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"], + main_ram_size_mb=d["memories"]["main_ram"]["size"]//mB, + + linux_initrd_start=d["memories"]["main_ram"]["base"] + 8*mB, + linux_initrd_end=d["memories"]["main_ram"]["base"] + 16*mB) + +# CPU ---------------------------------------------------------------------------------------------- + +dts += """ + cpus {{ + #address-cells = <0x1>; + #size-cells = <0x0>; + timebase-frequency = <{sys_clk_freq}>; + + cpu@0 {{ + clock-frequency = <0x0>; + compatible = "spinalhdl,vexriscv", "sifive,rocket0", "riscv"; + d-cache-block-size = <0x40>; + d-cache-sets = <0x40>; + d-cache-size = <0x8000>; + d-tlb-sets = <0x1>; + d-tlb-size = <0x20>; + device_type = "cpu"; + i-cache-block-size = <0x40>; + i-cache-sets = <0x40>; + i-cache-size = <0x8000>; + i-tlb-sets = <0x1>; + i-tlb-size = <0x20>; + mmu-type = "riscv,sv32"; + reg = <0x0>; + riscv,isa = "rv32ima"; + sifive,itim = <0x1>; + status = "okay"; + tlb-split; + }}; + }}; +""".format(sys_clk_freq=int(50e6) if "sim" in d["constants"] else d["constants"]["config_clock_frequency"]) + +# Memory ------------------------------------------------------------------------------------------- + +dts += """ + memory@{main_ram_base:x} {{ + device_type = "memory"; + reg = <0x0 0x{main_ram_base:x} 0x1 0x{main_ram_size:x}>; + }}; +""".format(main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"]) + +# SoC ---------------------------------------------------------------------------------------------- + +dts += """ + soc { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "simple-bus"; + ranges; +""" + + # UART ----------------------------------------------------------------------------------------- + +if "uart" in d["csr_bases"]: + aliases["serial0"] = "liteuart0" + dts += """ + liteuart0: serial@{uart_csr_base:x} {{ + device_type = "serial"; + compatible = "litex,liteuart"; + reg = <0x0 0x{uart_csr_base:x} 0x0 0x100>; + status = "okay"; + }}; + """.format(uart_csr_base=d["csr_bases"]["uart"]) + + # Ethernet MAC --------------------------------------------------------------------------------- + +if "ethmac" in d["csr_bases"]: + dts += """ + mac0: mac@{ethmac_csr_base:x} {{ + compatible = "litex,liteeth"; + reg = <0x0 0x{ethmac_csr_base:x} 0x0 0x7c + 0x0 0x{ethphy_csr_base:x} 0x0 0x0a + 0x0 0x{ethmac_mem_base:x} 0x0 0x2000>; + tx-fifo-depth = <{ethmac_tx_slots}>; + rx-fifo-depth = <{ethmac_rx_slots}>; + }}; + """.format(ethphy_csr_base=d["csr_bases"]["ethphy"], + ethmac_csr_base=d["csr_bases"]["ethmac"], + ethmac_mem_base=d["memories"]["ethmac"]["base"], + ethmac_tx_slots=d["constants"]["ethmac_tx_slots"], + ethmac_rx_slots=d["constants"]["ethmac_rx_slots"]) + + # Leds ----------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ + leds: gpio@{leds_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{leds_csr_base:x} 0x0 0x4>; + litex,direction = "out"; + status = "disabled"; + }}; + """.format(leds_csr_base=d["csr_bases"]["leds"]) + + # RGB Led -------------------------------------------------------------------------------------- + +for name in ["rgb_led_r0", "rgb_led_g0", "rgb_led_b0"]: + if name in d["csr_bases"]: + dts += """ + {pwm_name}: pwm@{pwm_csr_base:x} {{ + compatible = "litex,pwm"; + reg = <0x0 0x{pwm_csr_base:x} 0x0 0x24>; + clock = <100000000>; + #pwm-cells = <3>; + status = "okay"; + }}; + """.format(pwm_name=name, + pwm_csr_base=d["csr_bases"][name]) + + # Switches ------------------------------------------------------------------------------------- + +if "switches" in d["csr_bases"]: + dts += """ + switches: gpio@{switches_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{switches_csr_base:x} 0x0 0x4>; + litex,direction = "in"; + status = "disabled"; + }}; + """.format(switches_csr_base=d["csr_bases"]["switches"]) + + # SPI ------------------------------------------------------------------------------------------ + +if "spi" in d["csr_bases"]: + aliases["spi0"] = "litespi0" + + dts += """ + litespi0: spi@{spi_csr_base:x} {{ + compatible = "litex,litespi"; + reg = <0x0 0x{spi_csr_base:x} 0x0 0x100>; + status = "okay"; + + litespi,max-bpw = <8>; + litespi,sck-frequency = <1000000>; + litespi,num-cs = <1>; + + #address-cells = <0x1>; + #size-cells = <0x1>; + + spidev0: spidev@0 {{ + compatible = "linux,spidev"; + reg = <0 0>; + spi-max-frequency = <1000000>; + status = "okay"; + }}; + }}; + """.format(spi_csr_base=d["csr_bases"]["spi"]) + + # I2C ------------------------------------------------------------------------------------------ + +if "i2c0" in d["csr_bases"]: + dts += """ + i2c0: i2c@{i2c0_csr_base:x} {{ + compatible = "litex,i2c"; + reg = <0x0 0x{i2c0_csr_base:x} 0x0 0x5>; + status = "okay"; + }}; +""".format(i2c0_csr_base=d["csr_bases"]["i2c0"]) + + # XADC ----------------------------------------------------------------------------------------- + +if "xadc" in d["csr_bases"]: + dts += """ + hwmon0: xadc@{xadc_csr_base:x} {{ + compatible = "litex,hwmon-xadc"; + reg = <0x0 0x{xadc_csr_base:x} 0x0 0x20>; + status = "okay"; + }}; +""".format(xadc_csr_base=d["csr_bases"]["xadc"]) + + # Framebuffer ---------------------------------------------------------------------------------- + +if "framebuffer" in d["csr_bases"]: + # FIXME: dynamic framebuffer base and size + framebuffer_base = 0xc8000000 + framebuffer_width = 1280 + framebuffer_height = 720 + dts += """ + framebuffer0: framebuffer@f0000000 {{ + compatible = "simple-framebuffer"; + reg = <0x0 0x{framebuffer_base:x} 0x0 0x{framebuffer_size:x}>; + width = <{framebuffer_width}>; + height = <{framebuffer_height}>; + stride = <{framebuffer_stride}>; + format = "a8b8g8r8"; + }}; + """.format(framebuffer_base=framebuffer_base, + framebuffer_width=framebuffer_width, + framebuffer_height=framebuffer_height, + framebuffer_size=framebuffer_width*framebuffer_height*4, + framebuffer_stride=framebuffer_width*4) + +dts += """ + }; +""" + +# Aliases ----------------------------------------------------------------------------------------- + +if aliases: + dts += """ + aliases { +""" + for alias in aliases: + dts += """ + {} = &{}; +""".format(alias, aliases[alias]) + dts += """ + }; +""" + +dts += """ +}; +""" + +# -------------------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ +&leds { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +if "switches" in d["csr_bases"]: + dts += """ +&switches { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +print(dts) diff --git a/PATCH/json2dts.py-nbd-ok b/PATCH/json2dts.py-nbd-ok new file mode 100755 index 0000000..1e2017d --- /dev/null +++ b/PATCH/json2dts.py-nbd-ok @@ -0,0 +1,280 @@ +#!/usr/bin/env python3 + +import sys +import json +import argparse + +parser = argparse.ArgumentParser(description="LiteX's CSR JSON to Linux DTS generator") +parser.add_argument("csr_json", help="CSR JSON file") +args = parser.parse_args() + +d = json.load(open(args.csr_json)) + +kB = 1024 +mB = kB*1024 + +aliases = {} + +# Header ------------------------------------------------------------------------------------------- + +dts = """ +/dts-v1/; + +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "enjoy-digital,litex-vexriscv-soclinux"; + model = "VexRiscv SoCLinux"; +""" + +# Boot Arguments ----------------------------------------------------------------------------------- + +# bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992 debug init=/sbin/init swiotlb=32"; +dts += """ + chosen {{ + bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi root=/dev/ram0 debug init=/sbin/init swiotlb=32"; + linux,initrd-start = <0x{linux_initrd_start:x}>; + linux,initrd-end = <0x{linux_initrd_end:x}>; + }}; +""".format( + main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"], + main_ram_size_mb=d["memories"]["main_ram"]["size"]//mB, + + linux_initrd_start=d["memories"]["main_ram"]["base"] + 8*mB, + linux_initrd_end=d["memories"]["main_ram"]["base"] + 16*mB) + +# CPU ---------------------------------------------------------------------------------------------- + +dts += """ + cpus {{ + #address-cells = <0x1>; + #size-cells = <0x0>; + timebase-frequency = <{sys_clk_freq}>; + + cpu@0 {{ + clock-frequency = <0x0>; + compatible = "spinalhdl,vexriscv", "sifive,rocket0", "riscv"; + d-cache-block-size = <0x40>; + d-cache-sets = <0x40>; + d-cache-size = <0x8000>; + d-tlb-sets = <0x1>; + d-tlb-size = <0x20>; + device_type = "cpu"; + i-cache-block-size = <0x40>; + i-cache-sets = <0x40>; + i-cache-size = <0x8000>; + i-tlb-sets = <0x1>; + i-tlb-size = <0x20>; + mmu-type = "riscv,sv32"; + reg = <0x0>; + riscv,isa = "rv32ima"; + sifive,itim = <0x1>; + status = "okay"; + tlb-split; + }}; + }}; +""".format(sys_clk_freq=int(50e6) if "sim" in d["constants"] else d["constants"]["config_clock_frequency"]) + +# Memory ------------------------------------------------------------------------------------------- + +dts += """ + memory@{main_ram_base:x} {{ + device_type = "memory"; + reg = <0x0 0x{main_ram_base:x} 0x1 0x{main_ram_size:x}>; + }}; +""".format(main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"]) + +# SoC ---------------------------------------------------------------------------------------------- + +dts += """ + soc { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "simple-bus"; + ranges; +""" + + # UART ----------------------------------------------------------------------------------------- + +if "uart" in d["csr_bases"]: + aliases["serial0"] = "liteuart0" + dts += """ + liteuart0: serial@{uart_csr_base:x} {{ + device_type = "serial"; + compatible = "litex,liteuart"; + reg = <0x0 0x{uart_csr_base:x} 0x0 0x100>; + status = "okay"; + }}; + """.format(uart_csr_base=d["csr_bases"]["uart"]) + + # Ethernet MAC --------------------------------------------------------------------------------- + +if "ethmac" in d["csr_bases"]: + dts += """ + mac0: mac@{ethmac_csr_base:x} {{ + compatible = "litex,liteeth"; + reg = <0x0 0x{ethmac_csr_base:x} 0x0 0x7c + 0x0 0x{ethphy_csr_base:x} 0x0 0x0a + 0x0 0x{ethmac_mem_base:x} 0x0 0x2000>; + tx-fifo-depth = <{ethmac_tx_slots}>; + rx-fifo-depth = <{ethmac_rx_slots}>; + }}; + """.format(ethphy_csr_base=d["csr_bases"]["ethphy"], + ethmac_csr_base=d["csr_bases"]["ethmac"], + ethmac_mem_base=d["memories"]["ethmac"]["base"], + ethmac_tx_slots=d["constants"]["ethmac_tx_slots"], + ethmac_rx_slots=d["constants"]["ethmac_rx_slots"]) + + # Leds ----------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ + leds: gpio@{leds_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{leds_csr_base:x} 0x0 0x4>; + litex,direction = "out"; + status = "disabled"; + }}; + """.format(leds_csr_base=d["csr_bases"]["leds"]) + + # RGB Led -------------------------------------------------------------------------------------- + +for name in ["rgb_led_r0", "rgb_led_g0", "rgb_led_b0"]: + if name in d["csr_bases"]: + dts += """ + {pwm_name}: pwm@{pwm_csr_base:x} {{ + compatible = "litex,pwm"; + reg = <0x0 0x{pwm_csr_base:x} 0x0 0x24>; + clock = <100000000>; + #pwm-cells = <3>; + status = "okay"; + }}; + """.format(pwm_name=name, + pwm_csr_base=d["csr_bases"][name]) + + # Switches ------------------------------------------------------------------------------------- + +if "switches" in d["csr_bases"]: + dts += """ + switches: gpio@{switches_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{switches_csr_base:x} 0x0 0x4>; + litex,direction = "in"; + status = "disabled"; + }}; + """.format(switches_csr_base=d["csr_bases"]["switches"]) + + # SPI ------------------------------------------------------------------------------------------ + +if "spi" in d["csr_bases"]: + aliases["spi0"] = "litespi0" + + dts += """ + litespi0: spi@{spi_csr_base:x} {{ + compatible = "litex,litespi"; + reg = <0x0 0x{spi_csr_base:x} 0x0 0x100>; + status = "okay"; + + litespi,max-bpw = <8>; + litespi,sck-frequency = <1000000>; + litespi,num-cs = <1>; + + #address-cells = <0x1>; + #size-cells = <0x1>; + + spidev0: spidev@0 {{ + compatible = "linux,spidev"; + reg = <0 0>; + spi-max-frequency = <1000000>; + status = "okay"; + }}; + }}; + """.format(spi_csr_base=d["csr_bases"]["spi"]) + + # I2C ------------------------------------------------------------------------------------------ + +if "i2c0" in d["csr_bases"]: + dts += """ + i2c0: i2c@{i2c0_csr_base:x} {{ + compatible = "litex,i2c"; + reg = <0x0 0x{i2c0_csr_base:x} 0x0 0x5>; + status = "okay"; + }}; +""".format(i2c0_csr_base=d["csr_bases"]["i2c0"]) + + # XADC ----------------------------------------------------------------------------------------- + +if "xadc" in d["csr_bases"]: + dts += """ + hwmon0: xadc@{xadc_csr_base:x} {{ + compatible = "litex,hwmon-xadc"; + reg = <0x0 0x{xadc_csr_base:x} 0x0 0x20>; + status = "okay"; + }}; +""".format(xadc_csr_base=d["csr_bases"]["xadc"]) + + # Framebuffer ---------------------------------------------------------------------------------- + +if "framebuffer" in d["csr_bases"]: + # FIXME: dynamic framebuffer base and size + framebuffer_base = 0xc8000000 + framebuffer_width = 1280 + framebuffer_height = 720 + dts += """ + framebuffer0: framebuffer@f0000000 {{ + compatible = "simple-framebuffer"; + reg = <0x0 0x{framebuffer_base:x} 0x0 0x{framebuffer_size:x}>; + width = <{framebuffer_width}>; + height = <{framebuffer_height}>; + stride = <{framebuffer_stride}>; + format = "a8b8g8r8"; + }}; + """.format(framebuffer_base=framebuffer_base, + framebuffer_width=framebuffer_width, + framebuffer_height=framebuffer_height, + framebuffer_size=framebuffer_width*framebuffer_height*4, + framebuffer_stride=framebuffer_width*4) + +dts += """ + }; +""" + +# Aliases ----------------------------------------------------------------------------------------- + +if aliases: + dts += """ + aliases { +""" + for alias in aliases: + dts += """ + {} = &{}; +""".format(alias, aliases[alias]) + dts += """ + }; +""" + +dts += """ +}; +""" + +# -------------------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ +&leds { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +if "switches" in d["csr_bases"]: + dts += """ +&switches { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +print(dts) diff --git a/PATCH/json2dts.py-ram0 b/PATCH/json2dts.py-ram0 new file mode 100755 index 0000000..1f8dd42 --- /dev/null +++ b/PATCH/json2dts.py-ram0 @@ -0,0 +1,284 @@ +#!/usr/bin/env python3 + +import sys +import json +import argparse + +parser = argparse.ArgumentParser(description="LiteX's CSR JSON to Linux DTS generator") +parser.add_argument("csr_json", help="CSR JSON file") +args = parser.parse_args() + +d = json.load(open(args.csr_json)) + +kB = 1024 +mB = kB*1024 + +aliases = {} + +# Header ------------------------------------------------------------------------------------------- + +dts = """ +/dts-v1/; + +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "enjoy-digital,litex-vexriscv-soclinux"; + model = "VexRiscv SoCLinux"; +""" + +# Boot Arguments ----------------------------------------------------------------------------------- + +# bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992 debug init=/sbin/init swiotlb=32"; +# david shah: +# bootargs = "mem=1024M@0x40000000 rootwait console=hvc0 root=/dev/nfs nfsroot=192.168.7.1:/srv/nfsroot,rsize=1024,wsize=1024,nolock,udp,nfsvers=3 ip=192.168.7.100:192.168.7.1:192.168.7.1:255.255.255.0:vexriscv:eth0:none:8.8.8.8 init=/sbin/init swiotlb=32"; + #bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi ip=192.168.110.26::192.168.110.252:255.255.255.0:trellisboard:eth0 root=nbd:192.168.110.63:8992:ext4 debug init=/sbin/init swiotlb=32"; + +dts += """ + chosen {{ + bootargs = "mem={main_ram_size_mb}M@0x{main_ram_base:x} rootwait console=liteuart earlycon=sbi root=/dev/ram0 debug init=/sbin/init swiotlb=32"; + linux,initrd-start = <0x{linux_initrd_start:x}>; + linux,initrd-end = <0x{linux_initrd_end:x}>; + }}; +""".format( + main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"], + main_ram_size_mb=d["memories"]["main_ram"]["size"]//mB, + + linux_initrd_start=d["memories"]["main_ram"]["base"] + 8*mB, + linux_initrd_end=d["memories"]["main_ram"]["base"] + 16*mB) + +# CPU ---------------------------------------------------------------------------------------------- + +dts += """ + cpus {{ + #address-cells = <0x1>; + #size-cells = <0x0>; + timebase-frequency = <{sys_clk_freq}>; + + cpu@0 {{ + clock-frequency = <0x0>; + compatible = "spinalhdl,vexriscv", "sifive,rocket0", "riscv"; + d-cache-block-size = <0x40>; + d-cache-sets = <0x40>; + d-cache-size = <0x8000>; + d-tlb-sets = <0x1>; + d-tlb-size = <0x20>; + device_type = "cpu"; + i-cache-block-size = <0x40>; + i-cache-sets = <0x40>; + i-cache-size = <0x8000>; + i-tlb-sets = <0x1>; + i-tlb-size = <0x20>; + mmu-type = "riscv,sv32"; + reg = <0x0>; + riscv,isa = "rv32ima"; + sifive,itim = <0x1>; + status = "okay"; + tlb-split; + }}; + }}; +""".format(sys_clk_freq=int(50e6) if "sim" in d["constants"] else d["constants"]["config_clock_frequency"]) + +# Memory ------------------------------------------------------------------------------------------- + +dts += """ + memory@{main_ram_base:x} {{ + device_type = "memory"; + reg = <0x0 0x{main_ram_base:x} 0x1 0x{main_ram_size:x}>; + }}; +""".format(main_ram_base=d["memories"]["main_ram"]["base"], + main_ram_size=d["memories"]["main_ram"]["size"]) + +# SoC ---------------------------------------------------------------------------------------------- + +dts += """ + soc { + #address-cells = <0x2>; + #size-cells = <0x2>; + compatible = "simple-bus"; + ranges; +""" + + # UART ----------------------------------------------------------------------------------------- + +if "uart" in d["csr_bases"]: + aliases["serial0"] = "liteuart0" + dts += """ + liteuart0: serial@{uart_csr_base:x} {{ + device_type = "serial"; + compatible = "litex,liteuart"; + reg = <0x0 0x{uart_csr_base:x} 0x0 0x100>; + status = "okay"; + }}; + """.format(uart_csr_base=d["csr_bases"]["uart"]) + + # Ethernet MAC --------------------------------------------------------------------------------- + +if "ethmac" in d["csr_bases"]: + dts += """ + mac0: mac@{ethmac_csr_base:x} {{ + compatible = "litex,liteeth"; + reg = <0x0 0x{ethmac_csr_base:x} 0x0 0x7c + 0x0 0x{ethphy_csr_base:x} 0x0 0x0a + 0x0 0x{ethmac_mem_base:x} 0x0 0x2000>; + tx-fifo-depth = <{ethmac_tx_slots}>; + rx-fifo-depth = <{ethmac_rx_slots}>; + }}; + """.format(ethphy_csr_base=d["csr_bases"]["ethphy"], + ethmac_csr_base=d["csr_bases"]["ethmac"], + ethmac_mem_base=d["memories"]["ethmac"]["base"], + ethmac_tx_slots=d["constants"]["ethmac_tx_slots"], + ethmac_rx_slots=d["constants"]["ethmac_rx_slots"]) + + # Leds ----------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ + leds: gpio@{leds_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{leds_csr_base:x} 0x0 0x4>; + litex,direction = "out"; + status = "disabled"; + }}; + """.format(leds_csr_base=d["csr_bases"]["leds"]) + + # RGB Led -------------------------------------------------------------------------------------- + +for name in ["rgb_led_r0", "rgb_led_g0", "rgb_led_b0"]: + if name in d["csr_bases"]: + dts += """ + {pwm_name}: pwm@{pwm_csr_base:x} {{ + compatible = "litex,pwm"; + reg = <0x0 0x{pwm_csr_base:x} 0x0 0x24>; + clock = <100000000>; + #pwm-cells = <3>; + status = "okay"; + }}; + """.format(pwm_name=name, + pwm_csr_base=d["csr_bases"][name]) + + # Switches ------------------------------------------------------------------------------------- + +if "switches" in d["csr_bases"]: + dts += """ + switches: gpio@{switches_csr_base:x} {{ + compatible = "litex,gpio"; + reg = <0x0 0x{switches_csr_base:x} 0x0 0x4>; + litex,direction = "in"; + status = "disabled"; + }}; + """.format(switches_csr_base=d["csr_bases"]["switches"]) + + # SPI ------------------------------------------------------------------------------------------ + +if "spi" in d["csr_bases"]: + aliases["spi0"] = "litespi0" + + dts += """ + litespi0: spi@{spi_csr_base:x} {{ + compatible = "litex,litespi"; + reg = <0x0 0x{spi_csr_base:x} 0x0 0x100>; + status = "okay"; + + litespi,max-bpw = <8>; + litespi,sck-frequency = <1000000>; + litespi,num-cs = <1>; + + #address-cells = <0x1>; + #size-cells = <0x1>; + + spidev0: spidev@0 {{ + compatible = "linux,spidev"; + reg = <0 0>; + spi-max-frequency = <1000000>; + status = "okay"; + }}; + }}; + """.format(spi_csr_base=d["csr_bases"]["spi"]) + + # I2C ------------------------------------------------------------------------------------------ + +if "i2c0" in d["csr_bases"]: + dts += """ + i2c0: i2c@{i2c0_csr_base:x} {{ + compatible = "litex,i2c"; + reg = <0x0 0x{i2c0_csr_base:x} 0x0 0x5>; + status = "okay"; + }}; +""".format(i2c0_csr_base=d["csr_bases"]["i2c0"]) + + # XADC ----------------------------------------------------------------------------------------- + +if "xadc" in d["csr_bases"]: + dts += """ + hwmon0: xadc@{xadc_csr_base:x} {{ + compatible = "litex,hwmon-xadc"; + reg = <0x0 0x{xadc_csr_base:x} 0x0 0x20>; + status = "okay"; + }}; +""".format(xadc_csr_base=d["csr_bases"]["xadc"]) + + # Framebuffer ---------------------------------------------------------------------------------- + +if "framebuffer" in d["csr_bases"]: + # FIXME: dynamic framebuffer base and size + framebuffer_base = 0xc8000000 + framebuffer_width = 1280 + framebuffer_height = 720 + dts += """ + framebuffer0: framebuffer@f0000000 {{ + compatible = "simple-framebuffer"; + reg = <0x0 0x{framebuffer_base:x} 0x0 0x{framebuffer_size:x}>; + width = <{framebuffer_width}>; + height = <{framebuffer_height}>; + stride = <{framebuffer_stride}>; + format = "a8b8g8r8"; + }}; + """.format(framebuffer_base=framebuffer_base, + framebuffer_width=framebuffer_width, + framebuffer_height=framebuffer_height, + framebuffer_size=framebuffer_width*framebuffer_height*4, + framebuffer_stride=framebuffer_width*4) + +dts += """ + }; +""" + +# Aliases ----------------------------------------------------------------------------------------- + +if aliases: + dts += """ + aliases { +""" + for alias in aliases: + dts += """ + {} = &{}; +""".format(alias, aliases[alias]) + dts += """ + }; +""" + +dts += """ +}; +""" + +# -------------------------------------------------------------------------------------------------- + +if "leds" in d["csr_bases"]: + dts += """ +&leds { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +if "switches" in d["csr_bases"]: + dts += """ +&switches { + litex,ngpio = <4>; + status = "okay"; +}; + """ + +print(dts) diff --git a/PATCH/linux-5.0.13-dot-config-default b/PATCH/linux-5.0.13-dot-config-default new file mode 100644 index 0000000..a70838b --- /dev/null +++ b/PATCH/linux-5.0.13-dot-config-default @@ -0,0 +1,1922 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/riscv 5.0.13 Kernel Configuration +# + +# +# Compiler: riscv32-buildroot-linux-gnu-gcc.br_real (Buildroot 2019.11-git-00614-g5a9348d370) 8.3.0 +# +CONFIG_CC_IS_GCC=y +CONFIG_GCC_VERSION=80300 +CONFIG_CLANG_VERSION=0 +CONFIG_CC_HAS_ASM_GOTO=y +CONFIG_IRQ_WORK=y +CONFIG_THREAD_INFO_IN_TASK=y + +# +# General setup +# +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_BUILD_SALT="" +CONFIG_DEFAULT_HOSTNAME="(none)" +CONFIG_SWAP=y +# CONFIG_SYSVIPC is not set +# CONFIG_POSIX_MQUEUE is not set +CONFIG_CROSS_MEMORY_ATTACH=y +# CONFIG_USELIB is not set +# CONFIG_AUDIT is not set +CONFIG_HAVE_ARCH_AUDITSYSCALL=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_IRQ_DOMAIN=y +CONFIG_SPARSE_IRQ=y +CONFIG_GENERIC_IRQ_MULTI_HANDLER=y +CONFIG_GENERIC_CLOCKEVENTS=y + +# +# Timers subsystem +# +CONFIG_HZ_PERIODIC=y +# CONFIG_NO_HZ_IDLE is not set +# CONFIG_NO_HZ is not set +# CONFIG_HIGH_RES_TIMERS is not set +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set +# CONFIG_PSI is not set + +# +# RCU Subsystem +# +CONFIG_TINY_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +CONFIG_TINY_SRCU=y +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=17 +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 +CONFIG_GENERIC_SCHED_CLOCK=y +# CONFIG_CGROUPS is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +# CONFIG_USER_NS is not set +CONFIG_PID_NS=y +CONFIG_NET_NS=y +# CONFIG_CHECKPOINT_RESTORE is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y +CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_SYSCTL_EXCEPTION_TRACE=y +CONFIG_BPF=y +# CONFIG_EXPERT is not set +CONFIG_MULTIUSER=y +CONFIG_SYSFS_SYSCALL=y +CONFIG_FHANDLE=y +CONFIG_POSIX_TIMERS=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_FUTEX_PI=y +CONFIG_HAVE_FUTEX_CMPXCHG=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_ADVISE_SYSCALLS=y +CONFIG_MEMBARRIER=y +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_BASE_RELATIVE=y +# CONFIG_BPF_SYSCALL is not set +# CONFIG_USERFAULTFD is not set +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y + +# +# Kernel Performance Events And Counters +# +# CONFIG_PERF_EVENTS is not set +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +CONFIG_COMPAT_BRK=y +# CONFIG_SLAB is not set +CONFIG_SLUB=y +CONFIG_SLAB_MERGE_DEFAULT=y +# CONFIG_SLAB_FREELIST_RANDOM is not set +# CONFIG_SLAB_FREELIST_HARDENED is not set +# CONFIG_PROFILING is not set +CONFIG_32BIT=y +CONFIG_RISCV=y +CONFIG_MMU=y +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_CSUM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_PGTABLE_LEVELS=2 + +# +# Platform type +# +CONFIG_ARCH_RV32I=y +# CONFIG_ARCH_RV64I is not set +CONFIG_CMODEL_MEDLOW=y +# CONFIG_CMODEL_MEDANY is not set +CONFIG_MAXPHYSMEM_2GB=y +# CONFIG_SMP is not set +CONFIG_TUNE_GENERIC=y +# CONFIG_RISCV_ISA_C is not set +CONFIG_RISCV_ISA_A=y +# CONFIG_FPU is not set + +# +# Kernel features +# +# CONFIG_HZ_100 is not set +CONFIG_HZ_250=y +# CONFIG_HZ_300 is not set +# CONFIG_HZ_1000 is not set +CONFIG_HZ=250 + +# +# Boot options +# +CONFIG_CMDLINE="" + +# +# Power management options +# +# CONFIG_PM is not set + +# +# General architecture-dependent options +# +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_HAVE_CLK=y +CONFIG_CC_HAS_STACKPROTECTOR_NONE=y +CONFIG_CLONE_BACKWARDS=y +# CONFIG_REFCOUNT_FULL is not set + +# +# GCOV-based kernel profiling +# +CONFIG_PLUGIN_HOSTCC="g++" +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +# CONFIG_MODULES is not set +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_SCSI_REQUEST=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +# CONFIG_BLK_DEV_ZONED is not set +# CONFIG_BLK_CMDLINE_PARSER is not set +# CONFIG_BLK_WBT is not set +# CONFIG_BLK_SED_OPAL is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_EFI_PARTITION=y + +# +# IO Schedulers +# +CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=y +# CONFIG_IOSCHED_BFQ is not set +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y + +# +# Executable file formats +# +CONFIG_BINFMT_ELF=y +CONFIG_ELFCORE=y +CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y +CONFIG_BINFMT_SCRIPT=y +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Memory Management options +# +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK_NODE_MAP=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_COMPACTION=y +CONFIG_MIGRATION=y +CONFIG_PHYS_ADDR_T_64BIT=y +# CONFIG_KSM is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_NEED_PER_CPU_KM=y +# CONFIG_CLEANCACHE is not set +# CONFIG_FRONTSWAP is not set +# CONFIG_CMA is not set +# CONFIG_ZPOOL is not set +# CONFIG_ZBUD is not set +# CONFIG_ZSMALLOC is not set +# CONFIG_IDLE_PAGE_TRACKING is not set +# CONFIG_PERCPU_STATS is not set +# CONFIG_GUP_BENCHMARK is not set +CONFIG_ARCH_HAS_PTE_SPECIAL=y +CONFIG_NET=y +CONFIG_SKB_EXTENSIONS=y + +# +# Networking options +# +# CONFIG_PACKET is not set +# CONFIG_UNIX is not set +# CONFIG_TLS is not set +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_INTERFACE is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +# CONFIG_IP_PNP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE_DEMUX is not set +CONFIG_NET_IP_TUNNEL=y +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_IPVTI is not set +# CONFIG_NET_FOU is not set +# CONFIG_NET_FOU_IP_TUNNELS is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +CONFIG_INET_TUNNEL=y +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_RAW_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +# CONFIG_IPV6_ROUTER_PREF is not set +# CONFIG_IPV6_OPTIMISTIC_DAD is not set +# CONFIG_INET6_AH is not set +# CONFIG_INET6_ESP is not set +# CONFIG_INET6_IPCOMP is not set +# CONFIG_IPV6_MIP6 is not set +CONFIG_INET6_XFRM_MODE_TRANSPORT=y +CONFIG_INET6_XFRM_MODE_TUNNEL=y +CONFIG_INET6_XFRM_MODE_BEET=y +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_SIT=y +# CONFIG_IPV6_SIT_6RD is not set +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set +# CONFIG_IPV6_MROUTE is not set +# CONFIG_IPV6_SEG6_LWTUNNEL is not set +# CONFIG_IPV6_SEG6_HMAC is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +# CONFIG_NETFILTER is not set +# CONFIG_BPFILTER is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_L2TP is not set +# CONFIG_BRIDGE is not set +CONFIG_HAVE_NET_DSA=y +# CONFIG_NET_DSA is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_6LOWPAN is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED is not set +# CONFIG_DCB is not set +# CONFIG_BATMAN_ADV is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_NET_NSH is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV is not set +# CONFIG_NET_NCSI is not set +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# CONFIG_AF_KCM is not set +CONFIG_WIRELESS=y +# CONFIG_CFG80211 is not set + +# +# CFG80211 needs to be enabled for MAC80211 +# +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +# CONFIG_RFKILL is not set +# CONFIG_NET_9P is not set +# CONFIG_CAIF is not set +# CONFIG_CEPH_LIB is not set +# CONFIG_NFC is not set +# CONFIG_PSAMPLE is not set +# CONFIG_NET_IFE is not set +# CONFIG_LWTUNNEL is not set +CONFIG_DST_CACHE=y +CONFIG_GRO_CELLS=y +# CONFIG_NET_DEVLINK is not set +CONFIG_MAY_USE_DEVLINK=y +# CONFIG_FAILOVER is not set + +# +# Device Drivers +# +CONFIG_HAVE_PCI=y +# CONFIG_PCI is not set +# CONFIG_PCCARD is not set + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="" +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y + +# +# Firmware loader +# +CONFIG_FW_LOADER=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER is not set +CONFIG_ALLOW_DEV_COREDUMP=y +CONFIG_GENERIC_CPU_DEVICES=y + +# +# Bus devices +# +# CONFIG_CONNECTOR is not set +# CONFIG_GNSS is not set +# CONFIG_MTD is not set +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_KOBJ=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +# CONFIG_OF_OVERLAY is not set +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_NULL_BLK is not set +# CONFIG_BLK_DEV_LOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_RAM is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# NVME Support +# +# CONFIG_NVME_FC is not set + +# +# Misc devices +# +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_APDS9802ALS is not set +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_PVPANIC is not set +# CONFIG_C2PORT is not set + +# +# EEPROM support +# +# CONFIG_EEPROM_AT24 is not set +# CONFIG_EEPROM_AT25 is not set +# CONFIG_EEPROM_LEGACY is not set +# CONFIG_EEPROM_MAX6875 is not set +# CONFIG_EEPROM_93CX6 is not set +# CONFIG_EEPROM_93XX46 is not set +# CONFIG_EEPROM_IDT_89HPESX is not set +# CONFIG_EEPROM_EE1004 is not set + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC & related support +# + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# VOP Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# + +# +# VOP Driver +# +# CONFIG_ECHO is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +# CONFIG_SCSI is not set +# CONFIG_ATA is not set +# CONFIG_MD is not set +# CONFIG_TARGET_CORE is not set +CONFIG_NETDEVICES=y +CONFIG_MII=y +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +# CONFIG_DUMMY is not set +# CONFIG_EQUALIZER is not set +# CONFIG_NET_TEAM is not set +# CONFIG_MACVLAN is not set +# CONFIG_VXLAN is not set +# CONFIG_GENEVE is not set +# CONFIG_GTP is not set +# CONFIG_MACSEC is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_TUN is not set +# CONFIG_TUN_VNET_CROSS_LE is not set +# CONFIG_VETH is not set +# CONFIG_NLMON is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +CONFIG_ETHERNET=y +CONFIG_NET_VENDOR_ALACRITECH=y +# CONFIG_ALTERA_TSE is not set +CONFIG_NET_VENDOR_AMAZON=y +CONFIG_NET_VENDOR_AQUANTIA=y +CONFIG_NET_VENDOR_ARC=y +CONFIG_NET_VENDOR_AURORA=y +# CONFIG_AURORA_NB8800 is not set +CONFIG_NET_VENDOR_BROADCOM=y +# CONFIG_B44 is not set +# CONFIG_BCMGENET is not set +# CONFIG_SYSTEMPORT is not set +CONFIG_NET_VENDOR_CADENCE=y +# CONFIG_MACB is not set +CONFIG_NET_VENDOR_CAVIUM=y +CONFIG_NET_VENDOR_CORTINA=y +# CONFIG_GEMINI_ETHERNET is not set +# CONFIG_DNET is not set +CONFIG_NET_VENDOR_EZCHIP=y +# CONFIG_EZCHIP_NPS_MANAGEMENT_ENET is not set +CONFIG_NET_VENDOR_HUAWEI=y +CONFIG_NET_VENDOR_I825XX=y +CONFIG_NET_VENDOR_INTEL=y +CONFIG_NET_VENDOR_LITEX=y +CONFIG_LITEX_LITEETH=y +CONFIG_NET_VENDOR_MARVELL=y +# CONFIG_MVMDIO is not set +CONFIG_NET_VENDOR_MELLANOX=y +# CONFIG_MLXSW_CORE is not set +# CONFIG_MLXFW is not set +CONFIG_NET_VENDOR_MICREL=y +# CONFIG_KS8851 is not set +# CONFIG_KS8851_MLL is not set +CONFIG_NET_VENDOR_MICROCHIP=y +# CONFIG_ENC28J60 is not set +# CONFIG_ENCX24J600 is not set +CONFIG_NET_VENDOR_MICROSEMI=y +CONFIG_NET_VENDOR_NATSEMI=y +CONFIG_NET_VENDOR_NETRONOME=y +CONFIG_NET_VENDOR_NI=y +# CONFIG_NI_XGE_MANAGEMENT_ENET is not set +CONFIG_NET_VENDOR_8390=y +# CONFIG_ETHOC is not set +CONFIG_NET_VENDOR_QUALCOMM=y +# CONFIG_QCA7000_SPI is not set +# CONFIG_QCOM_EMAC is not set +# CONFIG_RMNET is not set +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_ROCKER=y +CONFIG_NET_VENDOR_SAMSUNG=y +# CONFIG_SXGBE_ETH is not set +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_NET_VENDOR_SOLARFLARE=y +CONFIG_NET_VENDOR_SOCIONEXT=y +CONFIG_NET_VENDOR_STMICRO=y +# CONFIG_STMMAC_ETH is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +# CONFIG_DWC_XLGMAC is not set +CONFIG_NET_VENDOR_VIA=y +# CONFIG_VIA_RHINE is not set +# CONFIG_VIA_VELOCITY is not set +CONFIG_NET_VENDOR_WIZNET=y +# CONFIG_WIZNET_W5100 is not set +# CONFIG_WIZNET_W5300 is not set +CONFIG_MDIO_DEVICE=y +CONFIG_MDIO_BUS=y +# CONFIG_MDIO_BCM_UNIMAC is not set +# CONFIG_MDIO_BITBANG is not set +# CONFIG_MDIO_BUS_MUX_GPIO is not set +# CONFIG_MDIO_BUS_MUX_MMIOREG is not set +# CONFIG_MDIO_HISI_FEMAC is not set +# CONFIG_MDIO_MSCC_MIIM is not set +CONFIG_PHYLIB=y +CONFIG_SWPHY=y + +# +# MII PHY device drivers +# +# CONFIG_AMD_PHY is not set +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_ASIX_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_CORTINA_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_DP83822_PHY is not set +# CONFIG_DP83TC811_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +CONFIG_FIXED_PHY=y +# CONFIG_ICPLUS_PHY is not set +# CONFIG_INTEL_XWAY_PHY is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_MARVELL_10G_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_MICROCHIP_T1_PHY is not set +# CONFIG_MICROSEMI_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_RENESAS_PHY is not set +# CONFIG_ROCKCHIP_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_XILINX_GMII2RGMII is not set +# CONFIG_MICREL_KS8995MA is not set +# CONFIG_PPP is not set +# CONFIG_SLIP is not set + +# +# Host-side USB support is needed for USB Network Adapter support +# +CONFIG_WLAN=y +CONFIG_WLAN_VENDOR_ADMTEK=y +CONFIG_WLAN_VENDOR_ATH=y +# CONFIG_ATH_DEBUG is not set +CONFIG_WLAN_VENDOR_ATMEL=y +CONFIG_WLAN_VENDOR_BROADCOM=y +CONFIG_WLAN_VENDOR_CISCO=y +CONFIG_WLAN_VENDOR_INTEL=y +CONFIG_WLAN_VENDOR_INTERSIL=y +# CONFIG_HOSTAP is not set +CONFIG_WLAN_VENDOR_MARVELL=y +CONFIG_WLAN_VENDOR_MEDIATEK=y +CONFIG_WLAN_VENDOR_RALINK=y +CONFIG_WLAN_VENDOR_REALTEK=y +CONFIG_WLAN_VENDOR_RSI=y +CONFIG_WLAN_VENDOR_ST=y +CONFIG_WLAN_VENDOR_TI=y +CONFIG_WLAN_VENDOR_ZYDAS=y +CONFIG_WLAN_VENDOR_QUANTENNA=y + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_NET_FAILOVER is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_FF_MEMLESS=y +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +# CONFIG_INPUT_MOUSEDEV is not set +# CONFIG_INPUT_JOYDEV is not set +# CONFIG_INPUT_EVDEV is not set +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +# CONFIG_KEYBOARD_ADP5588 is not set +# CONFIG_KEYBOARD_ADP5589 is not set +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 is not set +# CONFIG_KEYBOARD_DLINK_DIR685 is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_GPIO is not set +# CONFIG_KEYBOARD_GPIO_POLLED is not set +# CONFIG_KEYBOARD_TCA6416 is not set +# CONFIG_KEYBOARD_TCA8418 is not set +# CONFIG_KEYBOARD_MATRIX is not set +# CONFIG_KEYBOARD_LM8333 is not set +# CONFIG_KEYBOARD_MAX7359 is not set +# CONFIG_KEYBOARD_MCS is not set +# CONFIG_KEYBOARD_MPR121 is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_OPENCORES is not set +# CONFIG_KEYBOARD_SAMSUNG is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_OMAP4 is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_CAP11XX is not set +# CONFIG_KEYBOARD_BCM is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_BYD=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y +CONFIG_MOUSE_PS2_CYPRESS=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_SENTELIC is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_PS2_FOCALTECH=y +CONFIG_MOUSE_PS2_SMBUS=y +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_CYAPA is not set +# CONFIG_MOUSE_ELAN_I2C is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_MOUSE_SYNAPTICS_I2C is not set +# CONFIG_MOUSE_SYNAPTICS_USB is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +# CONFIG_INPUT_MISC is not set +# CONFIG_RMI4_CORE is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set +# CONFIG_SERIO_ALTERA_PS2 is not set +# CONFIG_SERIO_PS2MULT is not set +# CONFIG_SERIO_ARC_PS2 is not set +# CONFIG_SERIO_APBPS2 is not set +# CONFIG_SERIO_OLPC_APSP is not set +# CONFIG_SERIO_GPIO_PS2 is not set +# CONFIG_USERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_TTY=y +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +CONFIG_LDISC_AUTOLOAD=y +CONFIG_DEVMEM=y +# CONFIG_DEVKMEM is not set + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_EARLYCON_RISCV_SBI=y +# CONFIG_SERIAL_MAX3100 is not set +# CONFIG_SERIAL_MAX310X is not set +# CONFIG_SERIAL_UARTLITE is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_SCCNXP is not set +# CONFIG_SERIAL_SC16IS7XX is not set +# CONFIG_SERIAL_ALTERA_JTAGUART is not set +# CONFIG_SERIAL_ALTERA_UART is not set +# CONFIG_SERIAL_IFX6X60 is not set +# CONFIG_SERIAL_XILINX_PS_UART is not set +# CONFIG_SERIAL_ARC is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +CONFIG_SERIAL_LITEUART=y +CONFIG_SERIAL_LITEUART_NR_PORTS=1 +CONFIG_SERIAL_LITEUART_CONSOLE=y +# CONFIG_SERIAL_DEV_BUS is not set +# CONFIG_HVC_RISCV_SBI is not set +# CONFIG_IPMI_HANDLER is not set +CONFIG_HW_RANDOM=y +# CONFIG_HW_RANDOM_TIMERIOMEM is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS is not set + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CHARDEV=y +# CONFIG_I2C_MUX is not set +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_ALGOBIT=y + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_CBUS_GPIO is not set +# CONFIG_I2C_DESIGNWARE_PLATFORM is not set +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO is not set +CONFIG_I2C_LITEX=y +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_RK3X is not set +# CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_TAOS_EVM is not set + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_SLAVE is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I3C is not set +CONFIG_SPI=y +CONFIG_SPI_MASTER=y +# CONFIG_SPI_MEM is not set + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +# CONFIG_SPI_AXI_SPI_ENGINE is not set +# CONFIG_SPI_BITBANG is not set +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_DESIGNWARE is not set +# CONFIG_SPI_GPIO is not set +CONFIG_SPI_LITESPI=y +# CONFIG_SPI_FSL_SPI is not set +# CONFIG_SPI_OC_TINY is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_MXIC is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPI_SLAVE is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set +# CONFIG_PPS is not set + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +# CONFIG_PINCTRL is not set +CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=512 +CONFIG_OF_GPIO=y +CONFIG_GPIO_SYSFS=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_CADENCE is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_FTGPIO010 is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +# CONFIG_GPIO_HLWD is not set +CONFIG_GPIO_LITEX=y +# CONFIG_GPIO_MB86S7X is not set +# CONFIG_GPIO_MOCKUP is not set +# CONFIG_GPIO_XILINX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_TPIC2810 is not set + +# +# MFD GPIO expanders +# + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX3191X is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set +# CONFIG_GPIO_PISOSR is not set +# CONFIG_GPIO_XRA1403 is not set +# CONFIG_W1 is not set +# CONFIG_POWER_AVS is not set +# CONFIG_POWER_RESET is not set +# CONFIG_POWER_SUPPLY is not set +CONFIG_HWMON=y +# CONFIG_HWMON_DEBUG_CHIP is not set + +# +# Native drivers +# +# CONFIG_SENSORS_AD7314 is not set +# CONFIG_SENSORS_AD7414 is not set +# CONFIG_SENSORS_AD7418 is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1029 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7310 is not set +# CONFIG_SENSORS_ADT7410 is not set +# CONFIG_SENSORS_ADT7411 is not set +# CONFIG_SENSORS_ADT7462 is not set +# CONFIG_SENSORS_ADT7470 is not set +# CONFIG_SENSORS_ADT7475 is not set +# CONFIG_SENSORS_ASC7621 is not set +# CONFIG_SENSORS_ASPEED is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS620 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_G760A is not set +# CONFIG_SENSORS_G762 is not set +# CONFIG_SENSORS_GPIO_FAN is not set +# CONFIG_SENSORS_HIH6130 is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_JC42 is not set +# CONFIG_SENSORS_POWR1220 is not set +# CONFIG_SENSORS_LINEAGE is not set +# CONFIG_SENSORS_LTC2945 is not set +# CONFIG_SENSORS_LTC2990 is not set +# CONFIG_SENSORS_LTC4151 is not set +# CONFIG_SENSORS_LTC4215 is not set +# CONFIG_SENSORS_LTC4222 is not set +# CONFIG_SENSORS_LTC4245 is not set +# CONFIG_SENSORS_LTC4260 is not set +# CONFIG_SENSORS_LTC4261 is not set +# CONFIG_SENSORS_MAX1111 is not set +# CONFIG_SENSORS_MAX16065 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX1668 is not set +# CONFIG_SENSORS_MAX197 is not set +# CONFIG_SENSORS_MAX31722 is not set +# CONFIG_SENSORS_MAX6621 is not set +# CONFIG_SENSORS_MAX6639 is not set +# CONFIG_SENSORS_MAX6642 is not set +# CONFIG_SENSORS_MAX6650 is not set +# CONFIG_SENSORS_MAX6697 is not set +# CONFIG_SENSORS_MAX31790 is not set +# CONFIG_SENSORS_MCP3021 is not set +# CONFIG_SENSORS_TC654 is not set +# CONFIG_SENSORS_ADCXX is not set +CONFIG_SENSORS_LITEX_HWMON=y +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM70 is not set +# CONFIG_SENSORS_LM73 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_LM93 is not set +# CONFIG_SENSORS_LM95234 is not set +# CONFIG_SENSORS_LM95241 is not set +# CONFIG_SENSORS_LM95245 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_NTC_THERMISTOR is not set +# CONFIG_SENSORS_NCT6683 is not set +# CONFIG_SENSORS_NCT6775 is not set +# CONFIG_SENSORS_NCT7802 is not set +# CONFIG_SENSORS_NCT7904 is not set +# CONFIG_SENSORS_NPCM7XX is not set +# CONFIG_SENSORS_OCC_P8_I2C is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_PMBUS is not set +# CONFIG_SENSORS_SHT15 is not set +# CONFIG_SENSORS_SHT21 is not set +# CONFIG_SENSORS_SHT3x is not set +# CONFIG_SENSORS_SHTC1 is not set +# CONFIG_SENSORS_DME1737 is not set +# CONFIG_SENSORS_EMC1403 is not set +# CONFIG_SENSORS_EMC2103 is not set +# CONFIG_SENSORS_EMC6W201 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_STTS751 is not set +# CONFIG_SENSORS_SMM665 is not set +# CONFIG_SENSORS_ADC128D818 is not set +# CONFIG_SENSORS_ADS1015 is not set +# CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_ADS7871 is not set +# CONFIG_SENSORS_AMC6821 is not set +# CONFIG_SENSORS_INA209 is not set +# CONFIG_SENSORS_INA2XX is not set +# CONFIG_SENSORS_INA3221 is not set +# CONFIG_SENSORS_TC74 is not set +# CONFIG_SENSORS_THMC50 is not set +# CONFIG_SENSORS_TMP102 is not set +# CONFIG_SENSORS_TMP103 is not set +# CONFIG_SENSORS_TMP108 is not set +# CONFIG_SENSORS_TMP401 is not set +# CONFIG_SENSORS_TMP421 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_W83773G is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83791D is not set +# CONFIG_SENSORS_W83792D is not set +# CONFIG_SENSORS_W83793 is not set +# CONFIG_SENSORS_W83795 is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83L786NG is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83627EHF is not set +# CONFIG_THERMAL is not set +# CONFIG_WATCHDOG is not set +CONFIG_SSB_POSSIBLE=y +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_ACT8945A is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_BD9571MWV is not set +# CONFIG_MFD_AXP20X_I2C is not set +# CONFIG_MFD_MADERA is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_DA9052_SPI is not set +# CONFIG_MFD_DA9052_I2C is not set +# CONFIG_MFD_DA9055 is not set +# CONFIG_MFD_DA9062 is not set +# CONFIG_MFD_DA9063 is not set +# CONFIG_MFD_DA9150 is not set +# CONFIG_MFD_MC13XXX_SPI is not set +# CONFIG_MFD_MC13XXX_I2C is not set +# CONFIG_MFD_HI6421_PMIC is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_MFD_KEMPLD is not set +# CONFIG_MFD_88PM800 is not set +# CONFIG_MFD_88PM805 is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_MAX14577 is not set +# CONFIG_MFD_MAX77620 is not set +# CONFIG_MFD_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_CPCAP is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON is not set +# CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_LP3943 is not set +# CONFIG_MFD_LP8788 is not set +# CONFIG_MFD_TI_LMU is not set +# CONFIG_MFD_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X is not set +# CONFIG_MFD_TPS65086 is not set +# CONFIG_MFD_TPS65090 is not set +# CONFIG_MFD_TPS65217 is not set +# CONFIG_MFD_TI_LP873X is not set +# CONFIG_MFD_TI_LP87565 is not set +# CONFIG_MFD_TPS65218 is not set +# CONFIG_MFD_TPS6586X is not set +# CONFIG_MFD_TPS65910 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_ARIZONA_SPI is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM831X_SPI is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set +# CONFIG_MFD_ROHM_BD718XX is not set +# CONFIG_REGULATOR is not set +# CONFIG_RC_CORE is not set +# CONFIG_MEDIA_SUPPORT is not set + +# +# Graphics support +# +# CONFIG_DRM is not set +# CONFIG_DRM_DP_CEC is not set + +# +# ACP (Audio CoProcessor) Configuration +# + +# +# AMD Library routines +# + +# +# Frame buffer Devices +# +CONFIG_FB_CMDLINE=y +CONFIG_FB_NOTIFY=y +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_IBM_GXT4500 is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +CONFIG_FB_SIMPLE=y +# CONFIG_FB_SSD1307 is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + +# +# Console display driver support +# +CONFIG_VGA_CONSOLE=y +# CONFIG_VGACON_SOFT_SCROLLBACK is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_DUMMY_CONSOLE_COLUMNS=80 +CONFIG_DUMMY_CONSOLE_ROWS=25 +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set +CONFIG_LOGO=y +CONFIG_LOGO_LINUX_MONO=y +CONFIG_LOGO_LINUX_VGA16=y +CONFIG_LOGO_LINUX_CLUT224=y +# CONFIG_SOUND is not set + +# +# HID support +# +CONFIG_HID=y +# CONFIG_HID_BATTERY_STRENGTH is not set +# CONFIG_HIDRAW is not set +# CONFIG_UHID is not set +CONFIG_HID_GENERIC=y + +# +# Special HID drivers +# +CONFIG_HID_A4TECH=y +# CONFIG_HID_ACRUX is not set +CONFIG_HID_APPLE=y +# CONFIG_HID_AUREAL is not set +CONFIG_HID_BELKIN=y +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +# CONFIG_HID_COUGAR is not set +# CONFIG_HID_CMEDIA is not set +CONFIG_HID_CYPRESS=y +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF is not set +# CONFIG_HID_ELECOM is not set +CONFIG_HID_EZKEY=y +# CONFIG_HID_GEMBIRD is not set +# CONFIG_HID_GFRM is not set +# CONFIG_HID_KEYTOUCH is not set +# CONFIG_HID_KYE is not set +# CONFIG_HID_WALTOP is not set +# CONFIG_HID_GYRATION is not set +# CONFIG_HID_ICADE is not set +CONFIG_HID_ITE=y +# CONFIG_HID_JABRA is not set +# CONFIG_HID_TWINHAN is not set +CONFIG_HID_KENSINGTON=y +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LENOVO is not set +CONFIG_HID_LOGITECH=y +# CONFIG_HID_LOGITECH_HIDPP is not set +# CONFIG_LOGITECH_FF is not set +# CONFIG_LOGIRUMBLEPAD2_FF is not set +# CONFIG_LOGIG940_FF is not set +# CONFIG_LOGIWHEELS_FF is not set +# CONFIG_HID_MAGICMOUSE is not set +# CONFIG_HID_MAYFLASH is not set +CONFIG_HID_REDRAGON=y +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +# CONFIG_HID_MULTITOUCH is not set +# CONFIG_HID_NTI is not set +# CONFIG_HID_ORTEK is not set +# CONFIG_HID_PANTHERLORD is not set +# CONFIG_HID_PETALYNX is not set +# CONFIG_HID_PICOLCD is not set +# CONFIG_HID_PLANTRONICS is not set +# CONFIG_HID_PRIMAX is not set +# CONFIG_HID_SAITEK is not set +# CONFIG_HID_SAMSUNG is not set +# CONFIG_HID_SPEEDLINK is not set +# CONFIG_HID_STEAM is not set +# CONFIG_HID_STEELSERIES is not set +# CONFIG_HID_SUNPLUS is not set +# CONFIG_HID_RMI is not set +# CONFIG_HID_GREENASIA is not set +# CONFIG_HID_SMARTJOYPLUS is not set +# CONFIG_HID_TIVO is not set +# CONFIG_HID_TOPSEED is not set +# CONFIG_HID_THRUSTMASTER is not set +# CONFIG_HID_UDRAW_PS3 is not set +# CONFIG_HID_XINMO is not set +# CONFIG_HID_ZEROPLUS is not set +# CONFIG_HID_ZYDACRON is not set +# CONFIG_HID_SENSOR_HUB is not set +# CONFIG_HID_ALPS is not set + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_ARCH_HAS_HCD=y +# CONFIG_USB is not set + +# +# USB port drivers +# + +# +# USB Physical Layer drivers +# +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_GADGET is not set +# CONFIG_TYPEC is not set +# CONFIG_USB_ROLE_SWITCH is not set +# CONFIG_USB_ULPI_BUS is not set +# CONFIG_UWB is not set +# CONFIG_MMC is not set +# CONFIG_MEMSTICK is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set + +# +# DMABUF options +# +# CONFIG_SYNC_FILE is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VIRT_DRIVERS is not set +CONFIG_VIRTIO_MENU=y +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +# CONFIG_STAGING is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_CLK_HSDK is not set +# CONFIG_COMMON_CLK_MAX9485 is not set +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI544 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE706 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_COMMON_CLK_CS2000_CP is not set +# CONFIG_COMMON_CLK_VC5 is not set +# CONFIG_HWSPINLOCK is not set + +# +# Clock Source drivers +# +CONFIG_TIMER_OF=y +CONFIG_TIMER_PROBE=y +# CONFIG_ARM_TIMER_SP804 is not set +CONFIG_RISCV_TIMER=y +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# + +# +# Remoteproc drivers +# +# CONFIG_REMOTEPROC is not set + +# +# Rpmsg drivers +# +# CONFIG_RPMSG_VIRTIO is not set +# CONFIG_SOUNDWIRE is not set + +# +# SOC (System On Chip) specific Drivers +# + +# +# Amlogic SoC drivers +# + +# +# Broadcom SoC drivers +# + +# +# NXP/Freescale QorIQ SoC drivers +# + +# +# i.MX SoC drivers +# + +# +# Qualcomm SoC drivers +# +# CONFIG_SOC_TI is not set + +# +# Xilinx SoC drivers +# +# CONFIG_XILINX_VCU is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_PWM is not set + +# +# IRQ chip support +# +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC_MAX_NR=1 +CONFIG_SIFIVE_PLIC=y +# CONFIG_IPACK_BUS is not set +# CONFIG_RESET_CONTROLLER is not set +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_PHY_CADENCE_DP is not set +# CONFIG_PHY_FSL_IMX8MQ_USB is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_PHY_MAPPHONE_MDM6600 is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set +# CONFIG_RAS is not set + +# +# Android +# +# CONFIG_ANDROID is not set +# CONFIG_LIBNVDIMM is not set +# CONFIG_DAX is not set +# CONFIG_NVMEM is not set + +# +# HW tracing support +# +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set +# CONFIG_FPGA is not set +# CONFIG_FSI is not set +# CONFIG_SIOX is not set +# CONFIG_SLIMBUS is not set + +# +# File systems +# +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set +# CONFIG_EXT4_FS is not set +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set +# CONFIG_F2FS_FS is not set +# CONFIG_FS_DAX is not set +CONFIG_EXPORTFS=y +# CONFIG_EXPORTFS_BLOCK_OPS is not set +CONFIG_FILE_LOCKING=y +CONFIG_MANDATORY_FILE_LOCKING=y +# CONFIG_FS_ENCRYPTION is not set +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_AUTOFS_FS is not set +# CONFIG_FUSE_FS is not set +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +# CONFIG_MSDOS_FS is not set +# CONFIG_VFAT_FS is not set +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +# CONFIG_PROC_KCORE is not set +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +# CONFIG_PROC_CHILDREN is not set +CONFIG_KERNFS=y +CONFIG_SYSFS=y +# CONFIG_TMPFS is not set +# CONFIG_CONFIGFS_FS is not set +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ORANGEFS_FS is not set +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +# CONFIG_CRAMFS is not set +# CONFIG_SQUASHFS is not set +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +# CONFIG_NFS_FS is not set +# CONFIG_NFSD is not set +# CONFIG_CEPH_FS is not set +# CONFIG_CIFS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +# CONFIG_NLS is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +# CONFIG_HARDENED_USERCOPY is not set +# CONFIG_STATIC_USERMODEHELPER is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=y +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=y +CONFIG_CRYPTO_AKCIPHER2=y +CONFIG_CRYPTO_KPP2=y +CONFIG_CRYPTO_ACOMP2=y +# CONFIG_CRYPTO_RSA is not set +# CONFIG_CRYPTO_DH is not set +# CONFIG_CRYPTO_ECDH is not set +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +# CONFIG_CRYPTO_GF128MUL is not set +CONFIG_CRYPTO_NULL=y +CONFIG_CRYPTO_NULL2=y +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set + +# +# Authenticated Encryption with Associated Data +# +# CONFIG_CRYPTO_CCM is not set +# CONFIG_CRYPTO_GCM is not set +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +# CONFIG_CRYPTO_AEGIS128 is not set +# CONFIG_CRYPTO_AEGIS128L is not set +# CONFIG_CRYPTO_AEGIS256 is not set +# CONFIG_CRYPTO_MORUS640 is not set +# CONFIG_CRYPTO_MORUS1280 is not set +# CONFIG_CRYPTO_SEQIV is not set +CONFIG_CRYPTO_ECHAINIV=y + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +# CONFIG_CRYPTO_CFB is not set +# CONFIG_CRYPTO_CTR is not set +# CONFIG_CRYPTO_CTS is not set +# CONFIG_CRYPTO_ECB is not set +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_OFB is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set +# CONFIG_CRYPTO_ADIANTUM is not set + +# +# Hash modes +# +# CONFIG_CRYPTO_CMAC is not set +CONFIG_CRYPTO_HMAC=y +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +# CONFIG_CRYPTO_CRC32C is not set +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +# CONFIG_CRYPTO_GHASH is not set +# CONFIG_CRYPTO_POLY1305 is not set +# CONFIG_CRYPTO_MD4 is not set +# CONFIG_CRYPTO_MD5 is not set +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +# CONFIG_CRYPTO_SHA1 is not set +CONFIG_CRYPTO_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_SHA3 is not set +# CONFIG_CRYPTO_SM3 is not set +# CONFIG_CRYPTO_STREEBOG is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_AES_TI is not set +# CONFIG_CRYPTO_ANUBIS is not set +# CONFIG_CRYPTO_ARC4 is not set +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES is not set +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_SALSA20 is not set +# CONFIG_CRYPTO_CHACHA20 is not set +# CONFIG_CRYPTO_SEED is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_SM4 is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +# CONFIG_CRYPTO_DEFLATE is not set +# CONFIG_CRYPTO_LZO is not set +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set +# CONFIG_CRYPTO_ZSTD is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=y +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +CONFIG_CRYPTO_DRBG=y +CONFIG_CRYPTO_JITTERENTROPY=y +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_CCREE is not set + +# +# Certificates for signature checking +# + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +# CONFIG_CRC_CCITT is not set +# CONFIG_CRC16 is not set +# CONFIG_CRC_T10DIF is not set +# CONFIG_CRC_ITU_T is not set +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC64 is not set +# CONFIG_CRC4 is not set +# CONFIG_CRC7 is not set +# CONFIG_LIBCRC32C is not set +# CONFIG_CRC8 is not set +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_LZ4_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_LZ4=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SGL_ALLOC=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_GENERIC_ATOMIC64=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +# CONFIG_IRQ_POLL is not set +CONFIG_LIBFDT=y +CONFIG_FONT_SUPPORT=y +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y +CONFIG_SBITMAP=y +# CONFIG_STRING_SELFTEST is not set +CONFIG_GENERIC_LIB_ASHLDI3=y +CONFIG_GENERIC_LIB_ASHRDI3=y +CONFIG_GENERIC_LIB_LSHRDI3=y +CONFIG_GENERIC_LIB_UCMPDI2=y + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +CONFIG_PRINTK_TIME=y +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 +CONFIG_CONSOLE_LOGLEVEL_QUIET=4 +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 + +# +# Compile-time checks and compiler options +# +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_FRAME_POINTER=y +# CONFIG_MAGIC_SYSRQ is not set +# CONFIG_DEBUG_KERNEL is not set + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_PAGE_POISONING is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_CC_HAS_KASAN_GENERIC=y +CONFIG_KASAN_STACK=1 +CONFIG_CC_HAS_SANCOV_TRACE_PC=y + +# +# Debug Lockups and Hangs +# +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_DEBUG_TIMEKEEPING is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +# CONFIG_WW_MUTEX_SELFTEST is not set +# CONFIG_STACKTRACE is not set +# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set +CONFIG_DEBUG_BUGVERBOSE=y + +# +# RCU Debugging +# +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_TRACING_SUPPORT=y +# CONFIG_FTRACE is not set +# CONFIG_DMA_API_DEBUG is not set +CONFIG_RUNTIME_TESTING_MENU=y +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_BITMAP is not set +# CONFIG_TEST_BITFIELD is not set +# CONFIG_TEST_UUID is not set +# CONFIG_TEST_XARRAY is not set +# CONFIG_TEST_OVERFLOW is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_TEST_HASH is not set +# CONFIG_TEST_IDA is not set +# CONFIG_FIND_BIT_BENCHMARK is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_SYSCTL is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_TEST_MEMCAT_P is not set +# CONFIG_MEMTEST is not set +# CONFIG_BUG_ON_DATA_CORRUPTION is not set +# CONFIG_SAMPLES is not set +# CONFIG_UBSAN is not set diff --git a/PATCH/linux-fstrellis.config b/PATCH/linux-fstrellis.config new file mode 100644 index 0000000..69e5b77 --- /dev/null +++ b/PATCH/linux-fstrellis.config @@ -0,0 +1,82 @@ +CONFIG_SECTION_MISMATCH_WARN_ONLY=y + +CONFIG_LOCALVERSION="-1fstrellis" + +# Architecture +CONFIG_ARCH_DEFCONFIG="arch/riscv/configs/defconfig" +CONFIG_ARCH_RV32I=y +CONFIG_RISCV_ISA_M=y +CONFIG_RISCV_ISA_A=y +CONFIG_RISCV_ISA_C=n +CONFIG_SIFIVE_PLIC=y +CONFIG_FPU=n +CONFIG_SMP=n + +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y + +CONFIG_NET=y +CONFIG_INET=y +CONFIG_NETDEVICES=y +CONFIG_NET_VENDOR_LITEX=y +CONFIG_LITEX_LITEETH=y + +CONFIG_PRINTK_TIME=y + +CONFIG_SERIAL_EARLYCON_RISCV_SBI=y +CONFIG_SERIAL_LITEUART=y +CONFIG_SERIAL_LITEUART_CONSOLE=y + +CONFIG_GPIO_SYSFS=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_LITEX=y + +CONFIG_SPI=y +CONFIG_SPI_LITESPI=y +CONFIG_SPI_SPIDEV=y + +CONFIG_I2C=y +CONFIG_I2C_LITEX=y +CONFIG_I2C_CHARDEV=y + +CONFIG_HWMON=y +CONFIG_SENSORS_LITEX_HWMON=y + +CONFIG_FB=y +CONFIG_FB_SIMPLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_LOGO=y + +CONFIG_BLK_DEV_NBD=y + +CONFIG_BUILD_BIN2C=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y + +# ext4 +CONFIG_FS_IOMAP=y +CONFIG_EXT3_FS=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_USE_FOR_EXT2=y +CONFIG_JBD2=y +CONFIG_FS_MBCACHE=y +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRC16=y + +# mmc +CONFIG_MMC=y +CONFIG_PWRSEQ_EMMC=y +CONFIG_PWRSEQ_SIMPLE=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_SPI=y +CONFIG_CRC_ITU_T=y +CONFIG_CRC7=y + diff --git a/PATCH/linux-fstrellis.config-OK b/PATCH/linux-fstrellis.config-OK new file mode 100644 index 0000000..5e66770 --- /dev/null +++ b/PATCH/linux-fstrellis.config-OK @@ -0,0 +1,72 @@ +CONFIG_SECTION_MISMATCH_WARN_ONLY=y + +CONFIG_LOCALVERSION="-0fstrellis" + +# Architecture +CONFIG_ARCH_DEFCONFIG="arch/riscv/configs/defconfig" +CONFIG_ARCH_RV32I=y +CONFIG_RISCV_ISA_M=y +CONFIG_RISCV_ISA_A=y +CONFIG_RISCV_ISA_C=n +CONFIG_SIFIVE_PLIC=y +CONFIG_FPU=n +CONFIG_SMP=n + +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y + +CONFIG_NET=y +CONFIG_INET=y +CONFIG_NETDEVICES=y +CONFIG_NET_VENDOR_LITEX=y +CONFIG_LITEX_LITEETH=y + +CONFIG_PRINTK_TIME=y + +CONFIG_SERIAL_EARLYCON_RISCV_SBI=y +CONFIG_SERIAL_LITEUART=y +CONFIG_SERIAL_LITEUART_CONSOLE=y + +CONFIG_GPIO_SYSFS=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_LITEX=y + +CONFIG_SPI=y +CONFIG_SPI_LITESPI=y +CONFIG_SPI_SPIDEV=y + +CONFIG_I2C=y +CONFIG_I2C_LITEX=y +CONFIG_I2C_CHARDEV=y + +CONFIG_HWMON=y +CONFIG_SENSORS_LITEX_HWMON=y + +CONFIG_FB=y +CONFIG_FB_SIMPLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_LOGO=y + +CONFIG_BLK_DEV_NBD=y + +CONFIG_BUILD_BIN2C=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y + +# ext4 +CONFIG_FS_IOMAP=y +CONFIG_EXT3_FS=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_USE_FOR_EXT2=y +CONFIG_JBD2=y +CONFIG_FS_MBCACHE=y +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRC16=y + diff --git a/PATCH/linux-fstrellis.config-bad-ramdisk b/PATCH/linux-fstrellis.config-bad-ramdisk new file mode 100644 index 0000000..2f6e80f --- /dev/null +++ b/PATCH/linux-fstrellis.config-bad-ramdisk @@ -0,0 +1,64 @@ +CONFIG_SECTION_MISMATCH_WARN_ONLY=y + +CONFIG_LOCALVERSION="-0fstrellis" + +# Architecture +CONFIG_ARCH_DEFCONFIG="arch/riscv/configs/defconfig" +CONFIG_ARCH_RV32I=y +CONFIG_RISCV_ISA_M=y +CONFIG_RISCV_ISA_A=y +CONFIG_RISCV_ISA_C=n +CONFIG_SIFIVE_PLIC=y +CONFIG_FPU=n +CONFIG_SMP=n + +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y + +CONFIG_NET=y +CONFIG_INET=y +CONFIG_NETDEVICES=y +CONFIG_NET_VENDOR_LITEX=y +CONFIG_LITEX_LITEETH=y + +CONFIG_PRINTK_TIME=y + +CONFIG_SERIAL_EARLYCON_RISCV_SBI=y +CONFIG_SERIAL_LITEUART=y +CONFIG_SERIAL_LITEUART_CONSOLE=y + +CONFIG_GPIO_SYSFS=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_LITEX=y + +CONFIG_SPI=y +CONFIG_SPI_LITESPI=y +CONFIG_SPI_SPIDEV=y + +CONFIG_I2C=y +CONFIG_I2C_LITEX=y +CONFIG_I2C_CHARDEV=y + +CONFIG_HWMON=y +CONFIG_SENSORS_LITEX_HWMON=y + +CONFIG_FB=y +CONFIG_FB_SIMPLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_LOGO=y + +CONFIG_BUILD_BIN2C=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y + +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=2 +CONFIG_BLK_DEV_RAM_SIZE=65536 + diff --git a/PATCH/linux-fstrellis.config-good b/PATCH/linux-fstrellis.config-good new file mode 100644 index 0000000..4fc368e --- /dev/null +++ b/PATCH/linux-fstrellis.config-good @@ -0,0 +1,55 @@ +CONFIG_SECTION_MISMATCH_WARN_ONLY=y + +CONFIG_LOCALVERSION="-0fstrellis" + +# Architecture +CONFIG_ARCH_DEFCONFIG="arch/riscv/configs/defconfig" +CONFIG_ARCH_RV32I=y +CONFIG_RISCV_ISA_M=y +CONFIG_RISCV_ISA_A=y +CONFIG_RISCV_ISA_C=n +CONFIG_SIFIVE_PLIC=y +CONFIG_FPU=n +CONFIG_SMP=n + +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y + +CONFIG_NET=y +CONFIG_INET=y +CONFIG_NETDEVICES=y +CONFIG_NET_VENDOR_LITEX=y +CONFIG_LITEX_LITEETH=y + +CONFIG_PRINTK_TIME=y + +CONFIG_SERIAL_EARLYCON_RISCV_SBI=y +CONFIG_SERIAL_LITEUART=y +CONFIG_SERIAL_LITEUART_CONSOLE=y + +CONFIG_GPIO_SYSFS=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_LITEX=y + +CONFIG_SPI=y +CONFIG_SPI_LITESPI=y +CONFIG_SPI_SPIDEV=y + +CONFIG_I2C=y +CONFIG_I2C_LITEX=y +CONFIG_I2C_CHARDEV=y + +CONFIG_HWMON=y +CONFIG_SENSORS_LITEX_HWMON=y + +CONFIG_FB=y +CONFIG_FB_SIMPLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_LOGO=y diff --git a/PATCH/linux-fstrellis.config-lots b/PATCH/linux-fstrellis.config-lots new file mode 100644 index 0000000..58b7d4d --- /dev/null +++ b/PATCH/linux-fstrellis.config-lots @@ -0,0 +1,2969 @@ +# +# Automatically generated file; DO NOT EDIT. +# Buildroot 2019.11-git-01152-g125547e7b5 Configuration +# +BR2_HAVE_DOT_CONFIG=y +BR2_EXTERNAL_LITEX_VEXRISCV_PATH="/home/jebba/devel/FPGA/litex/linux-on-litex-vexriscv/buildroot" +BR2_HOST_GCC_AT_LEAST_4_5=y +BR2_HOST_GCC_AT_LEAST_4_6=y +BR2_HOST_GCC_AT_LEAST_4_7=y +BR2_HOST_GCC_AT_LEAST_4_8=y +BR2_HOST_GCC_AT_LEAST_4_9=y +BR2_HOST_GCC_AT_LEAST_5=y +BR2_HOST_GCC_AT_LEAST_6=y +BR2_HOST_GCC_AT_LEAST_7=y +BR2_HOST_GCC_AT_LEAST_8=y + +# +# Target options +# +BR2_ARCH_HAS_MMU_MANDATORY=y +# BR2_arcle is not set +# BR2_arceb is not set +# BR2_arm is not set +# BR2_armeb is not set +# BR2_aarch64 is not set +# BR2_aarch64_be is not set +# BR2_csky is not set +# BR2_i386 is not set +# BR2_m68k is not set +# BR2_microblazeel is not set +# BR2_microblazebe is not set +# BR2_mips is not set +# BR2_mipsel is not set +# BR2_mips64 is not set +# BR2_mips64el is not set +# BR2_nds32 is not set +# BR2_nios2 is not set +# BR2_or1k is not set +# BR2_powerpc is not set +# BR2_powerpc64 is not set +# BR2_powerpc64le is not set +BR2_riscv=y +# BR2_sh is not set +# BR2_sparc is not set +# BR2_sparc64 is not set +# BR2_x86_64 is not set +# BR2_xtensa is not set +BR2_ARCH_HAS_TOOLCHAIN_BUILDROOT=y +BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8=y +BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9=y +BR2_ARCH_NEEDS_GCC_AT_LEAST_5=y +BR2_ARCH_NEEDS_GCC_AT_LEAST_6=y +BR2_ARCH_NEEDS_GCC_AT_LEAST_7=y +BR2_ARCH="riscv32" +BR2_ENDIAN="LITTLE" +BR2_GCC_TARGET_ABI="ilp32" +BR2_BINFMT_SUPPORTS_SHARED=y +BR2_READELF_ARCH_NAME="RISC-V" +BR2_BINFMT_ELF=y +BR2_RISCV_ISA_RVI=y +BR2_RISCV_ISA_RVM=y +BR2_RISCV_ISA_RVA=y +# BR2_riscv_g is not set +BR2_riscv_custom=y + +# +# Instruction Set Extensions +# +BR2_RISCV_ISA_CUSTOM_RVM=y +BR2_RISCV_ISA_CUSTOM_RVA=y +# BR2_RISCV_ISA_CUSTOM_RVF is not set +# BR2_RISCV_ISA_CUSTOM_RVC is not set +BR2_RISCV_32=y +# BR2_RISCV_64 is not set +BR2_RISCV_ABI_ILP32=y + +# +# Build options +# + +# +# Commands +# +BR2_WGET="wget --passive-ftp -nd -t 3" +BR2_SVN="svn --non-interactive" +BR2_BZR="bzr" +BR2_GIT="git" +BR2_CVS="cvs" +BR2_LOCALFILES="cp" +BR2_SCP="scp" +BR2_HG="hg" +BR2_ZCAT="gzip -d -c" +BR2_BZCAT="bzcat" +BR2_XZCAT="xzcat" +BR2_LZCAT="lzip -d -c" +BR2_TAR_OPTIONS="" +BR2_DEFCONFIG="/home/jebba/devel/FPGA/litex/linux-on-litex-vexriscv/buildroot/configs/litex_vexriscv_fstrellis_defconfig" +BR2_DL_DIR="$(TOPDIR)/dl" +BR2_HOST_DIR="$(BASE_DIR)/host" + +# +# Mirrors and Download locations +# +BR2_PRIMARY_SITE="" +BR2_BACKUP_SITE="http://sources.buildroot.net" +BR2_KERNEL_MIRROR="https://cdn.kernel.org/pub" +BR2_GNU_MIRROR="http://ftpmirror.gnu.org" +BR2_LUAROCKS_MIRROR="http://rocks.moonscript.org" +BR2_CPAN_MIRROR="http://cpan.metacpan.org" +BR2_JLEVEL=0 +# BR2_CCACHE is not set +# BR2_ENABLE_DEBUG is not set +BR2_STRIP_strip=y +BR2_STRIP_EXCLUDE_FILES="" +BR2_STRIP_EXCLUDE_DIRS="" +# BR2_OPTIMIZE_0 is not set +# BR2_OPTIMIZE_1 is not set +# BR2_OPTIMIZE_2 is not set +# BR2_OPTIMIZE_3 is not set +# BR2_OPTIMIZE_G is not set +BR2_OPTIMIZE_S=y +# BR2_OPTIMIZE_FAST is not set +# BR2_STATIC_LIBS is not set +BR2_SHARED_LIBS=y +# BR2_SHARED_STATIC_LIBS is not set +BR2_PACKAGE_OVERRIDE_FILE="$(CONFIG_DIR)/local.mk" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/patches" + +# +# Advanced +# +BR2_COMPILER_PARANOID_UNSAFE_PATH=y +# BR2_FORCE_HOST_BUILD is not set +# BR2_REPRODUCIBLE is not set + +# +# Security Hardening Options +# +# BR2_PIC_PIE is not set +BR2_SSP_NONE=y +# BR2_SSP_REGULAR is not set +# BR2_SSP_STRONG is not set +# BR2_SSP_ALL is not set +BR2_RELRO_NONE=y +# BR2_RELRO_PARTIAL is not set +# BR2_RELRO_FULL is not set +BR2_FORTIFY_SOURCE_NONE=y +# BR2_FORTIFY_SOURCE_1 is not set +# BR2_FORTIFY_SOURCE_2 is not set + +# +# Toolchain +# +BR2_TOOLCHAIN=y +BR2_TOOLCHAIN_USES_GLIBC=y +BR2_TOOLCHAIN_BUILDROOT=y +# BR2_TOOLCHAIN_EXTERNAL is not set + +# +# Toolchain Buildroot Options +# +BR2_TOOLCHAIN_BUILDROOT_VENDOR="buildroot" +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y +BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc" + +# +# Kernel Header Options +# +BR2_KERNEL_HEADERS_AS_KERNEL=y +# BR2_KERNEL_HEADERS_4_19 is not set +# BR2_KERNEL_HEADERS_5_3 is not set +# BR2_KERNEL_HEADERS_VERSION is not set +# BR2_KERNEL_HEADERS_CUSTOM_TARBALL is not set +# BR2_KERNEL_HEADERS_CUSTOM_GIT is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_3 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_2 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_1 is not set +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_20 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_17 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_12 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_10 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_7 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_6 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_5 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_3 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_2 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_0 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_19 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_17 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_16 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_15 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_14 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_13 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_12 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_11 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_9 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_8 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_7 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_6 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_5 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_4 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_3 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_2 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_1 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_0 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_REALLY_OLD is not set +BR2_PACKAGE_LINUX_HEADERS=y +BR2_PACKAGE_GLIBC=y + +# +# Binutils Options +# +BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI=y +# BR2_BINUTILS_VERSION_2_30_X is not set +BR2_BINUTILS_VERSION_2_31_X=y +# BR2_BINUTILS_VERSION_2_32_X is not set +BR2_BINUTILS_VERSION="2.31.1" +BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="" + +# +# GCC Options +# +# BR2_GCC_VERSION_7_X is not set +BR2_GCC_VERSION_8_X=y +# BR2_GCC_VERSION_9_X is not set +BR2_GCC_VERSION="8.3.0" +BR2_EXTRA_GCC_CONFIG_OPTIONS="" +BR2_TOOLCHAIN_BUILDROOT_CXX=y +# BR2_TOOLCHAIN_BUILDROOT_FORTRAN is not set +# BR2_GCC_ENABLE_LTO is not set +# BR2_GCC_ENABLE_OPENMP is not set +# BR2_GCC_ENABLE_GRAPHITE is not set + +# +# Toolchain Generic Options +# +BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS=y +BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK=y +BR2_TOOLCHAIN_HAS_NATIVE_RPC=y +BR2_USE_WCHAR=y +BR2_ENABLE_LOCALE=y +BR2_INSTALL_LIBSTDCPP=y +BR2_TOOLCHAIN_HAS_THREADS=y +BR2_TOOLCHAIN_HAS_THREADS_DEBUG=y +BR2_TOOLCHAIN_HAS_THREADS_NPTL=y +BR2_TOOLCHAIN_HAS_SSP=y +BR2_TOOLCHAIN_HAS_UCONTEXT=y +BR2_TOOLCHAIN_SUPPORTS_PIE=y +# BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY is not set +BR2_TOOLCHAIN_HAS_FULL_GETTEXT=y +BR2_USE_MMU=y +BR2_TARGET_OPTIMIZATION="" +BR2_TARGET_LDFLAGS="" +# BR2_ECLIPSE_REGISTER is not set +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST="5.0" +BR2_TOOLCHAIN_GCC_AT_LEAST_4_3=y +BR2_TOOLCHAIN_GCC_AT_LEAST_4_4=y +BR2_TOOLCHAIN_GCC_AT_LEAST_4_5=y +BR2_TOOLCHAIN_GCC_AT_LEAST_4_6=y +BR2_TOOLCHAIN_GCC_AT_LEAST_4_7=y +BR2_TOOLCHAIN_GCC_AT_LEAST_4_8=y +BR2_TOOLCHAIN_GCC_AT_LEAST_4_9=y +BR2_TOOLCHAIN_GCC_AT_LEAST_5=y +BR2_TOOLCHAIN_GCC_AT_LEAST_6=y +BR2_TOOLCHAIN_GCC_AT_LEAST_7=y +BR2_TOOLCHAIN_GCC_AT_LEAST_8=y +BR2_TOOLCHAIN_GCC_AT_LEAST="8" +BR2_TOOLCHAIN_HAS_MNAN_OPTION=y +BR2_TOOLCHAIN_HAS_SYNC_1=y +BR2_TOOLCHAIN_HAS_SYNC_2=y +BR2_TOOLCHAIN_HAS_SYNC_4=y +BR2_TOOLCHAIN_HAS_LIBATOMIC=y +BR2_TOOLCHAIN_HAS_ATOMIC=y + +# +# System configuration +# +BR2_ROOTFS_SKELETON_DEFAULT=y +# BR2_ROOTFS_SKELETON_CUSTOM is not set +BR2_TARGET_GENERIC_HOSTNAME="trellisboard" +BR2_TARGET_GENERIC_ISSUE="Welcome to TrellisBoard" +BR2_TARGET_GENERIC_PASSWD_SHA256=y +# BR2_TARGET_GENERIC_PASSWD_SHA512 is not set +BR2_TARGET_GENERIC_PASSWD_METHOD="sha-256" +BR2_INIT_BUSYBOX=y +# BR2_INIT_SYSV is not set +# BR2_INIT_OPENRC is not set +# BR2_INIT_SYSTEMD is not set +# BR2_INIT_NONE is not set +# BR2_ROOTFS_DEVICE_CREATION_STATIC is not set +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y +# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV is not set +# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is not set +BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt" +# BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES is not set +# BR2_ROOTFS_MERGED_USR is not set +BR2_TARGET_ENABLE_ROOT_LOGIN=y +BR2_TARGET_GENERIC_ROOT_PASSWD="password" +BR2_SYSTEM_BIN_SH_BUSYBOX=y + +# +# bash, dash, mksh, zsh need BR2_PACKAGE_BUSYBOX_SHOW_OTHERS +# +# BR2_SYSTEM_BIN_SH_NONE is not set +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="console" +BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP=y +# BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600 is not set +# BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200 is not set +# BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400 is not set +# BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600 is not set +# BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 is not set +BR2_TARGET_GENERIC_GETTY_BAUDRATE="0" +BR2_TARGET_GENERIC_GETTY_TERM="vt100" +BR2_TARGET_GENERIC_GETTY_OPTIONS="" +BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW=y +BR2_SYSTEM_DHCP="" +BR2_SYSTEM_DEFAULT_PATH="/bin:/sbin:/usr/bin:/usr/sbin" +BR2_ENABLE_LOCALE_PURGE=y +BR2_ENABLE_LOCALE_WHITELIST="C en_US" +BR2_GENERATE_LOCALE="" +# BR2_SYSTEM_ENABLE_NLS is not set +# BR2_TARGET_TZ_INFO is not set +BR2_ROOTFS_USERS_TABLES="" +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/rootfs_overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="" +BR2_ROOTFS_POST_FAKEROOT_SCRIPT="" +BR2_ROOTFS_POST_IMAGE_SCRIPT="" + +# +# Kernel +# +BR2_LINUX_KERNEL=y +# BR2_LINUX_KERNEL_LATEST_VERSION is not set +# BR2_LINUX_KERNEL_LATEST_CIP_VERSION is not set +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +# BR2_LINUX_KERNEL_CUSTOM_TARBALL is not set +# BR2_LINUX_KERNEL_CUSTOM_GIT is not set +# BR2_LINUX_KERNEL_CUSTOM_HG is not set +# BR2_LINUX_KERNEL_CUSTOM_SVN is not set +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.13" +BR2_LINUX_KERNEL_VERSION="5.0.13" +BR2_LINUX_KERNEL_PATCH="" +# BR2_LINUX_KERNEL_USE_DEFCONFIG is not set +# BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG is not set +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/linux-fstrellis.config" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="" +BR2_LINUX_KERNEL_CUSTOM_LOGO_PATH="" +BR2_LINUX_KERNEL_IMAGE=y +# BR2_LINUX_KERNEL_VMLINUX is not set +# BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM is not set +BR2_LINUX_KERNEL_GZIP=y +# BR2_LINUX_KERNEL_LZ4 is not set +# BR2_LINUX_KERNEL_LZMA is not set +# BR2_LINUX_KERNEL_LZO is not set +# BR2_LINUX_KERNEL_XZ is not set +# BR2_LINUX_KERNEL_DTS_SUPPORT is not set +# BR2_LINUX_KERNEL_INSTALL_TARGET is not set +# BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL is not set +# BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF is not set + +# +# Linux Kernel Extensions +# +# BR2_LINUX_KERNEL_EXT_RTAI is not set +# BR2_LINUX_KERNEL_EXT_EV3DEV_LINUX_DRIVERS is not set +# BR2_LINUX_KERNEL_EXT_FBTFT is not set +# BR2_LINUX_KERNEL_EXT_AUFS is not set + +# +# Linux Kernel Tools +# +# BR2_PACKAGE_LINUX_TOOLS_CPUPOWER is not set +# BR2_PACKAGE_LINUX_TOOLS_GPIO is not set +# BR2_PACKAGE_LINUX_TOOLS_IIO is not set +# BR2_PACKAGE_LINUX_TOOLS_PCI is not set +# BR2_PACKAGE_LINUX_TOOLS_PERF is not set + +# +# selftests needs BR2_PACKAGE_BUSYBOX_SHOW_OTHERS +# +# BR2_PACKAGE_LINUX_TOOLS_TMON is not set + +# +# Target packages +# +BR2_PACKAGE_BUSYBOX=y +BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox.config" +BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="" +# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set +# BR2_PACKAGE_BUSYBOX_SELINUX is not set +# BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES is not set +# BR2_PACKAGE_BUSYBOX_WATCHDOG is not set +BR2_PACKAGE_SKELETON=y +BR2_PACKAGE_HAS_SKELETON=y +BR2_PACKAGE_PROVIDES_SKELETON="skeleton-init-sysv" +BR2_PACKAGE_SKELETON_INIT_COMMON=y +BR2_PACKAGE_SKELETON_INIT_SYSV=y + +# +# Audio and video applications +# +# BR2_PACKAGE_ALSA_UTILS is not set +# BR2_PACKAGE_ATEST is not set +# BR2_PACKAGE_AUMIX is not set +# BR2_PACKAGE_BELLAGIO is not set +# BR2_PACKAGE_BLUEZ_ALSA is not set +# BR2_PACKAGE_DVBLAST is not set +# BR2_PACKAGE_DVDAUTHOR is not set +# BR2_PACKAGE_DVDRW_TOOLS is not set +# BR2_PACKAGE_ESPEAK is not set +# BR2_PACKAGE_FAAD2 is not set +BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS=y +# BR2_PACKAGE_FFMPEG is not set +# BR2_PACKAGE_FLAC is not set +# BR2_PACKAGE_FLITE is not set +# BR2_PACKAGE_GMRENDER_RESURRECT is not set +# BR2_PACKAGE_GSTREAMER is not set +# BR2_PACKAGE_GSTREAMER1 is not set +# BR2_PACKAGE_JACK1 is not set +# BR2_PACKAGE_JACK2 is not set +BR2_PACKAGE_KODI_ARCH_SUPPORTS=y + +# +# kodi needs python w/ .py modules, a uClibc or glibc toolchain w/ C++, threads, wchar, dynamic library, gcc >= 4.8, host gcc >= 4.6 +# + +# +# kodi needs an OpenGL EGL backend with OpenGL support +# +# BR2_PACKAGE_LAME is not set +# BR2_PACKAGE_MADPLAY is not set +# BR2_PACKAGE_MIMIC is not set +# BR2_PACKAGE_MINIMODEM is not set + +# +# miraclecast needs systemd and a glibc toolchain w/ threads and wchar +# +# BR2_PACKAGE_MJPEGTOOLS is not set +# BR2_PACKAGE_MODPLUGTOOLS is not set +# BR2_PACKAGE_MOTION is not set +# BR2_PACKAGE_MPD is not set +# BR2_PACKAGE_MPD_MPC is not set +# BR2_PACKAGE_MPG123 is not set +# BR2_PACKAGE_MPV is not set +# BR2_PACKAGE_MULTICAT is not set +# BR2_PACKAGE_MUSEPACK is not set +# BR2_PACKAGE_NCMPC is not set +# BR2_PACKAGE_OPUS_TOOLS is not set +BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC=y +# BR2_PACKAGE_PULSEAUDIO is not set +# BR2_PACKAGE_SOX is not set +# BR2_PACKAGE_SQUEEZELITE is not set +# BR2_PACKAGE_TSTOOLS is not set +# BR2_PACKAGE_TWOLAME is not set +# BR2_PACKAGE_UDPXY is not set +# BR2_PACKAGE_UPMPDCLI is not set +# BR2_PACKAGE_V4L2GRAB is not set +# BR2_PACKAGE_V4L2LOOPBACK is not set +# BR2_PACKAGE_VLC is not set +# BR2_PACKAGE_VORBIS_TOOLS is not set +# BR2_PACKAGE_WAVPACK is not set +# BR2_PACKAGE_YAVTA is not set +# BR2_PACKAGE_YMPD is not set + +# +# Compressors and decompressors +# +# BR2_PACKAGE_BROTLI is not set +BR2_PACKAGE_BZIP2=y +# BR2_PACKAGE_LRZIP is not set +# BR2_PACKAGE_LZ4 is not set +# BR2_PACKAGE_LZIP is not set +# BR2_PACKAGE_LZOP is not set +# BR2_PACKAGE_P7ZIP is not set +# BR2_PACKAGE_PIGZ is not set +# BR2_PACKAGE_PIXZ is not set +# BR2_PACKAGE_UNRAR is not set +# BR2_PACKAGE_XZ is not set +# BR2_PACKAGE_ZIP is not set +# BR2_PACKAGE_ZSTD is not set + +# +# Debugging, profiling and benchmark +# +# BR2_PACKAGE_BLKTRACE is not set +# BR2_PACKAGE_BONNIE is not set +# BR2_PACKAGE_CACHE_CALIBRATOR is not set + +# +# clinfo needs an OpenCL provider +# + +# +# dacapo needs OpenJDK +# +# BR2_PACKAGE_DHRYSTONE is not set +# BR2_PACKAGE_DIEHARDER is not set +# BR2_PACKAGE_DMALLOC is not set +# BR2_PACKAGE_DROPWATCH is not set +# BR2_PACKAGE_DSTAT is not set +# BR2_PACKAGE_DT is not set +# BR2_PACKAGE_DUMA is not set +# BR2_PACKAGE_FIO is not set +BR2_PACKAGE_GDB_ARCH_SUPPORTS=y +# BR2_PACKAGE_GDB is not set +# BR2_PACKAGE_IOZONE is not set +# BR2_PACKAGE_KTAP is not set +# BR2_PACKAGE_LATENCYTOP is not set +# BR2_PACKAGE_LMBENCH is not set +BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS=y +# BR2_PACKAGE_LTP_TESTSUITE is not set +# BR2_PACKAGE_LTTNG_BABELTRACE is not set +# BR2_PACKAGE_LTTNG_MODULES is not set +# BR2_PACKAGE_LTTNG_TOOLS is not set +# BR2_PACKAGE_MEMSTAT is not set +# BR2_PACKAGE_NETPERF is not set +# BR2_PACKAGE_NETSNIFF_NG is not set +# BR2_PACKAGE_NMON is not set +# BR2_PACKAGE_PAX_UTILS is not set +# BR2_PACKAGE_PV is not set +# BR2_PACKAGE_RAMSMP is not set +# BR2_PACKAGE_RAMSPEED is not set +# BR2_PACKAGE_RT_TESTS is not set +# BR2_PACKAGE_SPIDEV_TEST is not set +# BR2_PACKAGE_STRESS is not set +# BR2_PACKAGE_STRESS_NG is not set +# BR2_PACKAGE_TINYMEMBENCH is not set +# BR2_PACKAGE_TRACE_CMD is not set +# BR2_PACKAGE_UCLIBC_NG_TEST is not set +# BR2_PACKAGE_VMTOUCH is not set +# BR2_PACKAGE_WHETSTONE is not set + +# +# Development tools +# +BR2_PACKAGE_BINUTILS=y +BR2_PACKAGE_BINUTILS_TARGET=y +# BR2_PACKAGE_BSDIFF is not set +# BR2_PACKAGE_CHECK is not set +# BR2_PACKAGE_CPPUNIT is not set +# BR2_PACKAGE_CUNIT is not set +# BR2_PACKAGE_CVS is not set +# BR2_PACKAGE_CXXTEST is not set +BR2_PACKAGE_FLEX=y +BR2_PACKAGE_GETTEXT=y +BR2_PACKAGE_HAS_GETTEXT=y +BR2_PACKAGE_PROVIDES_GETTEXT="gettext-tiny" +BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" +BR2_PACKAGE_GETTEXT_TINY=y +BR2_PACKAGE_GIT=y +# BR2_PACKAGE_GIT_CRYPT is not set +# BR2_PACKAGE_GPERF is not set +# BR2_PACKAGE_JO is not set +# BR2_PACKAGE_JQ is not set +BR2_PACKAGE_LIBTOOL=y +BR2_PACKAGE_MAKE=y +BR2_PACKAGE_PKGCONF=y +# BR2_PACKAGE_SUBVERSION is not set +# BR2_PACKAGE_TREE is not set + +# +# Filesystem and flash utilities +# +# BR2_PACKAGE_ABOOTIMG is not set +# BR2_PACKAGE_AUFS_UTIL is not set +# BR2_PACKAGE_AUTOFS is not set +# BR2_PACKAGE_BTRFS_PROGS is not set +# BR2_PACKAGE_CIFS_UTILS is not set +# BR2_PACKAGE_CPIO is not set +# BR2_PACKAGE_CRAMFS is not set +# BR2_PACKAGE_CURLFTPFS is not set +# BR2_PACKAGE_DAVFS2 is not set +# BR2_PACKAGE_DOSFSTOOLS is not set +# BR2_PACKAGE_E2FSPROGS is not set +# BR2_PACKAGE_E2TOOLS is not set +# BR2_PACKAGE_ECRYPTFS_UTILS is not set +# BR2_PACKAGE_EXFAT is not set +# BR2_PACKAGE_EXFAT_UTILS is not set +# BR2_PACKAGE_F2FS_TOOLS is not set +# BR2_PACKAGE_FLASHBENCH is not set +# BR2_PACKAGE_FSCRYPTCTL is not set +# BR2_PACKAGE_FWUP is not set +# BR2_PACKAGE_GENEXT2FS is not set +# BR2_PACKAGE_GENPART is not set +# BR2_PACKAGE_GENROMFS is not set +# BR2_PACKAGE_IMX_USB_LOADER is not set +BR2_PACKAGE_MMC_UTILS=y +# BR2_PACKAGE_MTD is not set +# BR2_PACKAGE_MTOOLS is not set +# BR2_PACKAGE_NFS_UTILS is not set +# BR2_PACKAGE_NILFS_UTILS is not set +# BR2_PACKAGE_NTFS_3G is not set +# BR2_PACKAGE_SP_OOPS_EXTRACT is not set +# BR2_PACKAGE_SQUASHFS is not set +# BR2_PACKAGE_SSHFS is not set +# BR2_PACKAGE_UDFTOOLS is not set +# BR2_PACKAGE_UNIONFS is not set +# BR2_PACKAGE_XFSPROGS is not set + +# +# Fonts, cursors, icons, sounds and themes +# + +# +# Cursors +# +# BR2_PACKAGE_COMIX_CURSORS is not set +# BR2_PACKAGE_OBSIDIAN_CURSORS is not set + +# +# Fonts +# +# BR2_PACKAGE_BITSTREAM_VERA is not set +# BR2_PACKAGE_CANTARELL is not set +# BR2_PACKAGE_DEJAVU is not set +# BR2_PACKAGE_FONT_AWESOME is not set +# BR2_PACKAGE_GHOSTSCRIPT_FONTS is not set +# BR2_PACKAGE_INCONSOLATA is not set +# BR2_PACKAGE_LIBERATION is not set + +# +# Icons +# +# BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS is not set +# BR2_PACKAGE_HICOLOR_ICON_THEME is not set + +# +# Sounds +# +# BR2_PACKAGE_SOUND_THEME_BOREALIS is not set +# BR2_PACKAGE_SOUND_THEME_FREEDESKTOP is not set + +# +# Themes +# + +# +# Games +# +# BR2_PACKAGE_ASCII_INVADERS is not set +# BR2_PACKAGE_CHOCOLATE_DOOM is not set +# BR2_PACKAGE_FLARE_ENGINE is not set +# BR2_PACKAGE_GNUCHESS is not set +# BR2_PACKAGE_LBREAKOUT2 is not set +# BR2_PACKAGE_LTRIS is not set +# BR2_PACKAGE_OPENTYRIAN is not set +# BR2_PACKAGE_PRBOOM is not set +# BR2_PACKAGE_SL is not set +# BR2_PACKAGE_STELLA is not set + +# +# Graphic libraries and applications (graphic/text) +# + +# +# Graphic applications +# + +# +# cog needs wpewebkit and a toolchain w/ threads +# +# BR2_PACKAGE_FSWEBCAM is not set +# BR2_PACKAGE_GHOSTSCRIPT is not set + +# +# glmark2 needs an OpenGL or an openGL ES and EGL backend +# +# BR2_PACKAGE_GNUPLOT is not set +# BR2_PACKAGE_JHEAD is not set +# BR2_PACKAGE_LIBVA_UTILS is not set +BR2_PACKAGE_NETSURF_ARCH_SUPPORTS=y +# BR2_PACKAGE_NETSURF is not set +# BR2_PACKAGE_PNGQUANT is not set +# BR2_PACKAGE_RRDTOOL is not set + +# +# stellarium needs Qt5 and an OpenGL provider +# +# BR2_PACKAGE_TESSERACT_OCR is not set + +# +# Graphic libraries +# +# BR2_PACKAGE_CEGUI06 is not set +# BR2_PACKAGE_DIRECTFB is not set +# BR2_PACKAGE_FB_TEST_APP is not set +# BR2_PACKAGE_FBDUMP is not set +# BR2_PACKAGE_FBGRAB is not set +# BR2_PACKAGE_FBTERM is not set +# BR2_PACKAGE_FBV is not set +# BR2_PACKAGE_FREERDP is not set +# BR2_PACKAGE_IMAGEMAGICK is not set +# BR2_PACKAGE_LINUX_FUSION is not set +# BR2_PACKAGE_MESA3D is not set +# BR2_PACKAGE_OCRAD is not set +# BR2_PACKAGE_PSPLASH is not set +# BR2_PACKAGE_SDL is not set +# BR2_PACKAGE_SDL2 is not set + +# +# Other GUIs +# +# BR2_PACKAGE_QT5 is not set + +# +# tekui needs a Lua interpreter and a toolchain w/ threads, dynamic library +# + +# +# weston needs udev and a toolchain w/ locale, threads, dynamic library, headers >= 3.0 +# +# BR2_PACKAGE_XORG7 is not set + +# +# vte needs an OpenGL or an OpenGL-EGL/wayland backend +# +# BR2_PACKAGE_XKEYBOARD_CONFIG is not set + +# +# Hardware handling +# + +# +# Firmware +# +# BR2_PACKAGE_ARMBIAN_FIRMWARE is not set +# BR2_PACKAGE_B43_FIRMWARE is not set +# BR2_PACKAGE_LINUX_FIRMWARE is not set +# BR2_PACKAGE_MURATA_CYW_FW is not set +# BR2_PACKAGE_UX500_FIRMWARE is not set +# BR2_PACKAGE_WILC1000_FIRMWARE is not set +# BR2_PACKAGE_WILINK_BT_FIRMWARE is not set +# BR2_PACKAGE_ZD1211_FIRMWARE is not set +# BR2_PACKAGE_18XX_TI_UTILS is not set +# BR2_PACKAGE_ACPICA is not set +# BR2_PACKAGE_ACPID is not set +# BR2_PACKAGE_ACPITOOL is not set +# BR2_PACKAGE_AER_INJECT is not set +# BR2_PACKAGE_AVRDUDE is not set + +# +# bcache-tools needs udev /dev management +# + +# +# brickd needs udev /dev management, a toolchain w/ threads, wchar +# +# BR2_PACKAGE_BRLTTY is not set +# BR2_PACKAGE_CC_TOOL is not set +# BR2_PACKAGE_CDRKIT is not set +# BR2_PACKAGE_CRYPTSETUP is not set +# BR2_PACKAGE_CWIID is not set +# BR2_PACKAGE_DAHDI_LINUX is not set +# BR2_PACKAGE_DAHDI_TOOLS is not set +# BR2_PACKAGE_DBUS is not set +# BR2_PACKAGE_DFU_UTIL is not set +# BR2_PACKAGE_DMRAID is not set + +# +# dt-utils needs udev /dev management +# +# BR2_PACKAGE_DTV_SCAN_TABLES is not set +# BR2_PACKAGE_DUMP1090 is not set +# BR2_PACKAGE_DVB_APPS is not set +# BR2_PACKAGE_DVBSNOOP is not set +# BR2_PACKAGE_EDID_DECODE is not set + +# +# eudev needs eudev /dev management +# +# BR2_PACKAGE_EVEMU is not set +# BR2_PACKAGE_EVTEST is not set +# BR2_PACKAGE_FAN_CTRL is not set +# BR2_PACKAGE_FCONFIG is not set +# BR2_PACKAGE_FIS is not set +BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y +# BR2_PACKAGE_FLASHROM is not set +# BR2_PACKAGE_FMTOOLS is not set +# BR2_PACKAGE_FXLOAD is not set +# BR2_PACKAGE_GADGETFS_TEST is not set +# BR2_PACKAGE_GPM is not set +# BR2_PACKAGE_GPSD is not set +# BR2_PACKAGE_GPTFDISK is not set +# BR2_PACKAGE_GVFS is not set +BR2_PACKAGE_HWDATA=y +# BR2_PACKAGE_HWDATA_IAB_OUI_TXT is not set +BR2_PACKAGE_HWDATA_PCI_IDS=y +# BR2_PACKAGE_HWDATA_PNP_IDS is not set +BR2_PACKAGE_HWDATA_USB_IDS=y +# BR2_PACKAGE_HWLOC is not set +# BR2_PACKAGE_INPUT_EVENT_DAEMON is not set +# BR2_PACKAGE_IOSTAT is not set +# BR2_PACKAGE_IPMITOOL is not set +# BR2_PACKAGE_IRDA_UTILS is not set +# BR2_PACKAGE_KBD is not set +# BR2_PACKAGE_LCDPROC is not set +# BR2_PACKAGE_LIBUBOOTENV is not set +# BR2_PACKAGE_LIBUIO is not set +# BR2_PACKAGE_LINUX_BACKPORTS is not set +# BR2_PACKAGE_LINUXCONSOLETOOLS is not set +# BR2_PACKAGE_LIRC_TOOLS is not set +# BR2_PACKAGE_LM_SENSORS is not set +BR2_PACKAGE_LSHW=y +# BR2_PACKAGE_LSSCSI is not set +# BR2_PACKAGE_LSUIO is not set +# BR2_PACKAGE_LUKSMETA is not set +# BR2_PACKAGE_LVM2 is not set +# BR2_PACKAGE_MDADM is not set +# BR2_PACKAGE_MEMTESTER is not set +# BR2_PACKAGE_MEMTOOL is not set +# BR2_PACKAGE_MINICOM is not set +# BR2_PACKAGE_NANOCOM is not set +# BR2_PACKAGE_NEARD is not set +# BR2_PACKAGE_NVME is not set +# BR2_PACKAGE_OFONO is not set +# BR2_PACKAGE_OPEN2300 is not set +# BR2_PACKAGE_OPENIPMI is not set +# BR2_PACKAGE_OPENOCD is not set +# BR2_PACKAGE_PARTED is not set +# BR2_PACKAGE_PCIUTILS is not set +# BR2_PACKAGE_PDBG is not set +# BR2_PACKAGE_PICOCOM is not set +# BR2_PACKAGE_POWERTOP is not set +# BR2_PACKAGE_PPS_TOOLS is not set +# BR2_PACKAGE_READ_EDID is not set +# BR2_PACKAGE_RNG_TOOLS is not set +# BR2_PACKAGE_RS485CONF is not set +# BR2_PACKAGE_RTC_TOOLS is not set +# BR2_PACKAGE_RTL8188EU is not set +# BR2_PACKAGE_RTL8189FS is not set +# BR2_PACKAGE_RTL8723BS is not set +# BR2_PACKAGE_RTL8723BU is not set +# BR2_PACKAGE_RTL8821AU is not set +# BR2_PACKAGE_SANE_BACKENDS is not set +# BR2_PACKAGE_SDPARM is not set +# BR2_PACKAGE_SETSERIAL is not set +# BR2_PACKAGE_SG3_UTILS is not set +# BR2_PACKAGE_SIGROK_CLI is not set +# BR2_PACKAGE_SISPMCTL is not set +# BR2_PACKAGE_SMARTMONTOOLS is not set +# BR2_PACKAGE_SMSTOOLS3 is not set +# BR2_PACKAGE_SPI_TOOLS is not set +# BR2_PACKAGE_SREDIRD is not set +# BR2_PACKAGE_STATSERIAL is not set +# BR2_PACKAGE_STM32FLASH is not set +# BR2_PACKAGE_SYSSTAT is not set + +# +# targetcli-fb depends on Python +# + +# +# ti-sgx-um needs the ti-sgx-km driver +# +# BR2_PACKAGE_TI_UIM is not set +# BR2_PACKAGE_TI_UTILS is not set +# BR2_PACKAGE_TRIGGERHAPPY is not set +# BR2_PACKAGE_UBOOT_TOOLS is not set +# BR2_PACKAGE_UBUS is not set +# BR2_PACKAGE_UCCP420WLAN is not set + +# +# udisks needs udev /dev management +# +# BR2_PACKAGE_UHUBCTL is not set + +# +# upower needs udev /dev management +# +# BR2_PACKAGE_USB_MODESWITCH is not set +# BR2_PACKAGE_USB_MODESWITCH_DATA is not set + +# +# usbmount requires udev to be enabled +# + +# +# usbutils needs udev /dev management and toolchain w/ threads +# +# BR2_PACKAGE_W_SCAN is not set +# BR2_PACKAGE_WIPE is not set +# BR2_PACKAGE_XORRISO is not set +# BR2_PACKAGE_XR819_XRADIO is not set + +# +# Interpreter languages and scripting +# +# BR2_PACKAGE_4TH is not set +# BR2_PACKAGE_ENSCRIPT is not set +BR2_PACKAGE_HOST_ERLANG_ARCH_SUPPORTS=y +# BR2_PACKAGE_EXECLINE is not set +# BR2_PACKAGE_FICL is not set +# BR2_PACKAGE_HASERL is not set +# BR2_PACKAGE_JIMTCL is not set +# BR2_PACKAGE_LUA is not set +BR2_PACKAGE_PROVIDES_HOST_LUAINTERPRETER="host-lua" +# BR2_PACKAGE_MICROPYTHON is not set +BR2_PACKAGE_HOST_MONO_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_OPENJDK_BIN_ARCH_SUPPORTS=y +# BR2_PACKAGE_PERL is not set +# BR2_PACKAGE_PHP is not set +# BR2_PACKAGE_PYTHON is not set +# BR2_PACKAGE_PYTHON3 is not set +# BR2_PACKAGE_RUBY is not set +# BR2_PACKAGE_TCL is not set + +# +# Libraries +# + +# +# Audio/Sound +# +# BR2_PACKAGE_ALSA_LIB is not set +# BR2_PACKAGE_AUBIO is not set +# BR2_PACKAGE_AUDIOFILE is not set +# BR2_PACKAGE_BCG729 is not set +# BR2_PACKAGE_CAPS is not set +# BR2_PACKAGE_CELT051 is not set +# BR2_PACKAGE_LIBAO is not set +# BR2_PACKAGE_LIBASPLIB is not set +# BR2_PACKAGE_LIBBROADVOICE is not set +# BR2_PACKAGE_LIBCDAUDIO is not set +# BR2_PACKAGE_LIBCDDB is not set +# BR2_PACKAGE_LIBCDIO is not set +# BR2_PACKAGE_LIBCDIO_PARANOIA is not set +# BR2_PACKAGE_LIBCODEC2 is not set +# BR2_PACKAGE_LIBCUE is not set +# BR2_PACKAGE_LIBCUEFILE is not set +# BR2_PACKAGE_LIBEBUR128 is not set +# BR2_PACKAGE_LIBG7221 is not set +# BR2_PACKAGE_LIBGSM is not set +# BR2_PACKAGE_LIBID3TAG is not set +# BR2_PACKAGE_LIBILBC is not set +# BR2_PACKAGE_LIBLO is not set +# BR2_PACKAGE_LIBMAD is not set +# BR2_PACKAGE_LIBMODPLUG is not set +# BR2_PACKAGE_LIBMPD is not set +# BR2_PACKAGE_LIBMPDCLIENT is not set +# BR2_PACKAGE_LIBREPLAYGAIN is not set +# BR2_PACKAGE_LIBSAMPLERATE is not set +# BR2_PACKAGE_LIBSIDPLAY2 is not set +# BR2_PACKAGE_LIBSILK is not set +# BR2_PACKAGE_LIBSNDFILE is not set +# BR2_PACKAGE_LIBSOUNDTOUCH is not set +# BR2_PACKAGE_LIBSOXR is not set +# BR2_PACKAGE_LIBVORBIS is not set +# BR2_PACKAGE_MP4V2 is not set +BR2_PACKAGE_OPENAL_ARCH_SUPPORTS=y +# BR2_PACKAGE_OPENAL is not set +# BR2_PACKAGE_OPENCORE_AMR is not set +# BR2_PACKAGE_OPUS is not set +# BR2_PACKAGE_OPUSFILE is not set +# BR2_PACKAGE_PORTAUDIO is not set +# BR2_PACKAGE_SBC is not set +# BR2_PACKAGE_SPANDSP is not set +# BR2_PACKAGE_SPEEX is not set +# BR2_PACKAGE_SPEEXDSP is not set +# BR2_PACKAGE_TAGLIB is not set +# BR2_PACKAGE_TINYALSA is not set +# BR2_PACKAGE_TREMOR is not set +# BR2_PACKAGE_VO_AACENC is not set + +# +# Compression and decompression +# +# BR2_PACKAGE_LIBARCHIVE is not set +# BR2_PACKAGE_LIBMSPACK is not set +# BR2_PACKAGE_LIBSQUISH is not set +# BR2_PACKAGE_LIBZIP is not set +# BR2_PACKAGE_LZO is not set +# BR2_PACKAGE_MINIZIP is not set +# BR2_PACKAGE_SNAPPY is not set +# BR2_PACKAGE_SZIP is not set +BR2_PACKAGE_ZLIB=y +BR2_PACKAGE_LIBZLIB=y +BR2_PACKAGE_HAS_ZLIB=y +BR2_PACKAGE_PROVIDES_ZLIB="libzlib" +BR2_PACKAGE_PROVIDES_HOST_ZLIB="host-libzlib" +# BR2_PACKAGE_ZZIPLIB is not set + +# +# Crypto +# +# BR2_PACKAGE_BEECRYPT is not set +# BR2_PACKAGE_CA_CERTIFICATES is not set +# BR2_PACKAGE_CRYPTODEV is not set +# BR2_PACKAGE_GCR is not set +# BR2_PACKAGE_GNUTLS is not set +# BR2_PACKAGE_LIBASSUAN is not set +# BR2_PACKAGE_LIBGCRYPT is not set +BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS=y +# BR2_PACKAGE_LIBGPG_ERROR is not set +BR2_PACKAGE_LIBGPG_ERROR_SYSCFG="riscv32-unknown-linux-gnu" +# BR2_PACKAGE_LIBGPGME is not set +# BR2_PACKAGE_LIBKCAPI is not set +# BR2_PACKAGE_LIBKSBA is not set +# BR2_PACKAGE_LIBMCRYPT is not set +# BR2_PACKAGE_LIBMHASH is not set +# BR2_PACKAGE_LIBNSS is not set +# BR2_PACKAGE_LIBOLM is not set +# BR2_PACKAGE_LIBP11 is not set +# BR2_PACKAGE_LIBSCRYPT is not set +# BR2_PACKAGE_LIBSECRET is not set +# BR2_PACKAGE_LIBSHA1 is not set +# BR2_PACKAGE_LIBSODIUM is not set +# BR2_PACKAGE_LIBSSH is not set +# BR2_PACKAGE_LIBSSH2 is not set +BR2_PACKAGE_LIBTOMCRYPT=y +# BR2_PACKAGE_LIBUECC is not set +# BR2_PACKAGE_MBEDTLS is not set +# BR2_PACKAGE_NETTLE is not set +# BR2_PACKAGE_OPENSSL is not set +BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl" +# BR2_PACKAGE_RHASH is not set +# BR2_PACKAGE_TINYDTLS is not set +# BR2_PACKAGE_TPM2_TSS is not set +# BR2_PACKAGE_TROUSERS is not set +# BR2_PACKAGE_USTREAM_SSL is not set +# BR2_PACKAGE_WOLFSSL is not set + +# +# Database +# +# BR2_PACKAGE_BERKELEYDB is not set +# BR2_PACKAGE_GDBM is not set +# BR2_PACKAGE_HIREDIS is not set +# BR2_PACKAGE_KOMPEXSQLITE is not set +# BR2_PACKAGE_LEVELDB is not set +# BR2_PACKAGE_LIBGIT2 is not set +# BR2_PACKAGE_MYSQL is not set +# BR2_PACKAGE_POSTGRESQL is not set +# BR2_PACKAGE_REDIS is not set +# BR2_PACKAGE_SQLCIPHER is not set +# BR2_PACKAGE_SQLITE is not set +# BR2_PACKAGE_UNIXODBC is not set + +# +# Filesystem +# +# BR2_PACKAGE_GAMIN is not set +# BR2_PACKAGE_LIBCONFIG is not set +# BR2_PACKAGE_LIBCONFUSE is not set +# BR2_PACKAGE_LIBFUSE is not set +# BR2_PACKAGE_LIBLOCKFILE is not set +# BR2_PACKAGE_LIBNFS is not set +# BR2_PACKAGE_LIBSYSFS is not set +# BR2_PACKAGE_LOCKDEV is not set +# BR2_PACKAGE_PHYSFS is not set + +# +# Graphics +# +# BR2_PACKAGE_ASSIMP is not set + +# +# at-spi2-atk depends on X.org +# + +# +# at-spi2-core depends on X.org +# +# BR2_PACKAGE_ATK is not set +# BR2_PACKAGE_ATKMM is not set +# BR2_PACKAGE_BULLET is not set +# BR2_PACKAGE_CAIRO is not set +# BR2_PACKAGE_CAIROMM is not set + +# +# chipmunk needs an OpenGL backend +# +# BR2_PACKAGE_EXEMPI is not set +# BR2_PACKAGE_EXIV2 is not set +# BR2_PACKAGE_FONTCONFIG is not set +# BR2_PACKAGE_FREETYPE is not set +# BR2_PACKAGE_GD is not set +# BR2_PACKAGE_GDK_PIXBUF is not set +# BR2_PACKAGE_GIFLIB is not set + +# +# granite needs libgtk3 and a toolchain w/ wchar, threads +# +# BR2_PACKAGE_GRAPHITE2 is not set + +# +# gtkmm3 needs libgtk3 and a toolchain w/ C++, wchar, threads, gcc >= 4.9, host gcc >= 4.8 +# +# BR2_PACKAGE_HARFBUZZ is not set +# BR2_PACKAGE_IJS is not set +# BR2_PACKAGE_IMLIB2 is not set + +# +# irrlicht needs X11 and an OpenGL provider +# +# BR2_PACKAGE_JASPER is not set +# BR2_PACKAGE_JPEG is not set +# BR2_PACKAGE_KMSXX is not set +# BR2_PACKAGE_LCMS2 is not set +# BR2_PACKAGE_LENSFUN is not set +# BR2_PACKAGE_LEPTONICA is not set +# BR2_PACKAGE_LIBART is not set +# BR2_PACKAGE_LIBDMTX is not set +# BR2_PACKAGE_LIBDRM is not set + +# +# libepoxy needs an OpenGL and/or OpenGL EGL backend +# +# BR2_PACKAGE_LIBEXIF is not set + +# +# libfm needs X.org and a toolchain w/ wchar, threads, C++, gcc >= 4.8 +# +# BR2_PACKAGE_LIBFM_EXTRA is not set + +# +# libfreeglut depends on X.org and needs an OpenGL backend +# +# BR2_PACKAGE_LIBFREEIMAGE is not set +# BR2_PACKAGE_LIBGEOTIFF is not set + +# +# libglew depends on X.org and needs an OpenGL backend +# + +# +# libglfw depends on X.org and needs an OpenGL backend +# + +# +# libglu needs an OpenGL backend +# +# BR2_PACKAGE_LIBGTA is not set + +# +# libgtk3 needs an OpenGL or an OpenGL-EGL/wayland backend +# +# BR2_PACKAGE_LIBMEDIAART is not set +# BR2_PACKAGE_LIBMNG is not set +# BR2_PACKAGE_LIBPNG is not set +# BR2_PACKAGE_LIBQRENCODE is not set +# BR2_PACKAGE_LIBRAW is not set +# BR2_PACKAGE_LIBRSVG is not set + +# +# libsoil needs an OpenGL backend and a toolchain w/ dynamic library +# +# BR2_PACKAGE_LIBSVG is not set +# BR2_PACKAGE_LIBSVG_CAIRO is not set +# BR2_PACKAGE_LIBSVGTINY is not set +# BR2_PACKAGE_LIBVA is not set +# BR2_PACKAGE_LIBVIPS is not set + +# +# libwpe needs a toolchain w/ C++, dynamic library and an OpenEGL-capable backend +# +# BR2_PACKAGE_MENU_CACHE is not set +# BR2_PACKAGE_OPENCV is not set +# BR2_PACKAGE_OPENCV3 is not set +# BR2_PACKAGE_OPENJPEG is not set +# BR2_PACKAGE_PANGO is not set +# BR2_PACKAGE_PANGOMM is not set +# BR2_PACKAGE_PIXMAN is not set +# BR2_PACKAGE_POPPLER is not set +# BR2_PACKAGE_TIFF is not set +# BR2_PACKAGE_WAYLAND is not set +# BR2_PACKAGE_WEBP is not set +# BR2_PACKAGE_WOFF2 is not set + +# +# wpebackend-fdo needs a toolchain w/ C++, wchar, threads, dynamic library and an OpenEGL-capable Wayland backend +# +# BR2_PACKAGE_ZBAR is not set +# BR2_PACKAGE_ZXING_CPP is not set + +# +# Hardware handling +# +# BR2_PACKAGE_ACSCCID is not set +# BR2_PACKAGE_C_PERIPHERY is not set +# BR2_PACKAGE_CCID is not set +# BR2_PACKAGE_DTC is not set +# BR2_PACKAGE_HACKRF is not set + +# +# hidapi needs udev /dev management and a toolchain w/ NPTL threads +# +# BR2_PACKAGE_JITTERENTROPY_LIBRARY is not set +# BR2_PACKAGE_LCDAPI is not set +# BR2_PACKAGE_LET_ME_CREATE is not set +# BR2_PACKAGE_LIBAIO is not set + +# +# libatasmart requires udev to be enabled +# +# BR2_PACKAGE_LIBCEC is not set +# BR2_PACKAGE_LIBFREEFARE is not set +# BR2_PACKAGE_LIBFTDI is not set +# BR2_PACKAGE_LIBFTDI1 is not set +# BR2_PACKAGE_LIBGPHOTO2 is not set +# BR2_PACKAGE_LIBGPIOD is not set + +# +# libgudev needs udev /dev handling and a toolchain w/ wchar, threads +# +# BR2_PACKAGE_LIBHID is not set +# BR2_PACKAGE_LIBIIO is not set + +# +# libinput needs udev /dev management and a toolchain w/ locale +# +# BR2_PACKAGE_LIBIQRF is not set +# BR2_PACKAGE_LIBLLCP is not set +# BR2_PACKAGE_LIBMBIM is not set +# BR2_PACKAGE_LIBNFC is not set +# BR2_PACKAGE_LIBPCIACCESS is not set +# BR2_PACKAGE_LIBPHIDGET is not set +# BR2_PACKAGE_LIBPRI is not set +# BR2_PACKAGE_LIBQMI is not set +# BR2_PACKAGE_LIBRAW1394 is not set +# BR2_PACKAGE_LIBRTLSDR is not set +# BR2_PACKAGE_LIBSERIAL is not set +# BR2_PACKAGE_LIBSERIALPORT is not set +# BR2_PACKAGE_LIBSIGROK is not set +# BR2_PACKAGE_LIBSIGROKDECODE is not set +# BR2_PACKAGE_LIBSOC is not set +# BR2_PACKAGE_LIBSS7 is not set +# BR2_PACKAGE_LIBUSB is not set +# BR2_PACKAGE_LIBUSBGX is not set +# BR2_PACKAGE_LIBV4L is not set +# BR2_PACKAGE_LIBXKBCOMMON is not set +# BR2_PACKAGE_MTDEV is not set +# BR2_PACKAGE_NEARDAL is not set +# BR2_PACKAGE_OWFS is not set +# BR2_PACKAGE_PCSC_LITE is not set +# BR2_PACKAGE_TSLIB is not set +# BR2_PACKAGE_URG is not set +# BR2_PACKAGE_WIRINGPI is not set + +# +# Javascript +# +# BR2_PACKAGE_ANGULARJS is not set +# BR2_PACKAGE_BOOTSTRAP is not set +# BR2_PACKAGE_DUKTAPE is not set +# BR2_PACKAGE_EXPLORERCANVAS is not set +# BR2_PACKAGE_FLOT is not set +# BR2_PACKAGE_JQUERY is not set +# BR2_PACKAGE_JSMIN is not set +# BR2_PACKAGE_JSON_JAVASCRIPT is not set +# BR2_PACKAGE_OPENLAYERS is not set + +# +# JSON/XML +# +# BR2_PACKAGE_BENEJSON is not set +# BR2_PACKAGE_CJSON is not set +# BR2_PACKAGE_EXPAT is not set +# BR2_PACKAGE_EZXML is not set +# BR2_PACKAGE_JANSSON is not set +# BR2_PACKAGE_JOSE is not set +# BR2_PACKAGE_JSMN is not set +# BR2_PACKAGE_JSON_C is not set +# BR2_PACKAGE_JSON_FOR_MODERN_CPP is not set +# BR2_PACKAGE_JSON_GLIB is not set +# BR2_PACKAGE_JSONCPP is not set +# BR2_PACKAGE_LIBBSON is not set +# BR2_PACKAGE_LIBFASTJSON is not set +# BR2_PACKAGE_LIBJSON is not set +# BR2_PACKAGE_LIBROXML is not set +# BR2_PACKAGE_LIBUCL is not set +# BR2_PACKAGE_LIBXML2 is not set +# BR2_PACKAGE_LIBXMLPP is not set +# BR2_PACKAGE_LIBXMLRPC is not set +# BR2_PACKAGE_LIBXSLT is not set +# BR2_PACKAGE_LIBYAML is not set +# BR2_PACKAGE_MXML is not set +# BR2_PACKAGE_PUGIXML is not set +# BR2_PACKAGE_RAPIDJSON is not set +# BR2_PACKAGE_RAPIDXML is not set +# BR2_PACKAGE_RAPTOR is not set +# BR2_PACKAGE_TINYXML is not set +# BR2_PACKAGE_TINYXML2 is not set +# BR2_PACKAGE_VALIJSON is not set +# BR2_PACKAGE_XERCES is not set +# BR2_PACKAGE_YAJL is not set +# BR2_PACKAGE_YAML_CPP is not set + +# +# Logging +# +# BR2_PACKAGE_GLOG is not set +# BR2_PACKAGE_LIBLOG4C_LOCALTIME is not set +# BR2_PACKAGE_LIBLOGGING is not set +# BR2_PACKAGE_LOG4CPLUS is not set +# BR2_PACKAGE_LOG4CPP is not set +# BR2_PACKAGE_LOG4CXX is not set +# BR2_PACKAGE_OPENTRACING_CPP is not set +# BR2_PACKAGE_SPDLOG is not set +# BR2_PACKAGE_ZLOG is not set + +# +# Multimedia +# +# BR2_PACKAGE_BITSTREAM is not set +# BR2_PACKAGE_DAV1D is not set +# BR2_PACKAGE_KVAZAAR is not set +# BR2_PACKAGE_LIBAACS is not set +# BR2_PACKAGE_LIBASS is not set +# BR2_PACKAGE_LIBBDPLUS is not set +# BR2_PACKAGE_LIBBLURAY is not set + +# +# libcamera needs udev and a toolchain w/ C++, threads, gcc >= 5 +# +# BR2_PACKAGE_LIBDCADEC is not set +# BR2_PACKAGE_LIBDVBCSA is not set +# BR2_PACKAGE_LIBDVBPSI is not set +# BR2_PACKAGE_LIBDVBSI is not set +# BR2_PACKAGE_LIBDVDCSS is not set +# BR2_PACKAGE_LIBDVDNAV is not set +# BR2_PACKAGE_LIBDVDREAD is not set +# BR2_PACKAGE_LIBEBML is not set +# BR2_PACKAGE_LIBHDHOMERUN is not set +# BR2_PACKAGE_LIBMATROSKA is not set +# BR2_PACKAGE_LIBMMS is not set +# BR2_PACKAGE_LIBMPEG2 is not set +# BR2_PACKAGE_LIBOGG is not set +# BR2_PACKAGE_LIBOPUSENC is not set +# BR2_PACKAGE_LIBPLAYER is not set +# BR2_PACKAGE_LIBTHEORA is not set +# BR2_PACKAGE_LIBVPX is not set +# BR2_PACKAGE_LIBYUV is not set +# BR2_PACKAGE_LIVE555 is not set +# BR2_PACKAGE_MEDIASTREAMER is not set +# BR2_PACKAGE_X264 is not set +# BR2_PACKAGE_X265 is not set + +# +# Networking +# +# BR2_PACKAGE_AGENTPP is not set +# BR2_PACKAGE_ALLJOYN is not set +# BR2_PACKAGE_ALLJOYN_BASE is not set +# BR2_PACKAGE_ALLJOYN_TCL is not set +# BR2_PACKAGE_ALLJOYN_TCL_BASE is not set +# BR2_PACKAGE_AZMQ is not set +# BR2_PACKAGE_AZURE_IOT_SDK_C is not set +# BR2_PACKAGE_BATMAN_ADV is not set +# BR2_PACKAGE_C_ARES is not set +# BR2_PACKAGE_CGIC is not set +# BR2_PACKAGE_CPPZMQ is not set +# BR2_PACKAGE_CURLPP is not set +# BR2_PACKAGE_CZMQ is not set +# BR2_PACKAGE_DAQ is not set +# BR2_PACKAGE_DAVICI is not set +# BR2_PACKAGE_ENET is not set +# BR2_PACKAGE_FILEMQ is not set +# BR2_PACKAGE_FLICKCURL is not set +# BR2_PACKAGE_FREERADIUS_CLIENT is not set +# BR2_PACKAGE_GEOIP is not set +# BR2_PACKAGE_GLIB_NETWORKING is not set +# BR2_PACKAGE_GRPC is not set +# BR2_PACKAGE_GSSDP is not set +# BR2_PACKAGE_GUPNP is not set +# BR2_PACKAGE_GUPNP_AV is not set +# BR2_PACKAGE_GUPNP_DLNA is not set +# BR2_PACKAGE_IBRCOMMON is not set +# BR2_PACKAGE_IBRDTN is not set +# BR2_PACKAGE_LIBCGI is not set +# BR2_PACKAGE_LIBCGICC is not set +# BR2_PACKAGE_LIBCOAP is not set +# BR2_PACKAGE_LIBCPPRESTSDK is not set +# BR2_PACKAGE_LIBCURL is not set +# BR2_PACKAGE_LIBDNET is not set +# BR2_PACKAGE_LIBEXOSIP2 is not set +# BR2_PACKAGE_LIBFCGI is not set +# BR2_PACKAGE_LIBGSASL is not set +# BR2_PACKAGE_LIBHTP is not set +# BR2_PACKAGE_LIBHTTPPARSER is not set +# BR2_PACKAGE_LIBHTTPSERVER is not set +# BR2_PACKAGE_LIBIDN is not set +# BR2_PACKAGE_LIBIDN2 is not set +# BR2_PACKAGE_LIBISCSI is not set +# BR2_PACKAGE_LIBKRB5 is not set +# BR2_PACKAGE_LIBLDNS is not set +# BR2_PACKAGE_LIBMAXMINDDB is not set +# BR2_PACKAGE_LIBMBUS is not set +# BR2_PACKAGE_LIBMEMCACHED is not set +# BR2_PACKAGE_LIBMICROHTTPD is not set +# BR2_PACKAGE_LIBMINIUPNPC is not set +# BR2_PACKAGE_LIBMNL is not set +# BR2_PACKAGE_LIBMODBUS is not set +# BR2_PACKAGE_LIBNATPMP is not set +# BR2_PACKAGE_LIBNDP is not set +# BR2_PACKAGE_LIBNET is not set +# BR2_PACKAGE_LIBNETCONF2 is not set +# BR2_PACKAGE_LIBNETFILTER_ACCT is not set +# BR2_PACKAGE_LIBNETFILTER_CONNTRACK is not set +# BR2_PACKAGE_LIBNETFILTER_CTHELPER is not set +# BR2_PACKAGE_LIBNETFILTER_CTTIMEOUT is not set +# BR2_PACKAGE_LIBNETFILTER_LOG is not set +# BR2_PACKAGE_LIBNETFILTER_QUEUE is not set +# BR2_PACKAGE_LIBNFNETLINK is not set +# BR2_PACKAGE_LIBNFTNL is not set +# BR2_PACKAGE_LIBNICE is not set +# BR2_PACKAGE_LIBNL is not set +# BR2_PACKAGE_LIBOAUTH is not set +# BR2_PACKAGE_LIBOPING is not set +# BR2_PACKAGE_LIBOSIP2 is not set +# BR2_PACKAGE_LIBPAGEKITE is not set +BR2_PACKAGE_LIBPCAP=y +# BR2_PACKAGE_LIBPJSIP is not set +# BR2_PACKAGE_LIBRSYNC is not set +# BR2_PACKAGE_LIBSHAIRPLAY is not set +# BR2_PACKAGE_LIBSHOUT is not set +# BR2_PACKAGE_LIBSOCKETCAN is not set +# BR2_PACKAGE_LIBSOUP is not set +# BR2_PACKAGE_LIBSRTP is not set +# BR2_PACKAGE_LIBSTROPHE is not set +# BR2_PACKAGE_LIBTIRPC is not set +# BR2_PACKAGE_LIBTORRENT is not set +# BR2_PACKAGE_LIBTORRENT_RASTERBAR is not set +# BR2_PACKAGE_LIBUPNP is not set +# BR2_PACKAGE_LIBUPNP18 is not set +# BR2_PACKAGE_LIBUPNPP is not set +# BR2_PACKAGE_LIBURIPARSER is not set +# BR2_PACKAGE_LIBVNCSERVER is not set +# BR2_PACKAGE_LIBWEBSOCK is not set +# BR2_PACKAGE_LIBWEBSOCKETS is not set +# BR2_PACKAGE_LIBYANG is not set +# BR2_PACKAGE_LKSCTP_TOOLS is not set +# BR2_PACKAGE_MONGOOSE is not set +# BR2_PACKAGE_NANOMSG is not set +# BR2_PACKAGE_NEON is not set +# BR2_PACKAGE_NGHTTP2 is not set +# BR2_PACKAGE_NORM is not set +# BR2_PACKAGE_NSS_MYHOSTNAME is not set +# BR2_PACKAGE_NSS_PAM_LDAPD is not set +# BR2_PACKAGE_OMNIORB is not set +# BR2_PACKAGE_OPENLDAP is not set +# BR2_PACKAGE_OPENMPI is not set +# BR2_PACKAGE_OPENPGM is not set +# BR2_PACKAGE_OPENZWAVE is not set +# BR2_PACKAGE_ORTP is not set +# BR2_PACKAGE_PAHO_MQTT_C is not set +# BR2_PACKAGE_PAHO_MQTT_CPP is not set +# BR2_PACKAGE_QDECODER is not set +# BR2_PACKAGE_QPID_PROTON is not set +# BR2_PACKAGE_RABBITMQ_C is not set +# BR2_PACKAGE_RESTCLIENT_CPP is not set +# BR2_PACKAGE_RTMPDUMP is not set +# BR2_PACKAGE_SLIRP is not set +# BR2_PACKAGE_SNMPPP is not set +# BR2_PACKAGE_SOFIA_SIP is not set +# BR2_PACKAGE_THRIFT is not set +# BR2_PACKAGE_USBREDIR is not set +# BR2_PACKAGE_WAMPCC is not set +# BR2_PACKAGE_WEBSOCKETPP is not set +# BR2_PACKAGE_ZEROMQ is not set +# BR2_PACKAGE_ZMQPP is not set +# BR2_PACKAGE_ZYRE is not set + +# +# Other +# +# BR2_PACKAGE_APR is not set +# BR2_PACKAGE_APR_UTIL is not set +# BR2_PACKAGE_ARMADILLO is not set +# BR2_PACKAGE_ATF is not set +# BR2_PACKAGE_BCTOOLBOX is not set +# BR2_PACKAGE_BOOST is not set +# BR2_PACKAGE_C_CAPNPROTO is not set +# BR2_PACKAGE_CAPNPROTO is not set +# BR2_PACKAGE_CLAPACK is not set +# BR2_PACKAGE_CMOCKA is not set +# BR2_PACKAGE_CPPCMS is not set +# BR2_PACKAGE_CRACKLIB is not set +# BR2_PACKAGE_DAWGDIC is not set +# BR2_PACKAGE_DING_LIBS is not set +# BR2_PACKAGE_EIGEN is not set +# BR2_PACKAGE_ELFUTILS is not set +# BR2_PACKAGE_ELL is not set +# BR2_PACKAGE_FFTW is not set +# BR2_PACKAGE_FLANN is not set +# BR2_PACKAGE_FLATBUFFERS is not set +# BR2_PACKAGE_FLATCC is not set +# BR2_PACKAGE_GCONF is not set +# BR2_PACKAGE_GFLAGS is not set +# BR2_PACKAGE_GLI is not set +# BR2_PACKAGE_GLIBMM is not set +# BR2_PACKAGE_GLM is not set +# BR2_PACKAGE_GMP is not set +# BR2_PACKAGE_GSL is not set +# BR2_PACKAGE_GTEST is not set +BR2_PACKAGE_JEMALLOC_ARCH_SUPPORTS=y +# BR2_PACKAGE_JEMALLOC is not set + +# +# lapack/blas needs a toolchain w/ fortran +# +# BR2_PACKAGE_LIBARGTABLE2 is not set +# BR2_PACKAGE_LIBAVL is not set +# BR2_PACKAGE_LIBB64 is not set +BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS=y +# BR2_PACKAGE_LIBBSD is not set +# BR2_PACKAGE_LIBCAP is not set +# BR2_PACKAGE_LIBCAP_NG is not set +# BR2_PACKAGE_LIBCGROUP is not set +# BR2_PACKAGE_LIBCORRECT is not set +# BR2_PACKAGE_LIBCROCO is not set +# BR2_PACKAGE_LIBCROSSGUID is not set +# BR2_PACKAGE_LIBCSV is not set +# BR2_PACKAGE_LIBDAEMON is not set +# BR2_PACKAGE_LIBEE is not set +# BR2_PACKAGE_LIBEV is not set +# BR2_PACKAGE_LIBEVDEV is not set +# BR2_PACKAGE_LIBEVENT is not set +# BR2_PACKAGE_LIBFFI is not set +# BR2_PACKAGE_LIBGEE is not set +# BR2_PACKAGE_LIBGLIB2 is not set +# BR2_PACKAGE_LIBGLOB is not set +# BR2_PACKAGE_LIBICAL is not set +# BR2_PACKAGE_LIBITE is not set +# BR2_PACKAGE_LIBLINEAR is not set +# BR2_PACKAGE_LIBLOKI is not set +# BR2_PACKAGE_LIBNPTH is not set +BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT=y +# BR2_PACKAGE_LIBNSPR is not set +# BR2_PACKAGE_LIBPFM4 is not set +# BR2_PACKAGE_LIBPLIST is not set +# BR2_PACKAGE_LIBPTHREAD_STUBS is not set +# BR2_PACKAGE_LIBPTHSEM is not set +# BR2_PACKAGE_LIBPWQUALITY is not set +# BR2_PACKAGE_LIBSIGC is not set +BR2_PACKAGE_LIBSIGSEGV_ARCH_SUPPORTS=y +# BR2_PACKAGE_LIBSIGSEGV is not set +# BR2_PACKAGE_LIBSPATIALINDEX is not set +# BR2_PACKAGE_LIBTASN1 is not set +BR2_PACKAGE_LIBTOMMATH=y +# BR2_PACKAGE_LIBTPL is not set +# BR2_PACKAGE_LIBUBOX is not set +# BR2_PACKAGE_LIBUCI is not set +BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS=y +# BR2_PACKAGE_LIBURCU is not set +# BR2_PACKAGE_LIBUV is not set +# BR2_PACKAGE_LINUX_PAM is not set +# BR2_PACKAGE_LIQUID_DSP is not set +# BR2_PACKAGE_LTTNG_LIBUST is not set +# BR2_PACKAGE_MPC is not set +# BR2_PACKAGE_MPDECIMAL is not set +# BR2_PACKAGE_MPFR is not set +# BR2_PACKAGE_MPIR is not set +# BR2_PACKAGE_MSGPACK is not set +# BR2_PACKAGE_MTDEV2TUIO is not set +# BR2_PACKAGE_ORC is not set +# BR2_PACKAGE_P11_KIT is not set +BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y +# BR2_PACKAGE_PROTOBUF is not set +# BR2_PACKAGE_PROTOBUF_C is not set +# BR2_PACKAGE_QHULL is not set +# BR2_PACKAGE_QLIBC is not set +# BR2_PACKAGE_RIEMANN_C_CLIENT is not set +# BR2_PACKAGE_SHAPELIB is not set +# BR2_PACKAGE_SKALIBS is not set +# BR2_PACKAGE_SPHINXBASE is not set +# BR2_PACKAGE_TINYCBOR is not set +# BR2_PACKAGE_XAPIAN is not set + +# +# Security +# +# BR2_PACKAGE_LIBSELINUX is not set +# BR2_PACKAGE_LIBSEPOL is not set +# BR2_PACKAGE_SAFECLIB is not set + +# +# Text and terminal handling +# +# BR2_PACKAGE_AUGEAS is not set +# BR2_PACKAGE_ENCHANT is not set +# BR2_PACKAGE_FMT is not set +# BR2_PACKAGE_FSTRCMP is not set +# BR2_PACKAGE_ICU is not set +# BR2_PACKAGE_LIBCLI is not set +# BR2_PACKAGE_LIBEDIT is not set +# BR2_PACKAGE_LIBENCA is not set +# BR2_PACKAGE_LIBESTR is not set +# BR2_PACKAGE_LIBFRIBIDI is not set +# BR2_PACKAGE_LIBUNISTRING is not set +# BR2_PACKAGE_LINENOISE is not set +# BR2_PACKAGE_NCURSES is not set +# BR2_PACKAGE_NEWT is not set +# BR2_PACKAGE_ONIGURUMA is not set +BR2_PACKAGE_PCRE=y +# BR2_PACKAGE_PCRE_16 is not set +# BR2_PACKAGE_PCRE_32 is not set +# BR2_PACKAGE_PCRE_UTF is not set +# BR2_PACKAGE_PCRE_UCP is not set +# BR2_PACKAGE_PCRE2 is not set +# BR2_PACKAGE_POPT is not set +# BR2_PACKAGE_READLINE is not set +# BR2_PACKAGE_SLANG is not set +# BR2_PACKAGE_TCLAP is not set +# BR2_PACKAGE_UTF8PROC is not set + +# +# Mail +# +# BR2_PACKAGE_DOVECOT is not set +# BR2_PACKAGE_EXIM is not set +# BR2_PACKAGE_FETCHMAIL is not set +# BR2_PACKAGE_HEIRLOOM_MAILX is not set +# BR2_PACKAGE_LIBESMTP is not set +# BR2_PACKAGE_MSMTP is not set +# BR2_PACKAGE_MUTT is not set + +# +# Miscellaneous +# +# BR2_PACKAGE_AESPIPE is not set +# BR2_PACKAGE_BC is not set +# BR2_PACKAGE_CLAMAV is not set +# BR2_PACKAGE_COLLECTD is not set +# BR2_PACKAGE_COLLECTL is not set + +# +# domoticz needs lua 5.3 and a toolchain w/ C++, gcc >= 4.8, NPTL, wchar, dynamic library +# +# BR2_PACKAGE_EMPTY is not set +# BR2_PACKAGE_GNURADIO is not set +# BR2_PACKAGE_GOOGLEFONTDIRECTORY is not set + +# +# gqrx needs a toolchain w/ C++, threads, wchar, dynamic library +# + +# +# gqrx needs qt5 +# +# BR2_PACKAGE_GSETTINGS_DESKTOP_SCHEMAS is not set +BR2_PACKAGE_HAVEGED=y +# BR2_PACKAGE_LINUX_SYSCALL_SUPPORT is not set +# BR2_PACKAGE_MCRYPT is not set +# BR2_PACKAGE_MOBILE_BROADBAND_PROVIDER_INFO is not set +# BR2_PACKAGE_PROJ is not set +# BR2_PACKAGE_QPDF is not set +# BR2_PACKAGE_SHARED_MIME_INFO is not set +# BR2_PACKAGE_SUNWAIT is not set +# BR2_PACKAGE_TASKD is not set +# BR2_PACKAGE_XUTIL_UTIL_MACROS is not set + +# +# Networking applications +# +# BR2_PACKAGE_AIRCRACK_NG is not set +# BR2_PACKAGE_AOETOOLS is not set +# BR2_PACKAGE_APACHE is not set +# BR2_PACKAGE_ARGUS is not set +# BR2_PACKAGE_ARP_SCAN is not set +# BR2_PACKAGE_ARPTABLES is not set +# BR2_PACKAGE_ASTERISK is not set +# BR2_PACKAGE_ATFTP is not set +# BR2_PACKAGE_AUTOSSH is not set +# BR2_PACKAGE_AVAHI is not set +# BR2_PACKAGE_AXEL is not set +# BR2_PACKAGE_BABELD is not set +# BR2_PACKAGE_BANDWIDTHD is not set +# BR2_PACKAGE_BATCTL is not set +# BR2_PACKAGE_BCUSDK is not set +# BR2_PACKAGE_BIND is not set +# BR2_PACKAGE_BIRD is not set +# BR2_PACKAGE_BLUEZ_UTILS is not set +# BR2_PACKAGE_BLUEZ5_UTILS is not set +# BR2_PACKAGE_BMON is not set +# BR2_PACKAGE_BOA is not set +# BR2_PACKAGE_BOINC is not set +# BR2_PACKAGE_BRCM_PATCHRAM_PLUS is not set +# BR2_PACKAGE_BRIDGE_UTILS is not set +# BR2_PACKAGE_BWM_NG is not set +# BR2_PACKAGE_C_ICAP is not set +# BR2_PACKAGE_CAN_UTILS is not set +# BR2_PACKAGE_CANNELLONI is not set +# BR2_PACKAGE_CHRONY is not set +# BR2_PACKAGE_CIVETWEB is not set +# BR2_PACKAGE_CONNMAN is not set + +# +# connman-gtk needs libgtk3 and a glibc or uClibc toolchain w/ wchar, threads, resolver, dynamic library +# +# BR2_PACKAGE_CONNTRACK_TOOLS is not set +# BR2_PACKAGE_CORKSCREW is not set +# BR2_PACKAGE_CRDA is not set +# BR2_PACKAGE_CTORRENT is not set +# BR2_PACKAGE_CUPS is not set +# BR2_PACKAGE_DANTE is not set +# BR2_PACKAGE_DARKHTTPD is not set +# BR2_PACKAGE_DEHYDRATED is not set +# BR2_PACKAGE_DHCPCD is not set +# BR2_PACKAGE_DHCPDUMP is not set +# BR2_PACKAGE_DNSMASQ is not set +# BR2_PACKAGE_DRBD_UTILS is not set +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_DROPBEAR_CLIENT=y +# BR2_PACKAGE_DROPBEAR_DISABLE_REVERSEDNS is not set +BR2_PACKAGE_DROPBEAR_SMALL=y +# BR2_PACKAGE_DROPBEAR_WTMP is not set +# BR2_PACKAGE_DROPBEAR_LASTLOG is not set +# BR2_PACKAGE_DROPBEAR_LEGACY_CRYPTO is not set +BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="" +# BR2_PACKAGE_EBTABLES is not set + +# +# ejabberd needs erlang, toolchain w/ C++ +# +# BR2_PACKAGE_ETHTOOL is not set +# BR2_PACKAGE_FAIFA is not set +# BR2_PACKAGE_FASTD is not set +# BR2_PACKAGE_FCGIWRAP is not set +# BR2_PACKAGE_FPING is not set +# BR2_PACKAGE_FREESWITCH is not set +# BR2_PACKAGE_GERBERA is not set +# BR2_PACKAGE_GESFTPSERVER is not set +# BR2_PACKAGE_GLORYTUN is not set + +# +# gupnp-tools needs libgtk3 +# +# BR2_PACKAGE_HANS is not set +BR2_PACKAGE_HAPROXY_ARCH_SUPPORTS=y +# BR2_PACKAGE_HAPROXY is not set +# BR2_PACKAGE_HIAWATHA is not set +# BR2_PACKAGE_HOSTAPD is not set +# BR2_PACKAGE_HTTPING is not set +# BR2_PACKAGE_I2PD is not set +# BR2_PACKAGE_IBRDTN_TOOLS is not set +# BR2_PACKAGE_IBRDTND is not set +# BR2_PACKAGE_IFMETRIC is not set +# BR2_PACKAGE_IFTOP is not set +BR2_PACKAGE_IFUPDOWN_SCRIPTS=y +# BR2_PACKAGE_IGD2_FOR_LINUX is not set +# BR2_PACKAGE_IGH_ETHERCAT is not set +# BR2_PACKAGE_IGMPPROXY is not set +# BR2_PACKAGE_INADYN is not set +# BR2_PACKAGE_IODINE is not set +# BR2_PACKAGE_IPERF is not set +# BR2_PACKAGE_IPERF3 is not set +# BR2_PACKAGE_IPROUTE2 is not set +# BR2_PACKAGE_IPSEC_TOOLS is not set +# BR2_PACKAGE_IPSET is not set +# BR2_PACKAGE_IPTABLES is not set +# BR2_PACKAGE_IPTRAF_NG is not set +# BR2_PACKAGE_IPUTILS is not set +# BR2_PACKAGE_IRSSI is not set +# BR2_PACKAGE_IW is not set +# BR2_PACKAGE_IWD is not set +# BR2_PACKAGE_JANUS_GATEWAY is not set +# BR2_PACKAGE_KEEPALIVED is not set +# BR2_PACKAGE_KISMET is not set +# BR2_PACKAGE_KNOCK is not set +# BR2_PACKAGE_LEAFNODE2 is not set +# BR2_PACKAGE_LFT is not set +# BR2_PACKAGE_LFTP is not set +# BR2_PACKAGE_LIGHTTPD is not set +# BR2_PACKAGE_LINKNX is not set +BR2_PACKAGE_LINKS=y +# BR2_PACKAGE_LINPHONE is not set +# BR2_PACKAGE_LINUX_ZIGBEE is not set +# BR2_PACKAGE_LINUXPTP is not set +# BR2_PACKAGE_LLDPD is not set +# BR2_PACKAGE_LRZSZ is not set +# BR2_PACKAGE_LYNX is not set +# BR2_PACKAGE_MACCHANGER is not set +# BR2_PACKAGE_MEMCACHED is not set +# BR2_PACKAGE_MII_DIAG is not set +# BR2_PACKAGE_MINI_SNMPD is not set +# BR2_PACKAGE_MINIDLNA is not set +# BR2_PACKAGE_MINISSDPD is not set +# BR2_PACKAGE_MJPG_STREAMER is not set +# BR2_PACKAGE_MODEM_MANAGER is not set +BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y +# BR2_PACKAGE_MONGREL2 is not set +# BR2_PACKAGE_MONKEY is not set +# BR2_PACKAGE_MOSH is not set +# BR2_PACKAGE_MOSQUITTO is not set +# BR2_PACKAGE_MROUTED is not set +# BR2_PACKAGE_MTR is not set +# BR2_PACKAGE_NBD is not set +# BR2_PACKAGE_NCFTP is not set +# BR2_PACKAGE_NDISC6 is not set +# BR2_PACKAGE_NETATALK is not set +# BR2_PACKAGE_NETPLUG is not set +# BR2_PACKAGE_NETSNMP is not set +# BR2_PACKAGE_NETSTAT_NAT is not set + +# +# NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 3.2, dynamic library +# +# BR2_PACKAGE_NFACCT is not set +# BR2_PACKAGE_NFTABLES is not set +BR2_PACKAGE_NGINX=y +# BR2_PACKAGE_NGINX_FILE_AIO is not set +# BR2_PACKAGE_NGINX_THREADS is not set +BR2_PACKAGE_NGINX_HTTP=y +# BR2_PACKAGE_NGINX_HTTP_CACHE is not set + +# +# http modules +# +# BR2_PACKAGE_NGINX_HTTP_SSL_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_V2_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_REALIP_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_ADDITION_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_XSLT_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_IMAGE_FILTER_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_SUB_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_DAV_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_FLV_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_MP4_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_GUNZIP_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_GZIP_STATIC_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_AUTH_REQUEST_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_RANDOM_INDEX_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_SECURE_LINK_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_DEGRADATION_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_STUB_STATUS_MODULE is not set +BR2_PACKAGE_NGINX_HTTP_CHARSET_MODULE=y +BR2_PACKAGE_NGINX_HTTP_GZIP_MODULE=y +BR2_PACKAGE_NGINX_HTTP_SSI_MODULE=y +BR2_PACKAGE_NGINX_HTTP_USERID_MODULE=y +BR2_PACKAGE_NGINX_HTTP_ACCESS_MODULE=y +BR2_PACKAGE_NGINX_HTTP_AUTH_BASIC_MODULE=y +BR2_PACKAGE_NGINX_HTTP_AUTOINDEX_MODULE=y +BR2_PACKAGE_NGINX_HTTP_GEO_MODULE=y +BR2_PACKAGE_NGINX_HTTP_MAP_MODULE=y +BR2_PACKAGE_NGINX_HTTP_SPLIT_CLIENTS_MODULE=y +BR2_PACKAGE_NGINX_HTTP_REFERER_MODULE=y +BR2_PACKAGE_NGINX_HTTP_REWRITE_MODULE=y +BR2_PACKAGE_NGINX_HTTP_PROXY_MODULE=y +BR2_PACKAGE_NGINX_HTTP_FASTCGI_MODULE=y +BR2_PACKAGE_NGINX_HTTP_UWSGI_MODULE=y +BR2_PACKAGE_NGINX_HTTP_SCGI_MODULE=y +BR2_PACKAGE_NGINX_HTTP_MEMCACHED_MODULE=y +BR2_PACKAGE_NGINX_HTTP_LIMIT_CONN_MODULE=y +BR2_PACKAGE_NGINX_HTTP_LIMIT_REQ_MODULE=y +BR2_PACKAGE_NGINX_HTTP_EMPTY_GIF_MODULE=y +BR2_PACKAGE_NGINX_HTTP_BROWSER_MODULE=y +BR2_PACKAGE_NGINX_HTTP_UPSTREAM_IP_HASH_MODULE=y +BR2_PACKAGE_NGINX_HTTP_UPSTREAM_LEAST_CONN_MODULE=y +BR2_PACKAGE_NGINX_HTTP_UPSTREAM_KEEPALIVE_MODULE=y +# BR2_PACKAGE_NGINX_MAIL is not set +# BR2_PACKAGE_NGINX_STREAM is not set +# BR2_PACKAGE_NGINX_DEBUG is not set + +# +# misc. modules +# +# BR2_PACKAGE_NGINX_SELECT_MODULE is not set +# BR2_PACKAGE_NGINX_POLL_MODULE is not set +BR2_PACKAGE_NGINX_ADD_MODULES="" + +# +# External nginx modules +# +# BR2_PACKAGE_NGINX_NAXSI is not set +# BR2_PACKAGE_NGINX_UPLOAD is not set +# BR2_PACKAGE_NGIRCD is not set +# BR2_PACKAGE_NGREP is not set +# BR2_PACKAGE_NLOAD is not set +# BR2_PACKAGE_NMAP is not set +# BR2_PACKAGE_NOIP is not set +# BR2_PACKAGE_NTP is not set +# BR2_PACKAGE_NUTTCP is not set +# BR2_PACKAGE_ODHCP6C is not set +# BR2_PACKAGE_ODHCPLOC is not set +# BR2_PACKAGE_OLSR is not set +# BR2_PACKAGE_OPEN_LLDP is not set +# BR2_PACKAGE_OPEN_PLC_UTILS is not set +# BR2_PACKAGE_OPENNTPD is not set +# BR2_PACKAGE_OPENOBEX is not set +# BR2_PACKAGE_OPENRESOLV is not set +# BR2_PACKAGE_OPENSSH is not set +# BR2_PACKAGE_OPENSWAN is not set +# BR2_PACKAGE_OPENVPN is not set +# BR2_PACKAGE_P910ND is not set +# BR2_PACKAGE_PHIDGETWEBSERVICE is not set +# BR2_PACKAGE_PHYTOOL is not set +# BR2_PACKAGE_PIMD is not set +# BR2_PACKAGE_PIXIEWPS is not set +# BR2_PACKAGE_POUND is not set +# BR2_PACKAGE_PPPD is not set +# BR2_PACKAGE_PPTP_LINUX is not set +# BR2_PACKAGE_PRIVOXY is not set +# BR2_PACKAGE_PROFTPD is not set + +# +# prosody needs the lua interpreter, dynamic library +# +# BR2_PACKAGE_PROXYCHAINS_NG is not set +# BR2_PACKAGE_PTPD is not set +# BR2_PACKAGE_PTPD2 is not set +# BR2_PACKAGE_PURE_FTPD is not set +# BR2_PACKAGE_PUTTY is not set +# BR2_PACKAGE_QUAGGA is not set + +# +# rabbitmq-server needs erlang +# +# BR2_PACKAGE_RADVD is not set +# BR2_PACKAGE_REAVER is not set +# BR2_PACKAGE_RP_PPPOE is not set +# BR2_PACKAGE_RPCBIND is not set +# BR2_PACKAGE_RSH_REDONE is not set +# BR2_PACKAGE_RSYNC is not set +# BR2_PACKAGE_RTORRENT is not set +# BR2_PACKAGE_RTPTOOLS is not set +# BR2_PACKAGE_RYGEL is not set +# BR2_PACKAGE_S6_DNS is not set +# BR2_PACKAGE_S6_NETWORKING is not set +# BR2_PACKAGE_SAMBA4 is not set +# BR2_PACKAGE_SCONESERVER is not set +# BR2_PACKAGE_SER2NET is not set +# BR2_PACKAGE_SHADOWSOCKS_LIBEV is not set +# BR2_PACKAGE_SHAIRPORT_SYNC is not set +# BR2_PACKAGE_SHELLINABOX is not set +# BR2_PACKAGE_SMCROUTE is not set +# BR2_PACKAGE_SNGREP is not set +# BR2_PACKAGE_SNORT is not set +# BR2_PACKAGE_SOCAT is not set +# BR2_PACKAGE_SOCKETCAND is not set +# BR2_PACKAGE_SOFTETHER is not set +# BR2_PACKAGE_SPAWN_FCGI is not set +# BR2_PACKAGE_SPICE_PROTOCOL is not set +# BR2_PACKAGE_SQUID is not set +# BR2_PACKAGE_SSHGUARD is not set +# BR2_PACKAGE_SSHPASS is not set +# BR2_PACKAGE_SSLH is not set +# BR2_PACKAGE_STRONGSWAN is not set +# BR2_PACKAGE_STUNNEL is not set +# BR2_PACKAGE_SURICATA is not set +BR2_PACKAGE_TCPDUMP=y +# BR2_PACKAGE_TCPDUMP_SMB is not set +# BR2_PACKAGE_TCPING is not set +# BR2_PACKAGE_TCPREPLAY is not set +# BR2_PACKAGE_THTTPD is not set +# BR2_PACKAGE_TINC is not set +# BR2_PACKAGE_TINYHTTPD is not set +# BR2_PACKAGE_TOR is not set +# BR2_PACKAGE_TRACEROUTE is not set +# BR2_PACKAGE_TRANSMISSION is not set +# BR2_PACKAGE_TUNCTL is not set +# BR2_PACKAGE_TVHEADEND is not set +# BR2_PACKAGE_UACME is not set +# BR2_PACKAGE_UDPCAST is not set +# BR2_PACKAGE_UFTP is not set +# BR2_PACKAGE_UHTTPD is not set +# BR2_PACKAGE_ULOGD is not set +# BR2_PACKAGE_USHARE is not set +# BR2_PACKAGE_USSP_PUSH is not set +# BR2_PACKAGE_VDE2 is not set +# BR2_PACKAGE_VDR is not set +# BR2_PACKAGE_VNSTAT is not set +# BR2_PACKAGE_VPNC is not set +# BR2_PACKAGE_VSFTPD is not set +# BR2_PACKAGE_VTUN is not set +# BR2_PACKAGE_WAVEMON is not set +# BR2_PACKAGE_WIREGUARD is not set +# BR2_PACKAGE_WIRELESS_REGDB is not set +# BR2_PACKAGE_WIRELESS_TOOLS is not set +# BR2_PACKAGE_WIRESHARK is not set +# BR2_PACKAGE_WPA_SUPPLICANT is not set +# BR2_PACKAGE_WPAN_TOOLS is not set +# BR2_PACKAGE_XINETD is not set +# BR2_PACKAGE_XL2TP is not set +# BR2_PACKAGE_XTABLES_ADDONS is not set +# BR2_PACKAGE_ZNC is not set + +# +# Package managers +# + +# +# ------------------------------------------------------- +# + +# +# Please note: +# + +# +# - Buildroot does *not* generate binary packages, +# + +# +# - Buildroot does *not* install any package database. +# + +# +# * +# + +# +# It is up to you to provide those by yourself if you +# + +# +# want to use any of those package managers. +# + +# +# * +# + +# +# See the manual: +# + +# +# http://buildroot.org/manual.html#faq-no-binary-packages +# + +# +# ------------------------------------------------------- +# +# BR2_PACKAGE_OPKG is not set + +# +# Real-Time +# +# BR2_PACKAGE_XENOMAI is not set + +# +# Security +# +# BR2_PACKAGE_CHECKPOLICY is not set +# BR2_PACKAGE_OPTEE_BENCHMARK is not set +# BR2_PACKAGE_OPTEE_CLIENT is not set +# BR2_PACKAGE_PAXTEST is not set +# BR2_PACKAGE_RESTORECOND is not set +# BR2_PACKAGE_SELINUX_PYTHON is not set +# BR2_PACKAGE_SEMODULE_UTILS is not set +# BR2_PACKAGE_SETOOLS is not set + +# +# Shell and utilities +# + +# +# Shells +# +# BR2_PACKAGE_MKSH is not set +# BR2_PACKAGE_ZSH is not set + +# +# Utilities +# +# BR2_PACKAGE_AT is not set +# BR2_PACKAGE_CCRYPT is not set +# BR2_PACKAGE_DIALOG is not set +# BR2_PACKAGE_DTACH is not set +# BR2_PACKAGE_EASY_RSA is not set +# BR2_PACKAGE_FILE is not set +# BR2_PACKAGE_GNUPG is not set +# BR2_PACKAGE_GNUPG2 is not set +# BR2_PACKAGE_INOTIFY_TOOLS is not set +# BR2_PACKAGE_LOCKFILE_PROGS is not set +# BR2_PACKAGE_LOGROTATE is not set +# BR2_PACKAGE_LOGSURFER is not set +# BR2_PACKAGE_PDMENU is not set +# BR2_PACKAGE_PINENTRY is not set +# BR2_PACKAGE_RANGER is not set +# BR2_PACKAGE_SCREEN is not set +# BR2_PACKAGE_SUDO is not set +# BR2_PACKAGE_TINI is not set +# BR2_PACKAGE_TMUX is not set +# BR2_PACKAGE_XMLSTARLET is not set +# BR2_PACKAGE_XXHASH is not set +# BR2_PACKAGE_YTREE is not set + +# +# System tools +# +# BR2_PACKAGE_ACL is not set +# BR2_PACKAGE_ANDROID_TOOLS is not set +# BR2_PACKAGE_ATOP is not set +# BR2_PACKAGE_ATTR is not set +# BR2_PACKAGE_CGROUPFS_MOUNT is not set + +# +# circus needs Python 3 and a toolchain w/ C++, threads +# +# BR2_PACKAGE_CPULOAD is not set +# BR2_PACKAGE_DAEMON is not set +# BR2_PACKAGE_DC3DD is not set +# BR2_PACKAGE_DDRESCUE is not set +# BR2_PACKAGE_DOCKER_COMPOSE is not set +# BR2_PACKAGE_EMLOG is not set +# BR2_PACKAGE_FTOP is not set +# BR2_PACKAGE_GETENT is not set +# BR2_PACKAGE_HTOP is not set +BR2_PACKAGE_INITSCRIPTS=y + +# +# iotop depends on python or python3 +# +# BR2_PACKAGE_IPRUTILS is not set +# BR2_PACKAGE_IRQBALANCE is not set +# BR2_PACKAGE_KEYUTILS is not set +# BR2_PACKAGE_KMOD is not set +# BR2_PACKAGE_LIBOSTREE is not set +# BR2_PACKAGE_LXC is not set +# BR2_PACKAGE_MONIT is not set +# BR2_PACKAGE_NCDU is not set + +# +# netifrc needs openrc as init system +# +# BR2_PACKAGE_NUT is not set + +# +# pamtester depends on linux-pam +# +# BR2_PACKAGE_POLKIT is not set +# BR2_PACKAGE_PROCRANK_LINUX is not set +# BR2_PACKAGE_PWGEN is not set +# BR2_PACKAGE_QUOTA is not set +# BR2_PACKAGE_QUOTATOOL is not set +# BR2_PACKAGE_RAUC is not set +# BR2_PACKAGE_S6 is not set +# BR2_PACKAGE_S6_LINUX_INIT is not set +# BR2_PACKAGE_S6_LINUX_UTILS is not set +# BR2_PACKAGE_S6_PORTABLE_UTILS is not set +# BR2_PACKAGE_S6_RC is not set +# BR2_PACKAGE_SCRUB is not set +# BR2_PACKAGE_SCRYPT is not set +# BR2_PACKAGE_SMACK is not set + +# +# supervisor needs the python interpreter +# +# BR2_PACKAGE_SWUPDATE is not set +BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS=y +# BR2_PACKAGE_TPM_TOOLS is not set +# BR2_PACKAGE_TPM2_ABRMD is not set +# BR2_PACKAGE_TPM2_TOOLS is not set +# BR2_PACKAGE_TPM2_TOTP is not set +# BR2_PACKAGE_UNSCD is not set +# BR2_PACKAGE_UTIL_LINUX is not set + +# +# Text editors and viewers +# +# BR2_PACKAGE_ED is not set +# BR2_PACKAGE_JOE is not set +# BR2_PACKAGE_MC is not set +# BR2_PACKAGE_MOST is not set +# BR2_PACKAGE_NANO is not set +# BR2_PACKAGE_UEMACS is not set + +# +# Filesystem images +# +# BR2_TARGET_ROOTFS_AXFS is not set +# BR2_TARGET_ROOTFS_BTRFS is not set +# BR2_TARGET_ROOTFS_CLOOP is not set +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_CPIO_NONE=y +# BR2_TARGET_ROOTFS_CPIO_GZIP is not set +# BR2_TARGET_ROOTFS_CPIO_BZIP2 is not set +# BR2_TARGET_ROOTFS_CPIO_LZ4 is not set +# BR2_TARGET_ROOTFS_CPIO_LZMA is not set +# BR2_TARGET_ROOTFS_CPIO_LZO is not set +# BR2_TARGET_ROOTFS_CPIO_XZ is not set +# BR2_TARGET_ROOTFS_CPIO_UIMAGE is not set +# BR2_TARGET_ROOTFS_CRAMFS is not set +# BR2_TARGET_ROOTFS_EXT2 is not set +# BR2_TARGET_ROOTFS_F2FS is not set +# BR2_TARGET_ROOTFS_INITRAMFS is not set +# BR2_TARGET_ROOTFS_JFFS2 is not set +# BR2_TARGET_ROOTFS_ROMFS is not set +# BR2_TARGET_ROOTFS_SQUASHFS is not set +BR2_TARGET_ROOTFS_TAR=y +BR2_TARGET_ROOTFS_TAR_NONE=y +# BR2_TARGET_ROOTFS_TAR_GZIP is not set +# BR2_TARGET_ROOTFS_TAR_BZIP2 is not set +# BR2_TARGET_ROOTFS_TAR_LZ4 is not set +# BR2_TARGET_ROOTFS_TAR_LZMA is not set +# BR2_TARGET_ROOTFS_TAR_LZO is not set +# BR2_TARGET_ROOTFS_TAR_XZ is not set +BR2_TARGET_ROOTFS_TAR_OPTIONS="" +# BR2_TARGET_ROOTFS_UBI is not set +# BR2_TARGET_ROOTFS_UBIFS is not set +# BR2_TARGET_ROOTFS_YAFFS2 is not set + +# +# Bootloaders +# +# BR2_TARGET_BAREBOX is not set +# BR2_TARGET_OPENSBI is not set +# BR2_TARGET_UBOOT is not set + +# +# Host utilities +# +# BR2_PACKAGE_HOST_AESPIPE is not set +# BR2_PACKAGE_HOST_ANDROID_TOOLS is not set +# BR2_PACKAGE_HOST_BTRFS_PROGS is not set +# BR2_PACKAGE_HOST_CARGO is not set +# BR2_PACKAGE_HOST_CHECKPOLICY is not set +# BR2_PACKAGE_HOST_CHECKSEC is not set +# BR2_PACKAGE_HOST_CMAKE is not set +# BR2_PACKAGE_HOST_CRAMFS is not set +# BR2_PACKAGE_HOST_CRYPTSETUP is not set +# BR2_PACKAGE_HOST_DBUS_PYTHON is not set +# BR2_PACKAGE_HOST_DFU_UTIL is not set +# BR2_PACKAGE_HOST_DOS2UNIX is not set +# BR2_PACKAGE_HOST_DOSFSTOOLS is not set +# BR2_PACKAGE_HOST_DTC is not set +# BR2_PACKAGE_HOST_E2FSPROGS is not set +# BR2_PACKAGE_HOST_E2TOOLS is not set +# BR2_PACKAGE_HOST_F2FS_TOOLS is not set +# BR2_PACKAGE_HOST_FAKETIME is not set +# BR2_PACKAGE_HOST_FATCAT is not set +# BR2_PACKAGE_HOST_FWUP is not set +# BR2_PACKAGE_HOST_GENEXT2FS is not set +# BR2_PACKAGE_HOST_GENIMAGE is not set +# BR2_PACKAGE_HOST_GENPART is not set +# BR2_PACKAGE_HOST_GNUPG is not set +BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_GO_BOOTSTRAP_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS=y +# BR2_PACKAGE_HOST_GPTFDISK is not set +# BR2_PACKAGE_HOST_IMAGEMAGICK is not set +# BR2_PACKAGE_HOST_IMX_MKIMAGE is not set +# BR2_PACKAGE_HOST_JQ is not set +# BR2_PACKAGE_HOST_JSMIN is not set +# BR2_PACKAGE_HOST_LIBP11 is not set +# BR2_PACKAGE_HOST_LPC3250LOADER is not set +# BR2_PACKAGE_HOST_LTTNG_BABELTRACE is not set +# BR2_PACKAGE_HOST_MENDER_ARTIFACT is not set +BR2_PACKAGE_HOST_MKPASSWD=y +# BR2_PACKAGE_HOST_MTD is not set +# BR2_PACKAGE_HOST_MTOOLS is not set +# BR2_PACKAGE_HOST_OPENOCD is not set +# BR2_PACKAGE_HOST_OPKG_UTILS is not set +# BR2_PACKAGE_HOST_PARTED is not set +BR2_PACKAGE_HOST_PATCHELF=y +# BR2_PACKAGE_HOST_PKGCONF is not set +# BR2_PACKAGE_HOST_PWGEN is not set +# BR2_PACKAGE_HOST_PYTHON_CYTHON is not set +# BR2_PACKAGE_HOST_PYTHON_LXML is not set +# BR2_PACKAGE_HOST_PYTHON_SIX is not set +# BR2_PACKAGE_HOST_PYTHON_XLRD is not set +BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS=y +# BR2_PACKAGE_HOST_QEMU is not set +# BR2_PACKAGE_HOST_RAUC is not set +# BR2_PACKAGE_HOST_RCW is not set +BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_RUSTC_ARCH="riscv32" +# BR2_PACKAGE_HOST_RUSTC is not set +BR2_PACKAGE_PROVIDES_HOST_RUSTC="host-rust-bin" +# BR2_PACKAGE_HOST_SAM_BA is not set +# BR2_PACKAGE_HOST_SQUASHFS is not set +# BR2_PACKAGE_HOST_SWIG is not set +# BR2_PACKAGE_HOST_UBOOT_TOOLS is not set +# BR2_PACKAGE_HOST_UTIL_LINUX is not set +# BR2_PACKAGE_HOST_UTP_COM is not set +# BR2_PACKAGE_HOST_VBOOT_UTILS is not set +# BR2_PACKAGE_HOST_XORRISO is not set +# BR2_PACKAGE_HOST_ZIP is not set +# BR2_PACKAGE_HOST_ZSTD is not set + +# +# Legacy config options +# + +# +# Legacy options removed in 2019.11 +# +# BR2_PACKAGE_PYTHON_PYSNMP_APPS is not set +# BR2_KERNEL_HEADERS_5_2 is not set +# BR2_TARGET_RISCV_PK is not set +# BR2_PACKAGE_SQLITE_STAT3 is not set +# BR2_KERNEL_HEADERS_5_1 is not set +# BR2_PACKAGE_DEVMEM2 is not set +# BR2_PACKAGE_USTR is not set +# BR2_PACKAGE_KODI_SCREENSAVER_PLANESTATE is not set +# BR2_PACKAGE_KODI_VISUALISATION_WAVEFORHUE is not set +# BR2_PACKAGE_KODI_AUDIODECODER_OPUS is not set +# BR2_PACKAGE_MESA3D_OSMESA is not set +# BR2_PACKAGE_HOSTAPD_DRIVER_RTW is not set +# BR2_PACKAGE_WPA_SUPPLICANT_DBUS_NEW is not set +# BR2_PACKAGE_WPA_SUPPLICANT_DBUS_OLD is not set + +# +# Legacy options removed in 2019.08 +# +# BR2_TARGET_TS4800_MBRBOOT is not set +# BR2_PACKAGE_LIBAMCODEC is not set +# BR2_PACKAGE_ODROID_SCRIPTS is not set +# BR2_PACKAGE_ODROID_MALI is not set +# BR2_PACKAGE_KODI_PLATFORM_AML is not set +# BR2_GCC_VERSION_6_X is not set +# BR2_GCC_VERSION_4_9_X is not set +# BR2_GDB_VERSION_7_12 is not set +# BR2_PACKAGE_XAPP_MKFONTDIR is not set +# BR2_GDB_VERSION_8_0 is not set +# BR2_KERNEL_HEADERS_4_20 is not set +# BR2_KERNEL_HEADERS_5_0 is not set + +# +# Legacy options removed in 2019.05 +# +# BR2_CSKY_DSP is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COMPOSITOR is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IQA is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENCV is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_STEREO is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VCD is not set +# BR2_PACKAGE_LUNIT is not set +# BR2_PACKAGE_FFMPEG_FFSERVER is not set +# BR2_PACKAGE_LIBUMP is not set +# BR2_PACKAGE_SUNXI_MALI is not set +# BR2_BINUTILS_VERSION_2_29_X is not set +# BR2_BINUTILS_VERSION_2_28_X is not set +# BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_APEXSINK is not set + +# +# Legacy options removed in 2019.02 +# +# BR2_PACKAGE_QT is not set +# BR2_PACKAGE_QTUIO is not set +# BR2_PACKAGE_PINENTRY_QT4 is not set +# BR2_PACKAGE_POPPLER_QT is not set +# BR2_PACKAGE_OPENCV3_WITH_QT is not set +# BR2_PACKAGE_OPENCV_WITH_QT is not set +# BR2_PACKAGE_AMD_CATALYST_CCCLE is not set +# BR2_PACKAGE_SDL_QTOPIA is not set +# BR2_PACKAGE_PYTHON_PYQT is not set +# BR2_PACKAGE_GNURADIO_QTGUI is not set +# BR2_PACKAGE_LUACRYPTO is not set +# BR2_PACKAGE_TN5250 is not set +# BR2_PACKAGE_BOOST_SIGNALS is not set +# BR2_PACKAGE_FFTW_PRECISION_SINGLE is not set +# BR2_PACKAGE_FFTW_PRECISION_DOUBLE is not set +# BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE is not set +# BR2_PACKAGE_LUA_5_2 is not set +# BR2_TARGET_GENERIC_PASSWD_MD5 is not set + +# +# Legacy options removed in 2018.11 +# +# BR2_TARGET_XLOADER is not set +# BR2_PACKAGE_TIDSP_BINARIES is not set +# BR2_PACKAGE_DSP_TOOLS is not set +# BR2_PACKAGE_GST_DSP is not set +# BR2_PACKAGE_BOOTUTILS is not set +# BR2_PACKAGE_EXPEDITE is not set +# BR2_PACKAGE_MESA3D_OPENGL_TEXTURE_FLOAT is not set +# BR2_KERNEL_HEADERS_4_10 is not set +# BR2_KERNEL_HEADERS_4_11 is not set +# BR2_KERNEL_HEADERS_4_12 is not set +# BR2_KERNEL_HEADERS_4_13 is not set +# BR2_KERNEL_HEADERS_4_15 is not set +# BR2_KERNEL_HEADERS_4_17 is not set +# BR2_PACKAGE_LIBNFTNL_XML is not set +# BR2_KERNEL_HEADERS_3_2 is not set +# BR2_KERNEL_HEADERS_4_1 is not set +# BR2_KERNEL_HEADERS_4_16 is not set +# BR2_KERNEL_HEADERS_4_18 is not set + +# +# Legacy options removed in 2018.08 +# +# BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT is not set +# BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_19 is not set +# BR2_PACKAGE_XPROTO_APPLEWMPROTO is not set +# BR2_PACKAGE_XPROTO_BIGREQSPROTO is not set +# BR2_PACKAGE_XPROTO_COMPOSITEPROTO is not set +# BR2_PACKAGE_XPROTO_DAMAGEPROTO is not set +# BR2_PACKAGE_XPROTO_DMXPROTO is not set +# BR2_PACKAGE_XPROTO_DRI2PROTO is not set +# BR2_PACKAGE_XPROTO_DRI3PROTO is not set +# BR2_PACKAGE_XPROTO_FIXESPROTO is not set +# BR2_PACKAGE_XPROTO_FONTCACHEPROTO is not set +# BR2_PACKAGE_XPROTO_FONTSPROTO is not set +# BR2_PACKAGE_XPROTO_GLPROTO is not set +# BR2_PACKAGE_XPROTO_INPUTPROTO is not set +# BR2_PACKAGE_XPROTO_KBPROTO is not set +# BR2_PACKAGE_XPROTO_PRESENTPROTO is not set +# BR2_PACKAGE_XPROTO_RANDRPROTO is not set +# BR2_PACKAGE_XPROTO_RECORDPROTO is not set +# BR2_PACKAGE_XPROTO_RENDERPROTO is not set +# BR2_PACKAGE_XPROTO_RESOURCEPROTO is not set +# BR2_PACKAGE_XPROTO_SCRNSAVERPROTO is not set +# BR2_PACKAGE_XPROTO_VIDEOPROTO is not set +# BR2_PACKAGE_XPROTO_WINDOWSWMPROTO is not set +# BR2_PACKAGE_XPROTO_XCMISCPROTO is not set +# BR2_PACKAGE_XPROTO_XEXTPROTO is not set +# BR2_PACKAGE_XPROTO_XF86BIGFONTPROTO is not set +# BR2_PACKAGE_XPROTO_XF86DGAPROTO is not set +# BR2_PACKAGE_XPROTO_XF86DRIPROTO is not set +# BR2_PACKAGE_XPROTO_XF86VIDMODEPROTO is not set +# BR2_PACKAGE_XPROTO_XINERAMAPROTO is not set +# BR2_PACKAGE_XPROTO_XPROTO is not set +# BR2_PACKAGE_XPROTO_XPROXYMANAGEMENTPROTOCOL is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_OPENGL is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLES2 is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLX is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_X11 is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_DISPMANX is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXER is not set +# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_LAME is not set +# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPG123 is not set +# BR2_GDB_VERSION_7_11 is not set +# BR2_GDB_VERSION_7_10 is not set + +# +# Legacy options removed in 2018.05 +# +# BR2_PACKAGE_MEDIAART_BACKEND_NONE is not set +# BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF is not set +# BR2_PACKAGE_TI_SGX_AM335X is not set +# BR2_PACKAGE_TI_SGX_AM437X is not set +# BR2_PACKAGE_TI_SGX_AM4430 is not set +# BR2_PACKAGE_TI_SGX_AM5430 is not set +# BR2_PACKAGE_JANUS_AUDIO_BRIDGE is not set +# BR2_PACKAGE_JANUS_ECHO_TEST is not set +# BR2_PACKAGE_JANUS_RECORDPLAY is not set +# BR2_PACKAGE_JANUS_SIP_GATEWAY is not set +# BR2_PACKAGE_JANUS_STREAMING is not set +# BR2_PACKAGE_JANUS_TEXT_ROOM is not set +# BR2_PACKAGE_JANUS_VIDEO_CALL is not set +# BR2_PACKAGE_JANUS_VIDEO_ROOM is not set +# BR2_PACKAGE_JANUS_MQTT is not set +# BR2_PACKAGE_JANUS_RABBITMQ is not set +# BR2_PACKAGE_JANUS_REST is not set +# BR2_PACKAGE_JANUS_UNIX_SOCKETS is not set +# BR2_PACKAGE_JANUS_WEBSOCKETS is not set +# BR2_PACKAGE_IPSEC_SECCTX_DISABLE is not set +# BR2_PACKAGE_IPSEC_SECCTX_ENABLE is not set +# BR2_PACKAGE_IPSEC_SECCTX_KERNEL is not set +# BR2_PACKAGE_LIBTFDI_CPP is not set +# BR2_PACKAGE_JQUERY_UI_THEME_BLACK_TIE is not set +# BR2_PACKAGE_JQUERY_UI_THEME_BLITZER is not set +# BR2_PACKAGE_JQUERY_UI_THEME_CUPERTINO is not set +# BR2_PACKAGE_JQUERY_UI_THEME_DARK_HIVE is not set +# BR2_PACKAGE_JQUERY_UI_THEME_DOT_LUV is not set +# BR2_PACKAGE_JQUERY_UI_THEME_EGGPLANT is not set +# BR2_PACKAGE_JQUERY_UI_THEME_EXCITE_BIKE is not set +# BR2_PACKAGE_JQUERY_UI_THEME_FLICK is not set +# BR2_PACKAGE_JQUERY_UI_THEME_HOT_SNEAKS is not set +# BR2_PACKAGE_JQUERY_UI_THEME_HUMANITY is not set +# BR2_PACKAGE_JQUERY_UI_THEME_LE_FROG is not set +# BR2_PACKAGE_JQUERY_UI_THEME_MINT_CHOC is not set +# BR2_PACKAGE_JQUERY_UI_THEME_OVERCAST is not set +# BR2_PACKAGE_JQUERY_UI_THEME_PEPPER_GRINDER is not set +# BR2_PACKAGE_JQUERY_UI_THEME_REDMOND is not set +# BR2_PACKAGE_JQUERY_UI_THEME_SMOOTHNESS is not set +# BR2_PACKAGE_JQUERY_UI_THEME_SOUTH_STREET is not set +# BR2_PACKAGE_JQUERY_UI_THEME_START is not set +# BR2_PACKAGE_JQUERY_UI_THEME_SUNNY is not set +# BR2_PACKAGE_JQUERY_UI_THEME_SWANKY_PURSE is not set +# BR2_PACKAGE_JQUERY_UI_THEME_TRONTASTIC is not set +# BR2_PACKAGE_JQUERY_UI_THEME_UI_DARKNESS is not set +# BR2_PACKAGE_JQUERY_UI_THEME_UI_LIGHTNESS is not set +# BR2_PACKAGE_JQUERY_UI_THEME_VADER is not set +# BR2_PACKAGE_BLUEZ5_PLUGINS_HEALTH is not set +# BR2_PACKAGE_BLUEZ5_PLUGINS_MIDI is not set +# BR2_PACKAGE_BLUEZ5_PLUGINS_NFC is not set +# BR2_PACKAGE_BLUEZ5_PLUGINS_SAP is not set +# BR2_PACKAGE_BLUEZ5_PLUGINS_SIXAXIS is not set +# BR2_PACKAGE_TRANSMISSION_REMOTE is not set +# BR2_PACKAGE_LIBKCAPI_APPS is not set +# BR2_PACKAGE_MPLAYER is not set +# BR2_PACKAGE_MPLAYER_MPLAYER is not set +# BR2_PACKAGE_MPLAYER_MENCODER is not set +# BR2_PACKAGE_LIBPLAYER_MPLAYER is not set +# BR2_PACKAGE_IQVLINUX is not set +# BR2_BINFMT_FLAT_SEP_DATA is not set +# BR2_bfin is not set +# BR2_PACKAGE_KODI_ADSP_BASIC is not set +# BR2_PACKAGE_KODI_ADSP_FREESURROUND is not set + +# +# Legacy options removed in 2018.02 +# +# BR2_KERNEL_HEADERS_3_4 is not set +# BR2_KERNEL_HEADERS_3_10 is not set +# BR2_KERNEL_HEADERS_3_12 is not set +# BR2_BINUTILS_VERSION_2_27_X is not set +# BR2_PACKAGE_EEPROG is not set +# BR2_PACKAGE_GNUPG2_GPGV2 is not set +# BR2_PACKAGE_IMX_GPU_VIV_APITRACE is not set +# BR2_PACKAGE_IMX_GPU_VIV_G2D is not set + +# +# Legacy options removed in 2017.11 +# +# BR2_PACKAGE_RFKILL is not set +# BR2_PACKAGE_UTIL_LINUX_RESET is not set +# BR2_PACKAGE_POLICYCOREUTILS_AUDIT2ALLOW is not set +# BR2_PACKAGE_POLICYCOREUTILS_RESTORECOND is not set +# BR2_PACKAGE_SEPOLGEN is not set +# BR2_PACKAGE_OPENOBEX_BLUEZ is not set +# BR2_PACKAGE_OPENOBEX_LIBUSB is not set +# BR2_PACKAGE_OPENOBEX_APPS is not set +# BR2_PACKAGE_OPENOBEX_SYSLOG is not set +# BR2_PACKAGE_OPENOBEX_DUMP is not set +# BR2_PACKAGE_AICCU is not set +# BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS is not set + +# +# Legacy options removed in 2017.08 +# +# BR2_TARGET_GRUB is not set +# BR2_PACKAGE_SIMICSFS is not set +# BR2_BINUTILS_VERSION_2_26_X is not set +BR2_XTENSA_OVERLAY_DIR="" +BR2_XTENSA_CUSTOM_NAME="" +# BR2_PACKAGE_HOST_MKE2IMG is not set +BR2_TARGET_ROOTFS_EXT2_BLOCKS=0 +BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES=0 +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CDXAPARSE is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DATAURISRC is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DCCP is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HDVPARSE is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MVE is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NUVDEMUX is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PATCHDETECT is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDI is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TTA is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOMEASURE is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_APEXSINK is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDL is not set +# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MAD is not set +# BR2_STRIP_none is not set +# BR2_PACKAGE_BEECRYPT_CPP is not set +# BR2_PACKAGE_SPICE_CLIENT is not set +# BR2_PACKAGE_SPICE_GUI is not set +# BR2_PACKAGE_SPICE_TUNNEL is not set +# BR2_PACKAGE_INPUT_TOOLS is not set +# BR2_PACKAGE_INPUT_TOOLS_INPUTATTACH is not set +# BR2_PACKAGE_INPUT_TOOLS_JSCAL is not set +# BR2_PACKAGE_INPUT_TOOLS_JSTEST is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86 is not set +# BR2_GCC_VERSION_4_8_X is not set + +# +# Legacy options removed in 2017.05 +# +# BR2_PACKAGE_SUNXI_MALI_R2P4 is not set +# BR2_PACKAGE_NODEJS_MODULES_COFFEESCRIPT is not set +# BR2_PACKAGE_NODEJS_MODULES_EXPRESS is not set +# BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL is not set +# BR2_PACKAGE_OPENOCD_FT2XXX is not set +# BR2_PACKAGE_KODI_RTMPDUMP is not set +# BR2_PACKAGE_KODI_VISUALISATION_FOUNTAIN is not set +# BR2_PACKAGE_PORTMAP is not set +# BR2_BINUTILS_VERSION_2_25_X is not set +# BR2_TOOLCHAIN_BUILDROOT_INET_RPC is not set +BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS=0 +# BR2_PACKAGE_SYSTEMD_KDBUS is not set +# BR2_PACKAGE_POLARSSL is not set +# BR2_NBD_CLIENT is not set +# BR2_NBD_SERVER is not set +# BR2_PACKAGE_GMOCK is not set +# BR2_KERNEL_HEADERS_4_8 is not set +# BR2_KERNEL_HEADERS_3_18 is not set +# BR2_GLIBC_VERSION_2_22 is not set + +# +# Legacy options removed in 2017.02 +# +# BR2_PACKAGE_PERL_DB_FILE is not set +# BR2_KERNEL_HEADERS_4_7 is not set +# BR2_KERNEL_HEADERS_4_6 is not set +# BR2_KERNEL_HEADERS_4_5 is not set +# BR2_KERNEL_HEADERS_3_14 is not set +# BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS is not set +# BR2_UCLIBC_INSTALL_TEST_SUITE is not set +# BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX is not set +# BR2_PACKAGE_MAKEDEVS is not set +# BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A is not set +# BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE is not set +# BR2_PACKAGE_SNOWBALL_HDMISERVICE is not set +# BR2_PACKAGE_SNOWBALL_INIT is not set +# BR2_GDB_VERSION_7_9 is not set + +# +# Legacy options removed in 2016.11 +# +# BR2_PACKAGE_PHP_SAPI_CLI_CGI is not set +# BR2_PACKAGE_PHP_SAPI_CLI_FPM is not set +# BR2_PACKAGE_WVSTREAMS is not set +# BR2_PACKAGE_WVDIAL is not set +# BR2_PACKAGE_WEBKITGTK24 is not set +# BR2_PACKAGE_TORSMO is not set +# BR2_PACKAGE_SSTRIP is not set +# BR2_KERNEL_HEADERS_4_3 is not set +# BR2_KERNEL_HEADERS_4_2 is not set +# BR2_PACKAGE_KODI_ADDON_XVDR is not set +# BR2_PACKAGE_IPKG is not set +# BR2_GCC_VERSION_4_7_X is not set +# BR2_BINUTILS_VERSION_2_24_X is not set +# BR2_PACKAGE_WESTON_RPI is not set +# BR2_LINUX_KERNEL_TOOL_CPUPOWER is not set +# BR2_LINUX_KERNEL_TOOL_PERF is not set +# BR2_LINUX_KERNEL_TOOL_SELFTESTS is not set +# BR2_GCC_VERSION_4_8_ARC is not set +# BR2_KERNEL_HEADERS_4_0 is not set +# BR2_KERNEL_HEADERS_3_19 is not set +# BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS is not set +# BR2_PACKAGE_ELEMENTARY is not set +# BR2_LINUX_KERNEL_CUSTOM_LOCAL is not set + +# +# Legacy options removed in 2016.08 +# +# BR2_PACKAGE_EFL_JP2K is not set +# BR2_PACKAGE_SYSTEMD_COMPAT is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIVEADDER is not set +# BR2_PACKAGE_LIBFSLVPUWRAP is not set +# BR2_PACKAGE_LIBFSLPARSER is not set +# BR2_PACKAGE_LIBFSLCODEC is not set +# BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE_FIT_SIGNATURE_SUPPORT is not set +# BR2_PTHREADS_OLD is not set +# BR2_BINUTILS_VERSION_2_23_X is not set +# BR2_TOOLCHAIN_BUILDROOT_EGLIBC is not set +# BR2_GDB_VERSION_7_8 is not set + +# +# Legacy options removed in 2016.05 +# +# BR2_PACKAGE_OPENVPN_CRYPTO_POLARSSL is not set +# BR2_PACKAGE_NGINX_HTTP_SPDY_MODULE is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RTP is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPG123 is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC_E500V2 is not set +# BR2_x86_i386 is not set +# BR2_PACKAGE_QT5QUICK1 is not set +BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR="" +# BR2_PACKAGE_XDRIVER_XF86_INPUT_VOID is not set +# BR2_KERNEL_HEADERS_3_17 is not set +# BR2_GDB_VERSION_7_7 is not set +# BR2_PACKAGE_FOOMATIC_FILTERS is not set +# BR2_PACKAGE_SAMBA is not set +# BR2_PACKAGE_KODI_WAVPACK is not set +# BR2_PACKAGE_KODI_RSXS is not set +# BR2_PACKAGE_KODI_GOOM is not set +# BR2_PACKAGE_SYSTEMD_ALL_EXTRAS is not set +# BR2_GCC_VERSION_4_5_X is not set +# BR2_PACKAGE_SQLITE_READLINE is not set + +# +# Legacy options removed in 2016.02 +# +# BR2_PACKAGE_DOVECOT_BZIP2 is not set +# BR2_PACKAGE_DOVECOT_ZLIB is not set +# BR2_PACKAGE_E2FSPROGS_FINDFS is not set +# BR2_PACKAGE_OPENPOWERLINK_DEBUG_LEVEL is not set +# BR2_PACKAGE_OPENPOWERLINK_KERNEL_MODULE is not set +# BR2_PACKAGE_OPENPOWERLINK_LIBPCAP is not set +# BR2_LINUX_KERNEL_SAME_AS_HEADERS is not set +# BR2_PACKAGE_CUPS_PDFTOPS is not set +# BR2_KERNEL_HEADERS_3_16 is not set +# BR2_PACKAGE_PYTHON_PYXML is not set +# BR2_ENABLE_SSP is not set +# BR2_PACKAGE_DIRECTFB_CLE266 is not set +# BR2_PACKAGE_DIRECTFB_UNICHROME is not set +# BR2_PACKAGE_LIBELEMENTARY is not set +# BR2_PACKAGE_LIBEINA is not set +# BR2_PACKAGE_LIBEET is not set +# BR2_PACKAGE_LIBEVAS is not set +# BR2_PACKAGE_LIBECORE is not set +# BR2_PACKAGE_LIBEDBUS is not set +# BR2_PACKAGE_LIBEFREET is not set +# BR2_PACKAGE_LIBEIO is not set +# BR2_PACKAGE_LIBEMBRYO is not set +# BR2_PACKAGE_LIBEDJE is not set +# BR2_PACKAGE_LIBETHUMB is not set +# BR2_PACKAGE_INFOZIP is not set +# BR2_BR2_PACKAGE_NODEJS_0_10_X is not set +# BR2_BR2_PACKAGE_NODEJS_0_12_X is not set +# BR2_BR2_PACKAGE_NODEJS_4_X is not set + +# +# Legacy options removed in 2015.11 +# +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_REAL is not set +# BR2_PACKAGE_MEDIA_CTL is not set +# BR2_PACKAGE_SCHIFRA is not set +# BR2_PACKAGE_ZXING is not set +# BR2_PACKAGE_BLACKBOX is not set +# BR2_KERNEL_HEADERS_3_0 is not set +# BR2_KERNEL_HEADERS_3_11 is not set +# BR2_KERNEL_HEADERS_3_13 is not set +# BR2_KERNEL_HEADERS_3_15 is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_ANDI is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_BLTLOAD is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_CPULOAD is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_DATABUFFER is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_DIOLOAD is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_DOK is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_DRIVERTEST is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_FIRE is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_FLIP is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_FONTS is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_INPUT is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_JOYSTICK is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_KNUCKLES is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_LAYER is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX_WATER is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_NEO is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_NETLOAD is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_PALETTE is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_PARTICLE is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_PORTER is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_STRESS is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_TEXTURE is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO_PARTICLE is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_WINDOW is not set +# BR2_PACKAGE_KOBS_NG is not set +# BR2_PACKAGE_SAWMAN is not set +# BR2_PACKAGE_DIVINE is not set + +# +# Legacy options removed in 2015.08 +# +# BR2_PACKAGE_KODI_PVR_ADDONS is not set +# BR2_BINUTILS_VERSION_2_23_2 is not set +# BR2_BINUTILS_VERSION_2_24 is not set +# BR2_BINUTILS_VERSION_2_25 is not set +# BR2_PACKAGE_PERF is not set +# BR2_BINUTILS_VERSION_2_22 is not set +# BR2_PACKAGE_GPU_VIV_BIN_MX6Q is not set +# BR2_TARGET_UBOOT_NETWORK is not set + +# +# Legacy options removed in 2015.05 +# +# BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_512_16K is not set +# BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K is not set +# BR2_PACKAGE_MONO_20 is not set +# BR2_PACKAGE_MONO_40 is not set +# BR2_PACKAGE_MONO_45 is not set +# BR2_CIVETWEB_WITH_LUA is not set +# BR2_PACKAGE_TIFF_TIFF2PDF is not set +# BR2_PACKAGE_TIFF_TIFFCP is not set +# BR2_LINUX_KERNEL_EXT_RTAI_PATCH is not set +# BR2_TARGET_GENERIC_PASSWD_DES is not set +# BR2_PACKAGE_GTK2_THEME_HICOLOR is not set +# BR2_PACKAGE_VALGRIND_PTRCHECK is not set + +# +# Legacy options removed in 2015.02 +# +# BR2_PACKAGE_LIBGC is not set +# BR2_PACKAGE_WDCTL is not set +# BR2_PACKAGE_UTIL_LINUX_ARCH is not set +# BR2_PACKAGE_UTIL_LINUX_DDATE is not set +# BR2_PACKAGE_RPM_BZIP2_PAYLOADS is not set +# BR2_PACKAGE_RPM_XZ_PAYLOADS is not set +# BR2_PACKAGE_M4 is not set +# BR2_PACKAGE_FLEX_BINARY is not set +# BR2_PACKAGE_BISON is not set +# BR2_PACKAGE_GOB2 is not set +# BR2_PACKAGE_DISTCC is not set +# BR2_PACKAGE_HASERL_VERSION_0_8_X is not set +# BR2_PACKAGE_STRONGSWAN_TOOLS is not set +# BR2_PACKAGE_XBMC_ADDON_XVDR is not set +# BR2_PACKAGE_XBMC_PVR_ADDONS is not set +# BR2_PACKAGE_XBMC is not set +# BR2_PACKAGE_XBMC_ALSA_LIB is not set +# BR2_PACKAGE_XBMC_AVAHI is not set +# BR2_PACKAGE_XBMC_DBUS is not set +# BR2_PACKAGE_XBMC_LIBBLURAY is not set +# BR2_PACKAGE_XBMC_GOOM is not set +# BR2_PACKAGE_XBMC_RSXS is not set +# BR2_PACKAGE_XBMC_LIBCEC is not set +# BR2_PACKAGE_XBMC_LIBMICROHTTPD is not set +# BR2_PACKAGE_XBMC_LIBNFS is not set +# BR2_PACKAGE_XBMC_RTMPDUMP is not set +# BR2_PACKAGE_XBMC_LIBSHAIRPLAY is not set +# BR2_PACKAGE_XBMC_LIBSMBCLIENT is not set +# BR2_PACKAGE_XBMC_LIBTHEORA is not set +# BR2_PACKAGE_XBMC_LIBUSB is not set +# BR2_PACKAGE_XBMC_LIBVA is not set +# BR2_PACKAGE_XBMC_WAVPACK is not set +# BR2_PREFER_STATIC_LIB is not set + +# +# Legacy options removed in 2014.11 +# +# BR2_x86_generic is not set +# BR2_GCC_VERSION_4_4_X is not set +# BR2_sparc_sparchfleon is not set +# BR2_sparc_sparchfleonv8 is not set +# BR2_sparc_sparcsfleon is not set +# BR2_sparc_sparcsfleonv8 is not set +# BR2_PACKAGE_LINUX_FIRMWARE_XC5000 is not set +# BR2_PACKAGE_LINUX_FIRMWARE_CXGB4 is not set +# BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160_7260_7 is not set +# BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160_7260_8 is not set + +# +# Legacy options removed in 2014.08 +# +# BR2_PACKAGE_LIBELF is not set +# BR2_KERNEL_HEADERS_3_8 is not set +# BR2_PACKAGE_GETTEXT_TOOLS is not set +# BR2_PACKAGE_PROCPS is not set +# BR2_BINUTILS_VERSION_2_20_1 is not set +# BR2_BINUTILS_VERSION_2_21 is not set +# BR2_BINUTILS_VERSION_2_23_1 is not set +# BR2_UCLIBC_VERSION_0_9_32 is not set +# BR2_GCC_VERSION_4_3_X is not set +# BR2_GCC_VERSION_4_6_X is not set +# BR2_GDB_VERSION_7_4 is not set +# BR2_GDB_VERSION_7_5 is not set +# BR2_BUSYBOX_VERSION_1_19_X is not set +# BR2_BUSYBOX_VERSION_1_20_X is not set +# BR2_BUSYBOX_VERSION_1_21_X is not set +# BR2_PACKAGE_LIBV4L_DECODE_TM6000 is not set +# BR2_PACKAGE_LIBV4L_IR_KEYTABLE is not set +# BR2_PACKAGE_LIBV4L_V4L2_COMPLIANCE is not set +# BR2_PACKAGE_LIBV4L_V4L2_CTL is not set +# BR2_PACKAGE_LIBV4L_V4L2_DBG is not set + +# +# Legacy options removed in 2014.05 +# +# BR2_PACKAGE_EVTEST_CAPTURE is not set +# BR2_KERNEL_HEADERS_3_6 is not set +# BR2_KERNEL_HEADERS_3_7 is not set +# BR2_PACKAGE_VALA is not set +BR2_PACKAGE_TZDATA_ZONELIST="" +# BR2_PACKAGE_LUA_INTERPRETER_EDITING_NONE is not set +# BR2_PACKAGE_LUA_INTERPRETER_READLINE is not set +# BR2_PACKAGE_LUA_INTERPRETER_LINENOISE is not set +# BR2_PACKAGE_DVB_APPS_UTILS is not set +# BR2_KERNEL_HEADERS_SNAP is not set +# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV is not set +# BR2_PACKAGE_UDEV is not set +# BR2_PACKAGE_UDEV_RULES_GEN is not set +# BR2_PACKAGE_UDEV_ALL_EXTRAS is not set + +# +# Legacy options removed in 2014.02 +# +# BR2_sh2 is not set +# BR2_sh3 is not set +# BR2_sh3eb is not set +# BR2_KERNEL_HEADERS_3_1 is not set +# BR2_KERNEL_HEADERS_3_3 is not set +# BR2_KERNEL_HEADERS_3_5 is not set +# BR2_GDB_VERSION_7_2 is not set +# BR2_GDB_VERSION_7_3 is not set +# BR2_PACKAGE_CCACHE is not set +# BR2_HAVE_DOCUMENTATION is not set +# BR2_PACKAGE_AUTOMAKE is not set +# BR2_PACKAGE_AUTOCONF is not set +# BR2_PACKAGE_XSTROKE is not set +# BR2_PACKAGE_LZMA is not set +# BR2_PACKAGE_TTCP is not set +# BR2_PACKAGE_LIBNFC_LLCP is not set +# BR2_PACKAGE_MYSQL_CLIENT is not set +# BR2_PACKAGE_SQUASHFS3 is not set +# BR2_TARGET_ROOTFS_SQUASHFS3 is not set +# BR2_PACKAGE_NETKITBASE is not set +# BR2_PACKAGE_NETKITTELNET is not set +# BR2_PACKAGE_LUASQL is not set +# BR2_PACKAGE_LUACJSON is not set + +# +# Legacy options removed in 2013.11 +# +# BR2_PACKAGE_LVM2_DMSETUP_ONLY is not set +# BR2_PACKAGE_QT_JAVASCRIPTCORE is not set +# BR2_PACKAGE_MODULE_INIT_TOOLS is not set +BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL="" +BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION="" +BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL="" +BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION="" + +# +# Legacy options removed in 2013.08 +# +# BR2_ARM_OABI is not set +# BR2_PACKAGE_DOSFSTOOLS_DOSFSCK is not set +# BR2_PACKAGE_DOSFSTOOLS_DOSFSLABEL is not set +# BR2_PACKAGE_DOSFSTOOLS_MKDOSFS is not set +# BR2_ELF2FLT is not set +# BR2_VFP_FLOAT is not set +# BR2_PACKAGE_GCC_TARGET is not set +# BR2_HAVE_DEVFILES is not set + +# +# External options +# + +# +# LITEX_VEXRISCV (in /home/jebba/devel/FPGA/litex/linux-on-litex-vexriscv/buildroot) +# diff --git a/PATCH/linux-fstrellis.config-lots-foo b/PATCH/linux-fstrellis.config-lots-foo new file mode 100644 index 0000000..58b7d4d --- /dev/null +++ b/PATCH/linux-fstrellis.config-lots-foo @@ -0,0 +1,2969 @@ +# +# Automatically generated file; DO NOT EDIT. +# Buildroot 2019.11-git-01152-g125547e7b5 Configuration +# +BR2_HAVE_DOT_CONFIG=y +BR2_EXTERNAL_LITEX_VEXRISCV_PATH="/home/jebba/devel/FPGA/litex/linux-on-litex-vexriscv/buildroot" +BR2_HOST_GCC_AT_LEAST_4_5=y +BR2_HOST_GCC_AT_LEAST_4_6=y +BR2_HOST_GCC_AT_LEAST_4_7=y +BR2_HOST_GCC_AT_LEAST_4_8=y +BR2_HOST_GCC_AT_LEAST_4_9=y +BR2_HOST_GCC_AT_LEAST_5=y +BR2_HOST_GCC_AT_LEAST_6=y +BR2_HOST_GCC_AT_LEAST_7=y +BR2_HOST_GCC_AT_LEAST_8=y + +# +# Target options +# +BR2_ARCH_HAS_MMU_MANDATORY=y +# BR2_arcle is not set +# BR2_arceb is not set +# BR2_arm is not set +# BR2_armeb is not set +# BR2_aarch64 is not set +# BR2_aarch64_be is not set +# BR2_csky is not set +# BR2_i386 is not set +# BR2_m68k is not set +# BR2_microblazeel is not set +# BR2_microblazebe is not set +# BR2_mips is not set +# BR2_mipsel is not set +# BR2_mips64 is not set +# BR2_mips64el is not set +# BR2_nds32 is not set +# BR2_nios2 is not set +# BR2_or1k is not set +# BR2_powerpc is not set +# BR2_powerpc64 is not set +# BR2_powerpc64le is not set +BR2_riscv=y +# BR2_sh is not set +# BR2_sparc is not set +# BR2_sparc64 is not set +# BR2_x86_64 is not set +# BR2_xtensa is not set +BR2_ARCH_HAS_TOOLCHAIN_BUILDROOT=y +BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8=y +BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9=y +BR2_ARCH_NEEDS_GCC_AT_LEAST_5=y +BR2_ARCH_NEEDS_GCC_AT_LEAST_6=y +BR2_ARCH_NEEDS_GCC_AT_LEAST_7=y +BR2_ARCH="riscv32" +BR2_ENDIAN="LITTLE" +BR2_GCC_TARGET_ABI="ilp32" +BR2_BINFMT_SUPPORTS_SHARED=y +BR2_READELF_ARCH_NAME="RISC-V" +BR2_BINFMT_ELF=y +BR2_RISCV_ISA_RVI=y +BR2_RISCV_ISA_RVM=y +BR2_RISCV_ISA_RVA=y +# BR2_riscv_g is not set +BR2_riscv_custom=y + +# +# Instruction Set Extensions +# +BR2_RISCV_ISA_CUSTOM_RVM=y +BR2_RISCV_ISA_CUSTOM_RVA=y +# BR2_RISCV_ISA_CUSTOM_RVF is not set +# BR2_RISCV_ISA_CUSTOM_RVC is not set +BR2_RISCV_32=y +# BR2_RISCV_64 is not set +BR2_RISCV_ABI_ILP32=y + +# +# Build options +# + +# +# Commands +# +BR2_WGET="wget --passive-ftp -nd -t 3" +BR2_SVN="svn --non-interactive" +BR2_BZR="bzr" +BR2_GIT="git" +BR2_CVS="cvs" +BR2_LOCALFILES="cp" +BR2_SCP="scp" +BR2_HG="hg" +BR2_ZCAT="gzip -d -c" +BR2_BZCAT="bzcat" +BR2_XZCAT="xzcat" +BR2_LZCAT="lzip -d -c" +BR2_TAR_OPTIONS="" +BR2_DEFCONFIG="/home/jebba/devel/FPGA/litex/linux-on-litex-vexriscv/buildroot/configs/litex_vexriscv_fstrellis_defconfig" +BR2_DL_DIR="$(TOPDIR)/dl" +BR2_HOST_DIR="$(BASE_DIR)/host" + +# +# Mirrors and Download locations +# +BR2_PRIMARY_SITE="" +BR2_BACKUP_SITE="http://sources.buildroot.net" +BR2_KERNEL_MIRROR="https://cdn.kernel.org/pub" +BR2_GNU_MIRROR="http://ftpmirror.gnu.org" +BR2_LUAROCKS_MIRROR="http://rocks.moonscript.org" +BR2_CPAN_MIRROR="http://cpan.metacpan.org" +BR2_JLEVEL=0 +# BR2_CCACHE is not set +# BR2_ENABLE_DEBUG is not set +BR2_STRIP_strip=y +BR2_STRIP_EXCLUDE_FILES="" +BR2_STRIP_EXCLUDE_DIRS="" +# BR2_OPTIMIZE_0 is not set +# BR2_OPTIMIZE_1 is not set +# BR2_OPTIMIZE_2 is not set +# BR2_OPTIMIZE_3 is not set +# BR2_OPTIMIZE_G is not set +BR2_OPTIMIZE_S=y +# BR2_OPTIMIZE_FAST is not set +# BR2_STATIC_LIBS is not set +BR2_SHARED_LIBS=y +# BR2_SHARED_STATIC_LIBS is not set +BR2_PACKAGE_OVERRIDE_FILE="$(CONFIG_DIR)/local.mk" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/patches" + +# +# Advanced +# +BR2_COMPILER_PARANOID_UNSAFE_PATH=y +# BR2_FORCE_HOST_BUILD is not set +# BR2_REPRODUCIBLE is not set + +# +# Security Hardening Options +# +# BR2_PIC_PIE is not set +BR2_SSP_NONE=y +# BR2_SSP_REGULAR is not set +# BR2_SSP_STRONG is not set +# BR2_SSP_ALL is not set +BR2_RELRO_NONE=y +# BR2_RELRO_PARTIAL is not set +# BR2_RELRO_FULL is not set +BR2_FORTIFY_SOURCE_NONE=y +# BR2_FORTIFY_SOURCE_1 is not set +# BR2_FORTIFY_SOURCE_2 is not set + +# +# Toolchain +# +BR2_TOOLCHAIN=y +BR2_TOOLCHAIN_USES_GLIBC=y +BR2_TOOLCHAIN_BUILDROOT=y +# BR2_TOOLCHAIN_EXTERNAL is not set + +# +# Toolchain Buildroot Options +# +BR2_TOOLCHAIN_BUILDROOT_VENDOR="buildroot" +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y +BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc" + +# +# Kernel Header Options +# +BR2_KERNEL_HEADERS_AS_KERNEL=y +# BR2_KERNEL_HEADERS_4_19 is not set +# BR2_KERNEL_HEADERS_5_3 is not set +# BR2_KERNEL_HEADERS_VERSION is not set +# BR2_KERNEL_HEADERS_CUSTOM_TARBALL is not set +# BR2_KERNEL_HEADERS_CUSTOM_GIT is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_3 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_2 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_1 is not set +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_20 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_17 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_12 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_10 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_7 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_6 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_5 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_3 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_2 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_0 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_19 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_17 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_16 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_15 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_14 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_13 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_12 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_11 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_9 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_8 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_7 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_6 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_5 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_4 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_3 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_2 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_1 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_0 is not set +# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_REALLY_OLD is not set +BR2_PACKAGE_LINUX_HEADERS=y +BR2_PACKAGE_GLIBC=y + +# +# Binutils Options +# +BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI=y +# BR2_BINUTILS_VERSION_2_30_X is not set +BR2_BINUTILS_VERSION_2_31_X=y +# BR2_BINUTILS_VERSION_2_32_X is not set +BR2_BINUTILS_VERSION="2.31.1" +BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="" + +# +# GCC Options +# +# BR2_GCC_VERSION_7_X is not set +BR2_GCC_VERSION_8_X=y +# BR2_GCC_VERSION_9_X is not set +BR2_GCC_VERSION="8.3.0" +BR2_EXTRA_GCC_CONFIG_OPTIONS="" +BR2_TOOLCHAIN_BUILDROOT_CXX=y +# BR2_TOOLCHAIN_BUILDROOT_FORTRAN is not set +# BR2_GCC_ENABLE_LTO is not set +# BR2_GCC_ENABLE_OPENMP is not set +# BR2_GCC_ENABLE_GRAPHITE is not set + +# +# Toolchain Generic Options +# +BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS=y +BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK=y +BR2_TOOLCHAIN_HAS_NATIVE_RPC=y +BR2_USE_WCHAR=y +BR2_ENABLE_LOCALE=y +BR2_INSTALL_LIBSTDCPP=y +BR2_TOOLCHAIN_HAS_THREADS=y +BR2_TOOLCHAIN_HAS_THREADS_DEBUG=y +BR2_TOOLCHAIN_HAS_THREADS_NPTL=y +BR2_TOOLCHAIN_HAS_SSP=y +BR2_TOOLCHAIN_HAS_UCONTEXT=y +BR2_TOOLCHAIN_SUPPORTS_PIE=y +# BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY is not set +BR2_TOOLCHAIN_HAS_FULL_GETTEXT=y +BR2_USE_MMU=y +BR2_TARGET_OPTIMIZATION="" +BR2_TARGET_LDFLAGS="" +# BR2_ECLIPSE_REGISTER is not set +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST="5.0" +BR2_TOOLCHAIN_GCC_AT_LEAST_4_3=y +BR2_TOOLCHAIN_GCC_AT_LEAST_4_4=y +BR2_TOOLCHAIN_GCC_AT_LEAST_4_5=y +BR2_TOOLCHAIN_GCC_AT_LEAST_4_6=y +BR2_TOOLCHAIN_GCC_AT_LEAST_4_7=y +BR2_TOOLCHAIN_GCC_AT_LEAST_4_8=y +BR2_TOOLCHAIN_GCC_AT_LEAST_4_9=y +BR2_TOOLCHAIN_GCC_AT_LEAST_5=y +BR2_TOOLCHAIN_GCC_AT_LEAST_6=y +BR2_TOOLCHAIN_GCC_AT_LEAST_7=y +BR2_TOOLCHAIN_GCC_AT_LEAST_8=y +BR2_TOOLCHAIN_GCC_AT_LEAST="8" +BR2_TOOLCHAIN_HAS_MNAN_OPTION=y +BR2_TOOLCHAIN_HAS_SYNC_1=y +BR2_TOOLCHAIN_HAS_SYNC_2=y +BR2_TOOLCHAIN_HAS_SYNC_4=y +BR2_TOOLCHAIN_HAS_LIBATOMIC=y +BR2_TOOLCHAIN_HAS_ATOMIC=y + +# +# System configuration +# +BR2_ROOTFS_SKELETON_DEFAULT=y +# BR2_ROOTFS_SKELETON_CUSTOM is not set +BR2_TARGET_GENERIC_HOSTNAME="trellisboard" +BR2_TARGET_GENERIC_ISSUE="Welcome to TrellisBoard" +BR2_TARGET_GENERIC_PASSWD_SHA256=y +# BR2_TARGET_GENERIC_PASSWD_SHA512 is not set +BR2_TARGET_GENERIC_PASSWD_METHOD="sha-256" +BR2_INIT_BUSYBOX=y +# BR2_INIT_SYSV is not set +# BR2_INIT_OPENRC is not set +# BR2_INIT_SYSTEMD is not set +# BR2_INIT_NONE is not set +# BR2_ROOTFS_DEVICE_CREATION_STATIC is not set +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y +# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV is not set +# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is not set +BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt" +# BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES is not set +# BR2_ROOTFS_MERGED_USR is not set +BR2_TARGET_ENABLE_ROOT_LOGIN=y +BR2_TARGET_GENERIC_ROOT_PASSWD="password" +BR2_SYSTEM_BIN_SH_BUSYBOX=y + +# +# bash, dash, mksh, zsh need BR2_PACKAGE_BUSYBOX_SHOW_OTHERS +# +# BR2_SYSTEM_BIN_SH_NONE is not set +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="console" +BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP=y +# BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600 is not set +# BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200 is not set +# BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400 is not set +# BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600 is not set +# BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 is not set +BR2_TARGET_GENERIC_GETTY_BAUDRATE="0" +BR2_TARGET_GENERIC_GETTY_TERM="vt100" +BR2_TARGET_GENERIC_GETTY_OPTIONS="" +BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW=y +BR2_SYSTEM_DHCP="" +BR2_SYSTEM_DEFAULT_PATH="/bin:/sbin:/usr/bin:/usr/sbin" +BR2_ENABLE_LOCALE_PURGE=y +BR2_ENABLE_LOCALE_WHITELIST="C en_US" +BR2_GENERATE_LOCALE="" +# BR2_SYSTEM_ENABLE_NLS is not set +# BR2_TARGET_TZ_INFO is not set +BR2_ROOTFS_USERS_TABLES="" +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/rootfs_overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="" +BR2_ROOTFS_POST_FAKEROOT_SCRIPT="" +BR2_ROOTFS_POST_IMAGE_SCRIPT="" + +# +# Kernel +# +BR2_LINUX_KERNEL=y +# BR2_LINUX_KERNEL_LATEST_VERSION is not set +# BR2_LINUX_KERNEL_LATEST_CIP_VERSION is not set +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +# BR2_LINUX_KERNEL_CUSTOM_TARBALL is not set +# BR2_LINUX_KERNEL_CUSTOM_GIT is not set +# BR2_LINUX_KERNEL_CUSTOM_HG is not set +# BR2_LINUX_KERNEL_CUSTOM_SVN is not set +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.13" +BR2_LINUX_KERNEL_VERSION="5.0.13" +BR2_LINUX_KERNEL_PATCH="" +# BR2_LINUX_KERNEL_USE_DEFCONFIG is not set +# BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG is not set +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/linux-fstrellis.config" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="" +BR2_LINUX_KERNEL_CUSTOM_LOGO_PATH="" +BR2_LINUX_KERNEL_IMAGE=y +# BR2_LINUX_KERNEL_VMLINUX is not set +# BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM is not set +BR2_LINUX_KERNEL_GZIP=y +# BR2_LINUX_KERNEL_LZ4 is not set +# BR2_LINUX_KERNEL_LZMA is not set +# BR2_LINUX_KERNEL_LZO is not set +# BR2_LINUX_KERNEL_XZ is not set +# BR2_LINUX_KERNEL_DTS_SUPPORT is not set +# BR2_LINUX_KERNEL_INSTALL_TARGET is not set +# BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL is not set +# BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF is not set + +# +# Linux Kernel Extensions +# +# BR2_LINUX_KERNEL_EXT_RTAI is not set +# BR2_LINUX_KERNEL_EXT_EV3DEV_LINUX_DRIVERS is not set +# BR2_LINUX_KERNEL_EXT_FBTFT is not set +# BR2_LINUX_KERNEL_EXT_AUFS is not set + +# +# Linux Kernel Tools +# +# BR2_PACKAGE_LINUX_TOOLS_CPUPOWER is not set +# BR2_PACKAGE_LINUX_TOOLS_GPIO is not set +# BR2_PACKAGE_LINUX_TOOLS_IIO is not set +# BR2_PACKAGE_LINUX_TOOLS_PCI is not set +# BR2_PACKAGE_LINUX_TOOLS_PERF is not set + +# +# selftests needs BR2_PACKAGE_BUSYBOX_SHOW_OTHERS +# +# BR2_PACKAGE_LINUX_TOOLS_TMON is not set + +# +# Target packages +# +BR2_PACKAGE_BUSYBOX=y +BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox.config" +BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="" +# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set +# BR2_PACKAGE_BUSYBOX_SELINUX is not set +# BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES is not set +# BR2_PACKAGE_BUSYBOX_WATCHDOG is not set +BR2_PACKAGE_SKELETON=y +BR2_PACKAGE_HAS_SKELETON=y +BR2_PACKAGE_PROVIDES_SKELETON="skeleton-init-sysv" +BR2_PACKAGE_SKELETON_INIT_COMMON=y +BR2_PACKAGE_SKELETON_INIT_SYSV=y + +# +# Audio and video applications +# +# BR2_PACKAGE_ALSA_UTILS is not set +# BR2_PACKAGE_ATEST is not set +# BR2_PACKAGE_AUMIX is not set +# BR2_PACKAGE_BELLAGIO is not set +# BR2_PACKAGE_BLUEZ_ALSA is not set +# BR2_PACKAGE_DVBLAST is not set +# BR2_PACKAGE_DVDAUTHOR is not set +# BR2_PACKAGE_DVDRW_TOOLS is not set +# BR2_PACKAGE_ESPEAK is not set +# BR2_PACKAGE_FAAD2 is not set +BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS=y +# BR2_PACKAGE_FFMPEG is not set +# BR2_PACKAGE_FLAC is not set +# BR2_PACKAGE_FLITE is not set +# BR2_PACKAGE_GMRENDER_RESURRECT is not set +# BR2_PACKAGE_GSTREAMER is not set +# BR2_PACKAGE_GSTREAMER1 is not set +# BR2_PACKAGE_JACK1 is not set +# BR2_PACKAGE_JACK2 is not set +BR2_PACKAGE_KODI_ARCH_SUPPORTS=y + +# +# kodi needs python w/ .py modules, a uClibc or glibc toolchain w/ C++, threads, wchar, dynamic library, gcc >= 4.8, host gcc >= 4.6 +# + +# +# kodi needs an OpenGL EGL backend with OpenGL support +# +# BR2_PACKAGE_LAME is not set +# BR2_PACKAGE_MADPLAY is not set +# BR2_PACKAGE_MIMIC is not set +# BR2_PACKAGE_MINIMODEM is not set + +# +# miraclecast needs systemd and a glibc toolchain w/ threads and wchar +# +# BR2_PACKAGE_MJPEGTOOLS is not set +# BR2_PACKAGE_MODPLUGTOOLS is not set +# BR2_PACKAGE_MOTION is not set +# BR2_PACKAGE_MPD is not set +# BR2_PACKAGE_MPD_MPC is not set +# BR2_PACKAGE_MPG123 is not set +# BR2_PACKAGE_MPV is not set +# BR2_PACKAGE_MULTICAT is not set +# BR2_PACKAGE_MUSEPACK is not set +# BR2_PACKAGE_NCMPC is not set +# BR2_PACKAGE_OPUS_TOOLS is not set +BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC=y +# BR2_PACKAGE_PULSEAUDIO is not set +# BR2_PACKAGE_SOX is not set +# BR2_PACKAGE_SQUEEZELITE is not set +# BR2_PACKAGE_TSTOOLS is not set +# BR2_PACKAGE_TWOLAME is not set +# BR2_PACKAGE_UDPXY is not set +# BR2_PACKAGE_UPMPDCLI is not set +# BR2_PACKAGE_V4L2GRAB is not set +# BR2_PACKAGE_V4L2LOOPBACK is not set +# BR2_PACKAGE_VLC is not set +# BR2_PACKAGE_VORBIS_TOOLS is not set +# BR2_PACKAGE_WAVPACK is not set +# BR2_PACKAGE_YAVTA is not set +# BR2_PACKAGE_YMPD is not set + +# +# Compressors and decompressors +# +# BR2_PACKAGE_BROTLI is not set +BR2_PACKAGE_BZIP2=y +# BR2_PACKAGE_LRZIP is not set +# BR2_PACKAGE_LZ4 is not set +# BR2_PACKAGE_LZIP is not set +# BR2_PACKAGE_LZOP is not set +# BR2_PACKAGE_P7ZIP is not set +# BR2_PACKAGE_PIGZ is not set +# BR2_PACKAGE_PIXZ is not set +# BR2_PACKAGE_UNRAR is not set +# BR2_PACKAGE_XZ is not set +# BR2_PACKAGE_ZIP is not set +# BR2_PACKAGE_ZSTD is not set + +# +# Debugging, profiling and benchmark +# +# BR2_PACKAGE_BLKTRACE is not set +# BR2_PACKAGE_BONNIE is not set +# BR2_PACKAGE_CACHE_CALIBRATOR is not set + +# +# clinfo needs an OpenCL provider +# + +# +# dacapo needs OpenJDK +# +# BR2_PACKAGE_DHRYSTONE is not set +# BR2_PACKAGE_DIEHARDER is not set +# BR2_PACKAGE_DMALLOC is not set +# BR2_PACKAGE_DROPWATCH is not set +# BR2_PACKAGE_DSTAT is not set +# BR2_PACKAGE_DT is not set +# BR2_PACKAGE_DUMA is not set +# BR2_PACKAGE_FIO is not set +BR2_PACKAGE_GDB_ARCH_SUPPORTS=y +# BR2_PACKAGE_GDB is not set +# BR2_PACKAGE_IOZONE is not set +# BR2_PACKAGE_KTAP is not set +# BR2_PACKAGE_LATENCYTOP is not set +# BR2_PACKAGE_LMBENCH is not set +BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS=y +# BR2_PACKAGE_LTP_TESTSUITE is not set +# BR2_PACKAGE_LTTNG_BABELTRACE is not set +# BR2_PACKAGE_LTTNG_MODULES is not set +# BR2_PACKAGE_LTTNG_TOOLS is not set +# BR2_PACKAGE_MEMSTAT is not set +# BR2_PACKAGE_NETPERF is not set +# BR2_PACKAGE_NETSNIFF_NG is not set +# BR2_PACKAGE_NMON is not set +# BR2_PACKAGE_PAX_UTILS is not set +# BR2_PACKAGE_PV is not set +# BR2_PACKAGE_RAMSMP is not set +# BR2_PACKAGE_RAMSPEED is not set +# BR2_PACKAGE_RT_TESTS is not set +# BR2_PACKAGE_SPIDEV_TEST is not set +# BR2_PACKAGE_STRESS is not set +# BR2_PACKAGE_STRESS_NG is not set +# BR2_PACKAGE_TINYMEMBENCH is not set +# BR2_PACKAGE_TRACE_CMD is not set +# BR2_PACKAGE_UCLIBC_NG_TEST is not set +# BR2_PACKAGE_VMTOUCH is not set +# BR2_PACKAGE_WHETSTONE is not set + +# +# Development tools +# +BR2_PACKAGE_BINUTILS=y +BR2_PACKAGE_BINUTILS_TARGET=y +# BR2_PACKAGE_BSDIFF is not set +# BR2_PACKAGE_CHECK is not set +# BR2_PACKAGE_CPPUNIT is not set +# BR2_PACKAGE_CUNIT is not set +# BR2_PACKAGE_CVS is not set +# BR2_PACKAGE_CXXTEST is not set +BR2_PACKAGE_FLEX=y +BR2_PACKAGE_GETTEXT=y +BR2_PACKAGE_HAS_GETTEXT=y +BR2_PACKAGE_PROVIDES_GETTEXT="gettext-tiny" +BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" +BR2_PACKAGE_GETTEXT_TINY=y +BR2_PACKAGE_GIT=y +# BR2_PACKAGE_GIT_CRYPT is not set +# BR2_PACKAGE_GPERF is not set +# BR2_PACKAGE_JO is not set +# BR2_PACKAGE_JQ is not set +BR2_PACKAGE_LIBTOOL=y +BR2_PACKAGE_MAKE=y +BR2_PACKAGE_PKGCONF=y +# BR2_PACKAGE_SUBVERSION is not set +# BR2_PACKAGE_TREE is not set + +# +# Filesystem and flash utilities +# +# BR2_PACKAGE_ABOOTIMG is not set +# BR2_PACKAGE_AUFS_UTIL is not set +# BR2_PACKAGE_AUTOFS is not set +# BR2_PACKAGE_BTRFS_PROGS is not set +# BR2_PACKAGE_CIFS_UTILS is not set +# BR2_PACKAGE_CPIO is not set +# BR2_PACKAGE_CRAMFS is not set +# BR2_PACKAGE_CURLFTPFS is not set +# BR2_PACKAGE_DAVFS2 is not set +# BR2_PACKAGE_DOSFSTOOLS is not set +# BR2_PACKAGE_E2FSPROGS is not set +# BR2_PACKAGE_E2TOOLS is not set +# BR2_PACKAGE_ECRYPTFS_UTILS is not set +# BR2_PACKAGE_EXFAT is not set +# BR2_PACKAGE_EXFAT_UTILS is not set +# BR2_PACKAGE_F2FS_TOOLS is not set +# BR2_PACKAGE_FLASHBENCH is not set +# BR2_PACKAGE_FSCRYPTCTL is not set +# BR2_PACKAGE_FWUP is not set +# BR2_PACKAGE_GENEXT2FS is not set +# BR2_PACKAGE_GENPART is not set +# BR2_PACKAGE_GENROMFS is not set +# BR2_PACKAGE_IMX_USB_LOADER is not set +BR2_PACKAGE_MMC_UTILS=y +# BR2_PACKAGE_MTD is not set +# BR2_PACKAGE_MTOOLS is not set +# BR2_PACKAGE_NFS_UTILS is not set +# BR2_PACKAGE_NILFS_UTILS is not set +# BR2_PACKAGE_NTFS_3G is not set +# BR2_PACKAGE_SP_OOPS_EXTRACT is not set +# BR2_PACKAGE_SQUASHFS is not set +# BR2_PACKAGE_SSHFS is not set +# BR2_PACKAGE_UDFTOOLS is not set +# BR2_PACKAGE_UNIONFS is not set +# BR2_PACKAGE_XFSPROGS is not set + +# +# Fonts, cursors, icons, sounds and themes +# + +# +# Cursors +# +# BR2_PACKAGE_COMIX_CURSORS is not set +# BR2_PACKAGE_OBSIDIAN_CURSORS is not set + +# +# Fonts +# +# BR2_PACKAGE_BITSTREAM_VERA is not set +# BR2_PACKAGE_CANTARELL is not set +# BR2_PACKAGE_DEJAVU is not set +# BR2_PACKAGE_FONT_AWESOME is not set +# BR2_PACKAGE_GHOSTSCRIPT_FONTS is not set +# BR2_PACKAGE_INCONSOLATA is not set +# BR2_PACKAGE_LIBERATION is not set + +# +# Icons +# +# BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS is not set +# BR2_PACKAGE_HICOLOR_ICON_THEME is not set + +# +# Sounds +# +# BR2_PACKAGE_SOUND_THEME_BOREALIS is not set +# BR2_PACKAGE_SOUND_THEME_FREEDESKTOP is not set + +# +# Themes +# + +# +# Games +# +# BR2_PACKAGE_ASCII_INVADERS is not set +# BR2_PACKAGE_CHOCOLATE_DOOM is not set +# BR2_PACKAGE_FLARE_ENGINE is not set +# BR2_PACKAGE_GNUCHESS is not set +# BR2_PACKAGE_LBREAKOUT2 is not set +# BR2_PACKAGE_LTRIS is not set +# BR2_PACKAGE_OPENTYRIAN is not set +# BR2_PACKAGE_PRBOOM is not set +# BR2_PACKAGE_SL is not set +# BR2_PACKAGE_STELLA is not set + +# +# Graphic libraries and applications (graphic/text) +# + +# +# Graphic applications +# + +# +# cog needs wpewebkit and a toolchain w/ threads +# +# BR2_PACKAGE_FSWEBCAM is not set +# BR2_PACKAGE_GHOSTSCRIPT is not set + +# +# glmark2 needs an OpenGL or an openGL ES and EGL backend +# +# BR2_PACKAGE_GNUPLOT is not set +# BR2_PACKAGE_JHEAD is not set +# BR2_PACKAGE_LIBVA_UTILS is not set +BR2_PACKAGE_NETSURF_ARCH_SUPPORTS=y +# BR2_PACKAGE_NETSURF is not set +# BR2_PACKAGE_PNGQUANT is not set +# BR2_PACKAGE_RRDTOOL is not set + +# +# stellarium needs Qt5 and an OpenGL provider +# +# BR2_PACKAGE_TESSERACT_OCR is not set + +# +# Graphic libraries +# +# BR2_PACKAGE_CEGUI06 is not set +# BR2_PACKAGE_DIRECTFB is not set +# BR2_PACKAGE_FB_TEST_APP is not set +# BR2_PACKAGE_FBDUMP is not set +# BR2_PACKAGE_FBGRAB is not set +# BR2_PACKAGE_FBTERM is not set +# BR2_PACKAGE_FBV is not set +# BR2_PACKAGE_FREERDP is not set +# BR2_PACKAGE_IMAGEMAGICK is not set +# BR2_PACKAGE_LINUX_FUSION is not set +# BR2_PACKAGE_MESA3D is not set +# BR2_PACKAGE_OCRAD is not set +# BR2_PACKAGE_PSPLASH is not set +# BR2_PACKAGE_SDL is not set +# BR2_PACKAGE_SDL2 is not set + +# +# Other GUIs +# +# BR2_PACKAGE_QT5 is not set + +# +# tekui needs a Lua interpreter and a toolchain w/ threads, dynamic library +# + +# +# weston needs udev and a toolchain w/ locale, threads, dynamic library, headers >= 3.0 +# +# BR2_PACKAGE_XORG7 is not set + +# +# vte needs an OpenGL or an OpenGL-EGL/wayland backend +# +# BR2_PACKAGE_XKEYBOARD_CONFIG is not set + +# +# Hardware handling +# + +# +# Firmware +# +# BR2_PACKAGE_ARMBIAN_FIRMWARE is not set +# BR2_PACKAGE_B43_FIRMWARE is not set +# BR2_PACKAGE_LINUX_FIRMWARE is not set +# BR2_PACKAGE_MURATA_CYW_FW is not set +# BR2_PACKAGE_UX500_FIRMWARE is not set +# BR2_PACKAGE_WILC1000_FIRMWARE is not set +# BR2_PACKAGE_WILINK_BT_FIRMWARE is not set +# BR2_PACKAGE_ZD1211_FIRMWARE is not set +# BR2_PACKAGE_18XX_TI_UTILS is not set +# BR2_PACKAGE_ACPICA is not set +# BR2_PACKAGE_ACPID is not set +# BR2_PACKAGE_ACPITOOL is not set +# BR2_PACKAGE_AER_INJECT is not set +# BR2_PACKAGE_AVRDUDE is not set + +# +# bcache-tools needs udev /dev management +# + +# +# brickd needs udev /dev management, a toolchain w/ threads, wchar +# +# BR2_PACKAGE_BRLTTY is not set +# BR2_PACKAGE_CC_TOOL is not set +# BR2_PACKAGE_CDRKIT is not set +# BR2_PACKAGE_CRYPTSETUP is not set +# BR2_PACKAGE_CWIID is not set +# BR2_PACKAGE_DAHDI_LINUX is not set +# BR2_PACKAGE_DAHDI_TOOLS is not set +# BR2_PACKAGE_DBUS is not set +# BR2_PACKAGE_DFU_UTIL is not set +# BR2_PACKAGE_DMRAID is not set + +# +# dt-utils needs udev /dev management +# +# BR2_PACKAGE_DTV_SCAN_TABLES is not set +# BR2_PACKAGE_DUMP1090 is not set +# BR2_PACKAGE_DVB_APPS is not set +# BR2_PACKAGE_DVBSNOOP is not set +# BR2_PACKAGE_EDID_DECODE is not set + +# +# eudev needs eudev /dev management +# +# BR2_PACKAGE_EVEMU is not set +# BR2_PACKAGE_EVTEST is not set +# BR2_PACKAGE_FAN_CTRL is not set +# BR2_PACKAGE_FCONFIG is not set +# BR2_PACKAGE_FIS is not set +BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y +# BR2_PACKAGE_FLASHROM is not set +# BR2_PACKAGE_FMTOOLS is not set +# BR2_PACKAGE_FXLOAD is not set +# BR2_PACKAGE_GADGETFS_TEST is not set +# BR2_PACKAGE_GPM is not set +# BR2_PACKAGE_GPSD is not set +# BR2_PACKAGE_GPTFDISK is not set +# BR2_PACKAGE_GVFS is not set +BR2_PACKAGE_HWDATA=y +# BR2_PACKAGE_HWDATA_IAB_OUI_TXT is not set +BR2_PACKAGE_HWDATA_PCI_IDS=y +# BR2_PACKAGE_HWDATA_PNP_IDS is not set +BR2_PACKAGE_HWDATA_USB_IDS=y +# BR2_PACKAGE_HWLOC is not set +# BR2_PACKAGE_INPUT_EVENT_DAEMON is not set +# BR2_PACKAGE_IOSTAT is not set +# BR2_PACKAGE_IPMITOOL is not set +# BR2_PACKAGE_IRDA_UTILS is not set +# BR2_PACKAGE_KBD is not set +# BR2_PACKAGE_LCDPROC is not set +# BR2_PACKAGE_LIBUBOOTENV is not set +# BR2_PACKAGE_LIBUIO is not set +# BR2_PACKAGE_LINUX_BACKPORTS is not set +# BR2_PACKAGE_LINUXCONSOLETOOLS is not set +# BR2_PACKAGE_LIRC_TOOLS is not set +# BR2_PACKAGE_LM_SENSORS is not set +BR2_PACKAGE_LSHW=y +# BR2_PACKAGE_LSSCSI is not set +# BR2_PACKAGE_LSUIO is not set +# BR2_PACKAGE_LUKSMETA is not set +# BR2_PACKAGE_LVM2 is not set +# BR2_PACKAGE_MDADM is not set +# BR2_PACKAGE_MEMTESTER is not set +# BR2_PACKAGE_MEMTOOL is not set +# BR2_PACKAGE_MINICOM is not set +# BR2_PACKAGE_NANOCOM is not set +# BR2_PACKAGE_NEARD is not set +# BR2_PACKAGE_NVME is not set +# BR2_PACKAGE_OFONO is not set +# BR2_PACKAGE_OPEN2300 is not set +# BR2_PACKAGE_OPENIPMI is not set +# BR2_PACKAGE_OPENOCD is not set +# BR2_PACKAGE_PARTED is not set +# BR2_PACKAGE_PCIUTILS is not set +# BR2_PACKAGE_PDBG is not set +# BR2_PACKAGE_PICOCOM is not set +# BR2_PACKAGE_POWERTOP is not set +# BR2_PACKAGE_PPS_TOOLS is not set +# BR2_PACKAGE_READ_EDID is not set +# BR2_PACKAGE_RNG_TOOLS is not set +# BR2_PACKAGE_RS485CONF is not set +# BR2_PACKAGE_RTC_TOOLS is not set +# BR2_PACKAGE_RTL8188EU is not set +# BR2_PACKAGE_RTL8189FS is not set +# BR2_PACKAGE_RTL8723BS is not set +# BR2_PACKAGE_RTL8723BU is not set +# BR2_PACKAGE_RTL8821AU is not set +# BR2_PACKAGE_SANE_BACKENDS is not set +# BR2_PACKAGE_SDPARM is not set +# BR2_PACKAGE_SETSERIAL is not set +# BR2_PACKAGE_SG3_UTILS is not set +# BR2_PACKAGE_SIGROK_CLI is not set +# BR2_PACKAGE_SISPMCTL is not set +# BR2_PACKAGE_SMARTMONTOOLS is not set +# BR2_PACKAGE_SMSTOOLS3 is not set +# BR2_PACKAGE_SPI_TOOLS is not set +# BR2_PACKAGE_SREDIRD is not set +# BR2_PACKAGE_STATSERIAL is not set +# BR2_PACKAGE_STM32FLASH is not set +# BR2_PACKAGE_SYSSTAT is not set + +# +# targetcli-fb depends on Python +# + +# +# ti-sgx-um needs the ti-sgx-km driver +# +# BR2_PACKAGE_TI_UIM is not set +# BR2_PACKAGE_TI_UTILS is not set +# BR2_PACKAGE_TRIGGERHAPPY is not set +# BR2_PACKAGE_UBOOT_TOOLS is not set +# BR2_PACKAGE_UBUS is not set +# BR2_PACKAGE_UCCP420WLAN is not set + +# +# udisks needs udev /dev management +# +# BR2_PACKAGE_UHUBCTL is not set + +# +# upower needs udev /dev management +# +# BR2_PACKAGE_USB_MODESWITCH is not set +# BR2_PACKAGE_USB_MODESWITCH_DATA is not set + +# +# usbmount requires udev to be enabled +# + +# +# usbutils needs udev /dev management and toolchain w/ threads +# +# BR2_PACKAGE_W_SCAN is not set +# BR2_PACKAGE_WIPE is not set +# BR2_PACKAGE_XORRISO is not set +# BR2_PACKAGE_XR819_XRADIO is not set + +# +# Interpreter languages and scripting +# +# BR2_PACKAGE_4TH is not set +# BR2_PACKAGE_ENSCRIPT is not set +BR2_PACKAGE_HOST_ERLANG_ARCH_SUPPORTS=y +# BR2_PACKAGE_EXECLINE is not set +# BR2_PACKAGE_FICL is not set +# BR2_PACKAGE_HASERL is not set +# BR2_PACKAGE_JIMTCL is not set +# BR2_PACKAGE_LUA is not set +BR2_PACKAGE_PROVIDES_HOST_LUAINTERPRETER="host-lua" +# BR2_PACKAGE_MICROPYTHON is not set +BR2_PACKAGE_HOST_MONO_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_OPENJDK_BIN_ARCH_SUPPORTS=y +# BR2_PACKAGE_PERL is not set +# BR2_PACKAGE_PHP is not set +# BR2_PACKAGE_PYTHON is not set +# BR2_PACKAGE_PYTHON3 is not set +# BR2_PACKAGE_RUBY is not set +# BR2_PACKAGE_TCL is not set + +# +# Libraries +# + +# +# Audio/Sound +# +# BR2_PACKAGE_ALSA_LIB is not set +# BR2_PACKAGE_AUBIO is not set +# BR2_PACKAGE_AUDIOFILE is not set +# BR2_PACKAGE_BCG729 is not set +# BR2_PACKAGE_CAPS is not set +# BR2_PACKAGE_CELT051 is not set +# BR2_PACKAGE_LIBAO is not set +# BR2_PACKAGE_LIBASPLIB is not set +# BR2_PACKAGE_LIBBROADVOICE is not set +# BR2_PACKAGE_LIBCDAUDIO is not set +# BR2_PACKAGE_LIBCDDB is not set +# BR2_PACKAGE_LIBCDIO is not set +# BR2_PACKAGE_LIBCDIO_PARANOIA is not set +# BR2_PACKAGE_LIBCODEC2 is not set +# BR2_PACKAGE_LIBCUE is not set +# BR2_PACKAGE_LIBCUEFILE is not set +# BR2_PACKAGE_LIBEBUR128 is not set +# BR2_PACKAGE_LIBG7221 is not set +# BR2_PACKAGE_LIBGSM is not set +# BR2_PACKAGE_LIBID3TAG is not set +# BR2_PACKAGE_LIBILBC is not set +# BR2_PACKAGE_LIBLO is not set +# BR2_PACKAGE_LIBMAD is not set +# BR2_PACKAGE_LIBMODPLUG is not set +# BR2_PACKAGE_LIBMPD is not set +# BR2_PACKAGE_LIBMPDCLIENT is not set +# BR2_PACKAGE_LIBREPLAYGAIN is not set +# BR2_PACKAGE_LIBSAMPLERATE is not set +# BR2_PACKAGE_LIBSIDPLAY2 is not set +# BR2_PACKAGE_LIBSILK is not set +# BR2_PACKAGE_LIBSNDFILE is not set +# BR2_PACKAGE_LIBSOUNDTOUCH is not set +# BR2_PACKAGE_LIBSOXR is not set +# BR2_PACKAGE_LIBVORBIS is not set +# BR2_PACKAGE_MP4V2 is not set +BR2_PACKAGE_OPENAL_ARCH_SUPPORTS=y +# BR2_PACKAGE_OPENAL is not set +# BR2_PACKAGE_OPENCORE_AMR is not set +# BR2_PACKAGE_OPUS is not set +# BR2_PACKAGE_OPUSFILE is not set +# BR2_PACKAGE_PORTAUDIO is not set +# BR2_PACKAGE_SBC is not set +# BR2_PACKAGE_SPANDSP is not set +# BR2_PACKAGE_SPEEX is not set +# BR2_PACKAGE_SPEEXDSP is not set +# BR2_PACKAGE_TAGLIB is not set +# BR2_PACKAGE_TINYALSA is not set +# BR2_PACKAGE_TREMOR is not set +# BR2_PACKAGE_VO_AACENC is not set + +# +# Compression and decompression +# +# BR2_PACKAGE_LIBARCHIVE is not set +# BR2_PACKAGE_LIBMSPACK is not set +# BR2_PACKAGE_LIBSQUISH is not set +# BR2_PACKAGE_LIBZIP is not set +# BR2_PACKAGE_LZO is not set +# BR2_PACKAGE_MINIZIP is not set +# BR2_PACKAGE_SNAPPY is not set +# BR2_PACKAGE_SZIP is not set +BR2_PACKAGE_ZLIB=y +BR2_PACKAGE_LIBZLIB=y +BR2_PACKAGE_HAS_ZLIB=y +BR2_PACKAGE_PROVIDES_ZLIB="libzlib" +BR2_PACKAGE_PROVIDES_HOST_ZLIB="host-libzlib" +# BR2_PACKAGE_ZZIPLIB is not set + +# +# Crypto +# +# BR2_PACKAGE_BEECRYPT is not set +# BR2_PACKAGE_CA_CERTIFICATES is not set +# BR2_PACKAGE_CRYPTODEV is not set +# BR2_PACKAGE_GCR is not set +# BR2_PACKAGE_GNUTLS is not set +# BR2_PACKAGE_LIBASSUAN is not set +# BR2_PACKAGE_LIBGCRYPT is not set +BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS=y +# BR2_PACKAGE_LIBGPG_ERROR is not set +BR2_PACKAGE_LIBGPG_ERROR_SYSCFG="riscv32-unknown-linux-gnu" +# BR2_PACKAGE_LIBGPGME is not set +# BR2_PACKAGE_LIBKCAPI is not set +# BR2_PACKAGE_LIBKSBA is not set +# BR2_PACKAGE_LIBMCRYPT is not set +# BR2_PACKAGE_LIBMHASH is not set +# BR2_PACKAGE_LIBNSS is not set +# BR2_PACKAGE_LIBOLM is not set +# BR2_PACKAGE_LIBP11 is not set +# BR2_PACKAGE_LIBSCRYPT is not set +# BR2_PACKAGE_LIBSECRET is not set +# BR2_PACKAGE_LIBSHA1 is not set +# BR2_PACKAGE_LIBSODIUM is not set +# BR2_PACKAGE_LIBSSH is not set +# BR2_PACKAGE_LIBSSH2 is not set +BR2_PACKAGE_LIBTOMCRYPT=y +# BR2_PACKAGE_LIBUECC is not set +# BR2_PACKAGE_MBEDTLS is not set +# BR2_PACKAGE_NETTLE is not set +# BR2_PACKAGE_OPENSSL is not set +BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl" +# BR2_PACKAGE_RHASH is not set +# BR2_PACKAGE_TINYDTLS is not set +# BR2_PACKAGE_TPM2_TSS is not set +# BR2_PACKAGE_TROUSERS is not set +# BR2_PACKAGE_USTREAM_SSL is not set +# BR2_PACKAGE_WOLFSSL is not set + +# +# Database +# +# BR2_PACKAGE_BERKELEYDB is not set +# BR2_PACKAGE_GDBM is not set +# BR2_PACKAGE_HIREDIS is not set +# BR2_PACKAGE_KOMPEXSQLITE is not set +# BR2_PACKAGE_LEVELDB is not set +# BR2_PACKAGE_LIBGIT2 is not set +# BR2_PACKAGE_MYSQL is not set +# BR2_PACKAGE_POSTGRESQL is not set +# BR2_PACKAGE_REDIS is not set +# BR2_PACKAGE_SQLCIPHER is not set +# BR2_PACKAGE_SQLITE is not set +# BR2_PACKAGE_UNIXODBC is not set + +# +# Filesystem +# +# BR2_PACKAGE_GAMIN is not set +# BR2_PACKAGE_LIBCONFIG is not set +# BR2_PACKAGE_LIBCONFUSE is not set +# BR2_PACKAGE_LIBFUSE is not set +# BR2_PACKAGE_LIBLOCKFILE is not set +# BR2_PACKAGE_LIBNFS is not set +# BR2_PACKAGE_LIBSYSFS is not set +# BR2_PACKAGE_LOCKDEV is not set +# BR2_PACKAGE_PHYSFS is not set + +# +# Graphics +# +# BR2_PACKAGE_ASSIMP is not set + +# +# at-spi2-atk depends on X.org +# + +# +# at-spi2-core depends on X.org +# +# BR2_PACKAGE_ATK is not set +# BR2_PACKAGE_ATKMM is not set +# BR2_PACKAGE_BULLET is not set +# BR2_PACKAGE_CAIRO is not set +# BR2_PACKAGE_CAIROMM is not set + +# +# chipmunk needs an OpenGL backend +# +# BR2_PACKAGE_EXEMPI is not set +# BR2_PACKAGE_EXIV2 is not set +# BR2_PACKAGE_FONTCONFIG is not set +# BR2_PACKAGE_FREETYPE is not set +# BR2_PACKAGE_GD is not set +# BR2_PACKAGE_GDK_PIXBUF is not set +# BR2_PACKAGE_GIFLIB is not set + +# +# granite needs libgtk3 and a toolchain w/ wchar, threads +# +# BR2_PACKAGE_GRAPHITE2 is not set + +# +# gtkmm3 needs libgtk3 and a toolchain w/ C++, wchar, threads, gcc >= 4.9, host gcc >= 4.8 +# +# BR2_PACKAGE_HARFBUZZ is not set +# BR2_PACKAGE_IJS is not set +# BR2_PACKAGE_IMLIB2 is not set + +# +# irrlicht needs X11 and an OpenGL provider +# +# BR2_PACKAGE_JASPER is not set +# BR2_PACKAGE_JPEG is not set +# BR2_PACKAGE_KMSXX is not set +# BR2_PACKAGE_LCMS2 is not set +# BR2_PACKAGE_LENSFUN is not set +# BR2_PACKAGE_LEPTONICA is not set +# BR2_PACKAGE_LIBART is not set +# BR2_PACKAGE_LIBDMTX is not set +# BR2_PACKAGE_LIBDRM is not set + +# +# libepoxy needs an OpenGL and/or OpenGL EGL backend +# +# BR2_PACKAGE_LIBEXIF is not set + +# +# libfm needs X.org and a toolchain w/ wchar, threads, C++, gcc >= 4.8 +# +# BR2_PACKAGE_LIBFM_EXTRA is not set + +# +# libfreeglut depends on X.org and needs an OpenGL backend +# +# BR2_PACKAGE_LIBFREEIMAGE is not set +# BR2_PACKAGE_LIBGEOTIFF is not set + +# +# libglew depends on X.org and needs an OpenGL backend +# + +# +# libglfw depends on X.org and needs an OpenGL backend +# + +# +# libglu needs an OpenGL backend +# +# BR2_PACKAGE_LIBGTA is not set + +# +# libgtk3 needs an OpenGL or an OpenGL-EGL/wayland backend +# +# BR2_PACKAGE_LIBMEDIAART is not set +# BR2_PACKAGE_LIBMNG is not set +# BR2_PACKAGE_LIBPNG is not set +# BR2_PACKAGE_LIBQRENCODE is not set +# BR2_PACKAGE_LIBRAW is not set +# BR2_PACKAGE_LIBRSVG is not set + +# +# libsoil needs an OpenGL backend and a toolchain w/ dynamic library +# +# BR2_PACKAGE_LIBSVG is not set +# BR2_PACKAGE_LIBSVG_CAIRO is not set +# BR2_PACKAGE_LIBSVGTINY is not set +# BR2_PACKAGE_LIBVA is not set +# BR2_PACKAGE_LIBVIPS is not set + +# +# libwpe needs a toolchain w/ C++, dynamic library and an OpenEGL-capable backend +# +# BR2_PACKAGE_MENU_CACHE is not set +# BR2_PACKAGE_OPENCV is not set +# BR2_PACKAGE_OPENCV3 is not set +# BR2_PACKAGE_OPENJPEG is not set +# BR2_PACKAGE_PANGO is not set +# BR2_PACKAGE_PANGOMM is not set +# BR2_PACKAGE_PIXMAN is not set +# BR2_PACKAGE_POPPLER is not set +# BR2_PACKAGE_TIFF is not set +# BR2_PACKAGE_WAYLAND is not set +# BR2_PACKAGE_WEBP is not set +# BR2_PACKAGE_WOFF2 is not set + +# +# wpebackend-fdo needs a toolchain w/ C++, wchar, threads, dynamic library and an OpenEGL-capable Wayland backend +# +# BR2_PACKAGE_ZBAR is not set +# BR2_PACKAGE_ZXING_CPP is not set + +# +# Hardware handling +# +# BR2_PACKAGE_ACSCCID is not set +# BR2_PACKAGE_C_PERIPHERY is not set +# BR2_PACKAGE_CCID is not set +# BR2_PACKAGE_DTC is not set +# BR2_PACKAGE_HACKRF is not set + +# +# hidapi needs udev /dev management and a toolchain w/ NPTL threads +# +# BR2_PACKAGE_JITTERENTROPY_LIBRARY is not set +# BR2_PACKAGE_LCDAPI is not set +# BR2_PACKAGE_LET_ME_CREATE is not set +# BR2_PACKAGE_LIBAIO is not set + +# +# libatasmart requires udev to be enabled +# +# BR2_PACKAGE_LIBCEC is not set +# BR2_PACKAGE_LIBFREEFARE is not set +# BR2_PACKAGE_LIBFTDI is not set +# BR2_PACKAGE_LIBFTDI1 is not set +# BR2_PACKAGE_LIBGPHOTO2 is not set +# BR2_PACKAGE_LIBGPIOD is not set + +# +# libgudev needs udev /dev handling and a toolchain w/ wchar, threads +# +# BR2_PACKAGE_LIBHID is not set +# BR2_PACKAGE_LIBIIO is not set + +# +# libinput needs udev /dev management and a toolchain w/ locale +# +# BR2_PACKAGE_LIBIQRF is not set +# BR2_PACKAGE_LIBLLCP is not set +# BR2_PACKAGE_LIBMBIM is not set +# BR2_PACKAGE_LIBNFC is not set +# BR2_PACKAGE_LIBPCIACCESS is not set +# BR2_PACKAGE_LIBPHIDGET is not set +# BR2_PACKAGE_LIBPRI is not set +# BR2_PACKAGE_LIBQMI is not set +# BR2_PACKAGE_LIBRAW1394 is not set +# BR2_PACKAGE_LIBRTLSDR is not set +# BR2_PACKAGE_LIBSERIAL is not set +# BR2_PACKAGE_LIBSERIALPORT is not set +# BR2_PACKAGE_LIBSIGROK is not set +# BR2_PACKAGE_LIBSIGROKDECODE is not set +# BR2_PACKAGE_LIBSOC is not set +# BR2_PACKAGE_LIBSS7 is not set +# BR2_PACKAGE_LIBUSB is not set +# BR2_PACKAGE_LIBUSBGX is not set +# BR2_PACKAGE_LIBV4L is not set +# BR2_PACKAGE_LIBXKBCOMMON is not set +# BR2_PACKAGE_MTDEV is not set +# BR2_PACKAGE_NEARDAL is not set +# BR2_PACKAGE_OWFS is not set +# BR2_PACKAGE_PCSC_LITE is not set +# BR2_PACKAGE_TSLIB is not set +# BR2_PACKAGE_URG is not set +# BR2_PACKAGE_WIRINGPI is not set + +# +# Javascript +# +# BR2_PACKAGE_ANGULARJS is not set +# BR2_PACKAGE_BOOTSTRAP is not set +# BR2_PACKAGE_DUKTAPE is not set +# BR2_PACKAGE_EXPLORERCANVAS is not set +# BR2_PACKAGE_FLOT is not set +# BR2_PACKAGE_JQUERY is not set +# BR2_PACKAGE_JSMIN is not set +# BR2_PACKAGE_JSON_JAVASCRIPT is not set +# BR2_PACKAGE_OPENLAYERS is not set + +# +# JSON/XML +# +# BR2_PACKAGE_BENEJSON is not set +# BR2_PACKAGE_CJSON is not set +# BR2_PACKAGE_EXPAT is not set +# BR2_PACKAGE_EZXML is not set +# BR2_PACKAGE_JANSSON is not set +# BR2_PACKAGE_JOSE is not set +# BR2_PACKAGE_JSMN is not set +# BR2_PACKAGE_JSON_C is not set +# BR2_PACKAGE_JSON_FOR_MODERN_CPP is not set +# BR2_PACKAGE_JSON_GLIB is not set +# BR2_PACKAGE_JSONCPP is not set +# BR2_PACKAGE_LIBBSON is not set +# BR2_PACKAGE_LIBFASTJSON is not set +# BR2_PACKAGE_LIBJSON is not set +# BR2_PACKAGE_LIBROXML is not set +# BR2_PACKAGE_LIBUCL is not set +# BR2_PACKAGE_LIBXML2 is not set +# BR2_PACKAGE_LIBXMLPP is not set +# BR2_PACKAGE_LIBXMLRPC is not set +# BR2_PACKAGE_LIBXSLT is not set +# BR2_PACKAGE_LIBYAML is not set +# BR2_PACKAGE_MXML is not set +# BR2_PACKAGE_PUGIXML is not set +# BR2_PACKAGE_RAPIDJSON is not set +# BR2_PACKAGE_RAPIDXML is not set +# BR2_PACKAGE_RAPTOR is not set +# BR2_PACKAGE_TINYXML is not set +# BR2_PACKAGE_TINYXML2 is not set +# BR2_PACKAGE_VALIJSON is not set +# BR2_PACKAGE_XERCES is not set +# BR2_PACKAGE_YAJL is not set +# BR2_PACKAGE_YAML_CPP is not set + +# +# Logging +# +# BR2_PACKAGE_GLOG is not set +# BR2_PACKAGE_LIBLOG4C_LOCALTIME is not set +# BR2_PACKAGE_LIBLOGGING is not set +# BR2_PACKAGE_LOG4CPLUS is not set +# BR2_PACKAGE_LOG4CPP is not set +# BR2_PACKAGE_LOG4CXX is not set +# BR2_PACKAGE_OPENTRACING_CPP is not set +# BR2_PACKAGE_SPDLOG is not set +# BR2_PACKAGE_ZLOG is not set + +# +# Multimedia +# +# BR2_PACKAGE_BITSTREAM is not set +# BR2_PACKAGE_DAV1D is not set +# BR2_PACKAGE_KVAZAAR is not set +# BR2_PACKAGE_LIBAACS is not set +# BR2_PACKAGE_LIBASS is not set +# BR2_PACKAGE_LIBBDPLUS is not set +# BR2_PACKAGE_LIBBLURAY is not set + +# +# libcamera needs udev and a toolchain w/ C++, threads, gcc >= 5 +# +# BR2_PACKAGE_LIBDCADEC is not set +# BR2_PACKAGE_LIBDVBCSA is not set +# BR2_PACKAGE_LIBDVBPSI is not set +# BR2_PACKAGE_LIBDVBSI is not set +# BR2_PACKAGE_LIBDVDCSS is not set +# BR2_PACKAGE_LIBDVDNAV is not set +# BR2_PACKAGE_LIBDVDREAD is not set +# BR2_PACKAGE_LIBEBML is not set +# BR2_PACKAGE_LIBHDHOMERUN is not set +# BR2_PACKAGE_LIBMATROSKA is not set +# BR2_PACKAGE_LIBMMS is not set +# BR2_PACKAGE_LIBMPEG2 is not set +# BR2_PACKAGE_LIBOGG is not set +# BR2_PACKAGE_LIBOPUSENC is not set +# BR2_PACKAGE_LIBPLAYER is not set +# BR2_PACKAGE_LIBTHEORA is not set +# BR2_PACKAGE_LIBVPX is not set +# BR2_PACKAGE_LIBYUV is not set +# BR2_PACKAGE_LIVE555 is not set +# BR2_PACKAGE_MEDIASTREAMER is not set +# BR2_PACKAGE_X264 is not set +# BR2_PACKAGE_X265 is not set + +# +# Networking +# +# BR2_PACKAGE_AGENTPP is not set +# BR2_PACKAGE_ALLJOYN is not set +# BR2_PACKAGE_ALLJOYN_BASE is not set +# BR2_PACKAGE_ALLJOYN_TCL is not set +# BR2_PACKAGE_ALLJOYN_TCL_BASE is not set +# BR2_PACKAGE_AZMQ is not set +# BR2_PACKAGE_AZURE_IOT_SDK_C is not set +# BR2_PACKAGE_BATMAN_ADV is not set +# BR2_PACKAGE_C_ARES is not set +# BR2_PACKAGE_CGIC is not set +# BR2_PACKAGE_CPPZMQ is not set +# BR2_PACKAGE_CURLPP is not set +# BR2_PACKAGE_CZMQ is not set +# BR2_PACKAGE_DAQ is not set +# BR2_PACKAGE_DAVICI is not set +# BR2_PACKAGE_ENET is not set +# BR2_PACKAGE_FILEMQ is not set +# BR2_PACKAGE_FLICKCURL is not set +# BR2_PACKAGE_FREERADIUS_CLIENT is not set +# BR2_PACKAGE_GEOIP is not set +# BR2_PACKAGE_GLIB_NETWORKING is not set +# BR2_PACKAGE_GRPC is not set +# BR2_PACKAGE_GSSDP is not set +# BR2_PACKAGE_GUPNP is not set +# BR2_PACKAGE_GUPNP_AV is not set +# BR2_PACKAGE_GUPNP_DLNA is not set +# BR2_PACKAGE_IBRCOMMON is not set +# BR2_PACKAGE_IBRDTN is not set +# BR2_PACKAGE_LIBCGI is not set +# BR2_PACKAGE_LIBCGICC is not set +# BR2_PACKAGE_LIBCOAP is not set +# BR2_PACKAGE_LIBCPPRESTSDK is not set +# BR2_PACKAGE_LIBCURL is not set +# BR2_PACKAGE_LIBDNET is not set +# BR2_PACKAGE_LIBEXOSIP2 is not set +# BR2_PACKAGE_LIBFCGI is not set +# BR2_PACKAGE_LIBGSASL is not set +# BR2_PACKAGE_LIBHTP is not set +# BR2_PACKAGE_LIBHTTPPARSER is not set +# BR2_PACKAGE_LIBHTTPSERVER is not set +# BR2_PACKAGE_LIBIDN is not set +# BR2_PACKAGE_LIBIDN2 is not set +# BR2_PACKAGE_LIBISCSI is not set +# BR2_PACKAGE_LIBKRB5 is not set +# BR2_PACKAGE_LIBLDNS is not set +# BR2_PACKAGE_LIBMAXMINDDB is not set +# BR2_PACKAGE_LIBMBUS is not set +# BR2_PACKAGE_LIBMEMCACHED is not set +# BR2_PACKAGE_LIBMICROHTTPD is not set +# BR2_PACKAGE_LIBMINIUPNPC is not set +# BR2_PACKAGE_LIBMNL is not set +# BR2_PACKAGE_LIBMODBUS is not set +# BR2_PACKAGE_LIBNATPMP is not set +# BR2_PACKAGE_LIBNDP is not set +# BR2_PACKAGE_LIBNET is not set +# BR2_PACKAGE_LIBNETCONF2 is not set +# BR2_PACKAGE_LIBNETFILTER_ACCT is not set +# BR2_PACKAGE_LIBNETFILTER_CONNTRACK is not set +# BR2_PACKAGE_LIBNETFILTER_CTHELPER is not set +# BR2_PACKAGE_LIBNETFILTER_CTTIMEOUT is not set +# BR2_PACKAGE_LIBNETFILTER_LOG is not set +# BR2_PACKAGE_LIBNETFILTER_QUEUE is not set +# BR2_PACKAGE_LIBNFNETLINK is not set +# BR2_PACKAGE_LIBNFTNL is not set +# BR2_PACKAGE_LIBNICE is not set +# BR2_PACKAGE_LIBNL is not set +# BR2_PACKAGE_LIBOAUTH is not set +# BR2_PACKAGE_LIBOPING is not set +# BR2_PACKAGE_LIBOSIP2 is not set +# BR2_PACKAGE_LIBPAGEKITE is not set +BR2_PACKAGE_LIBPCAP=y +# BR2_PACKAGE_LIBPJSIP is not set +# BR2_PACKAGE_LIBRSYNC is not set +# BR2_PACKAGE_LIBSHAIRPLAY is not set +# BR2_PACKAGE_LIBSHOUT is not set +# BR2_PACKAGE_LIBSOCKETCAN is not set +# BR2_PACKAGE_LIBSOUP is not set +# BR2_PACKAGE_LIBSRTP is not set +# BR2_PACKAGE_LIBSTROPHE is not set +# BR2_PACKAGE_LIBTIRPC is not set +# BR2_PACKAGE_LIBTORRENT is not set +# BR2_PACKAGE_LIBTORRENT_RASTERBAR is not set +# BR2_PACKAGE_LIBUPNP is not set +# BR2_PACKAGE_LIBUPNP18 is not set +# BR2_PACKAGE_LIBUPNPP is not set +# BR2_PACKAGE_LIBURIPARSER is not set +# BR2_PACKAGE_LIBVNCSERVER is not set +# BR2_PACKAGE_LIBWEBSOCK is not set +# BR2_PACKAGE_LIBWEBSOCKETS is not set +# BR2_PACKAGE_LIBYANG is not set +# BR2_PACKAGE_LKSCTP_TOOLS is not set +# BR2_PACKAGE_MONGOOSE is not set +# BR2_PACKAGE_NANOMSG is not set +# BR2_PACKAGE_NEON is not set +# BR2_PACKAGE_NGHTTP2 is not set +# BR2_PACKAGE_NORM is not set +# BR2_PACKAGE_NSS_MYHOSTNAME is not set +# BR2_PACKAGE_NSS_PAM_LDAPD is not set +# BR2_PACKAGE_OMNIORB is not set +# BR2_PACKAGE_OPENLDAP is not set +# BR2_PACKAGE_OPENMPI is not set +# BR2_PACKAGE_OPENPGM is not set +# BR2_PACKAGE_OPENZWAVE is not set +# BR2_PACKAGE_ORTP is not set +# BR2_PACKAGE_PAHO_MQTT_C is not set +# BR2_PACKAGE_PAHO_MQTT_CPP is not set +# BR2_PACKAGE_QDECODER is not set +# BR2_PACKAGE_QPID_PROTON is not set +# BR2_PACKAGE_RABBITMQ_C is not set +# BR2_PACKAGE_RESTCLIENT_CPP is not set +# BR2_PACKAGE_RTMPDUMP is not set +# BR2_PACKAGE_SLIRP is not set +# BR2_PACKAGE_SNMPPP is not set +# BR2_PACKAGE_SOFIA_SIP is not set +# BR2_PACKAGE_THRIFT is not set +# BR2_PACKAGE_USBREDIR is not set +# BR2_PACKAGE_WAMPCC is not set +# BR2_PACKAGE_WEBSOCKETPP is not set +# BR2_PACKAGE_ZEROMQ is not set +# BR2_PACKAGE_ZMQPP is not set +# BR2_PACKAGE_ZYRE is not set + +# +# Other +# +# BR2_PACKAGE_APR is not set +# BR2_PACKAGE_APR_UTIL is not set +# BR2_PACKAGE_ARMADILLO is not set +# BR2_PACKAGE_ATF is not set +# BR2_PACKAGE_BCTOOLBOX is not set +# BR2_PACKAGE_BOOST is not set +# BR2_PACKAGE_C_CAPNPROTO is not set +# BR2_PACKAGE_CAPNPROTO is not set +# BR2_PACKAGE_CLAPACK is not set +# BR2_PACKAGE_CMOCKA is not set +# BR2_PACKAGE_CPPCMS is not set +# BR2_PACKAGE_CRACKLIB is not set +# BR2_PACKAGE_DAWGDIC is not set +# BR2_PACKAGE_DING_LIBS is not set +# BR2_PACKAGE_EIGEN is not set +# BR2_PACKAGE_ELFUTILS is not set +# BR2_PACKAGE_ELL is not set +# BR2_PACKAGE_FFTW is not set +# BR2_PACKAGE_FLANN is not set +# BR2_PACKAGE_FLATBUFFERS is not set +# BR2_PACKAGE_FLATCC is not set +# BR2_PACKAGE_GCONF is not set +# BR2_PACKAGE_GFLAGS is not set +# BR2_PACKAGE_GLI is not set +# BR2_PACKAGE_GLIBMM is not set +# BR2_PACKAGE_GLM is not set +# BR2_PACKAGE_GMP is not set +# BR2_PACKAGE_GSL is not set +# BR2_PACKAGE_GTEST is not set +BR2_PACKAGE_JEMALLOC_ARCH_SUPPORTS=y +# BR2_PACKAGE_JEMALLOC is not set + +# +# lapack/blas needs a toolchain w/ fortran +# +# BR2_PACKAGE_LIBARGTABLE2 is not set +# BR2_PACKAGE_LIBAVL is not set +# BR2_PACKAGE_LIBB64 is not set +BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS=y +# BR2_PACKAGE_LIBBSD is not set +# BR2_PACKAGE_LIBCAP is not set +# BR2_PACKAGE_LIBCAP_NG is not set +# BR2_PACKAGE_LIBCGROUP is not set +# BR2_PACKAGE_LIBCORRECT is not set +# BR2_PACKAGE_LIBCROCO is not set +# BR2_PACKAGE_LIBCROSSGUID is not set +# BR2_PACKAGE_LIBCSV is not set +# BR2_PACKAGE_LIBDAEMON is not set +# BR2_PACKAGE_LIBEE is not set +# BR2_PACKAGE_LIBEV is not set +# BR2_PACKAGE_LIBEVDEV is not set +# BR2_PACKAGE_LIBEVENT is not set +# BR2_PACKAGE_LIBFFI is not set +# BR2_PACKAGE_LIBGEE is not set +# BR2_PACKAGE_LIBGLIB2 is not set +# BR2_PACKAGE_LIBGLOB is not set +# BR2_PACKAGE_LIBICAL is not set +# BR2_PACKAGE_LIBITE is not set +# BR2_PACKAGE_LIBLINEAR is not set +# BR2_PACKAGE_LIBLOKI is not set +# BR2_PACKAGE_LIBNPTH is not set +BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT=y +# BR2_PACKAGE_LIBNSPR is not set +# BR2_PACKAGE_LIBPFM4 is not set +# BR2_PACKAGE_LIBPLIST is not set +# BR2_PACKAGE_LIBPTHREAD_STUBS is not set +# BR2_PACKAGE_LIBPTHSEM is not set +# BR2_PACKAGE_LIBPWQUALITY is not set +# BR2_PACKAGE_LIBSIGC is not set +BR2_PACKAGE_LIBSIGSEGV_ARCH_SUPPORTS=y +# BR2_PACKAGE_LIBSIGSEGV is not set +# BR2_PACKAGE_LIBSPATIALINDEX is not set +# BR2_PACKAGE_LIBTASN1 is not set +BR2_PACKAGE_LIBTOMMATH=y +# BR2_PACKAGE_LIBTPL is not set +# BR2_PACKAGE_LIBUBOX is not set +# BR2_PACKAGE_LIBUCI is not set +BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS=y +# BR2_PACKAGE_LIBURCU is not set +# BR2_PACKAGE_LIBUV is not set +# BR2_PACKAGE_LINUX_PAM is not set +# BR2_PACKAGE_LIQUID_DSP is not set +# BR2_PACKAGE_LTTNG_LIBUST is not set +# BR2_PACKAGE_MPC is not set +# BR2_PACKAGE_MPDECIMAL is not set +# BR2_PACKAGE_MPFR is not set +# BR2_PACKAGE_MPIR is not set +# BR2_PACKAGE_MSGPACK is not set +# BR2_PACKAGE_MTDEV2TUIO is not set +# BR2_PACKAGE_ORC is not set +# BR2_PACKAGE_P11_KIT is not set +BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y +# BR2_PACKAGE_PROTOBUF is not set +# BR2_PACKAGE_PROTOBUF_C is not set +# BR2_PACKAGE_QHULL is not set +# BR2_PACKAGE_QLIBC is not set +# BR2_PACKAGE_RIEMANN_C_CLIENT is not set +# BR2_PACKAGE_SHAPELIB is not set +# BR2_PACKAGE_SKALIBS is not set +# BR2_PACKAGE_SPHINXBASE is not set +# BR2_PACKAGE_TINYCBOR is not set +# BR2_PACKAGE_XAPIAN is not set + +# +# Security +# +# BR2_PACKAGE_LIBSELINUX is not set +# BR2_PACKAGE_LIBSEPOL is not set +# BR2_PACKAGE_SAFECLIB is not set + +# +# Text and terminal handling +# +# BR2_PACKAGE_AUGEAS is not set +# BR2_PACKAGE_ENCHANT is not set +# BR2_PACKAGE_FMT is not set +# BR2_PACKAGE_FSTRCMP is not set +# BR2_PACKAGE_ICU is not set +# BR2_PACKAGE_LIBCLI is not set +# BR2_PACKAGE_LIBEDIT is not set +# BR2_PACKAGE_LIBENCA is not set +# BR2_PACKAGE_LIBESTR is not set +# BR2_PACKAGE_LIBFRIBIDI is not set +# BR2_PACKAGE_LIBUNISTRING is not set +# BR2_PACKAGE_LINENOISE is not set +# BR2_PACKAGE_NCURSES is not set +# BR2_PACKAGE_NEWT is not set +# BR2_PACKAGE_ONIGURUMA is not set +BR2_PACKAGE_PCRE=y +# BR2_PACKAGE_PCRE_16 is not set +# BR2_PACKAGE_PCRE_32 is not set +# BR2_PACKAGE_PCRE_UTF is not set +# BR2_PACKAGE_PCRE_UCP is not set +# BR2_PACKAGE_PCRE2 is not set +# BR2_PACKAGE_POPT is not set +# BR2_PACKAGE_READLINE is not set +# BR2_PACKAGE_SLANG is not set +# BR2_PACKAGE_TCLAP is not set +# BR2_PACKAGE_UTF8PROC is not set + +# +# Mail +# +# BR2_PACKAGE_DOVECOT is not set +# BR2_PACKAGE_EXIM is not set +# BR2_PACKAGE_FETCHMAIL is not set +# BR2_PACKAGE_HEIRLOOM_MAILX is not set +# BR2_PACKAGE_LIBESMTP is not set +# BR2_PACKAGE_MSMTP is not set +# BR2_PACKAGE_MUTT is not set + +# +# Miscellaneous +# +# BR2_PACKAGE_AESPIPE is not set +# BR2_PACKAGE_BC is not set +# BR2_PACKAGE_CLAMAV is not set +# BR2_PACKAGE_COLLECTD is not set +# BR2_PACKAGE_COLLECTL is not set + +# +# domoticz needs lua 5.3 and a toolchain w/ C++, gcc >= 4.8, NPTL, wchar, dynamic library +# +# BR2_PACKAGE_EMPTY is not set +# BR2_PACKAGE_GNURADIO is not set +# BR2_PACKAGE_GOOGLEFONTDIRECTORY is not set + +# +# gqrx needs a toolchain w/ C++, threads, wchar, dynamic library +# + +# +# gqrx needs qt5 +# +# BR2_PACKAGE_GSETTINGS_DESKTOP_SCHEMAS is not set +BR2_PACKAGE_HAVEGED=y +# BR2_PACKAGE_LINUX_SYSCALL_SUPPORT is not set +# BR2_PACKAGE_MCRYPT is not set +# BR2_PACKAGE_MOBILE_BROADBAND_PROVIDER_INFO is not set +# BR2_PACKAGE_PROJ is not set +# BR2_PACKAGE_QPDF is not set +# BR2_PACKAGE_SHARED_MIME_INFO is not set +# BR2_PACKAGE_SUNWAIT is not set +# BR2_PACKAGE_TASKD is not set +# BR2_PACKAGE_XUTIL_UTIL_MACROS is not set + +# +# Networking applications +# +# BR2_PACKAGE_AIRCRACK_NG is not set +# BR2_PACKAGE_AOETOOLS is not set +# BR2_PACKAGE_APACHE is not set +# BR2_PACKAGE_ARGUS is not set +# BR2_PACKAGE_ARP_SCAN is not set +# BR2_PACKAGE_ARPTABLES is not set +# BR2_PACKAGE_ASTERISK is not set +# BR2_PACKAGE_ATFTP is not set +# BR2_PACKAGE_AUTOSSH is not set +# BR2_PACKAGE_AVAHI is not set +# BR2_PACKAGE_AXEL is not set +# BR2_PACKAGE_BABELD is not set +# BR2_PACKAGE_BANDWIDTHD is not set +# BR2_PACKAGE_BATCTL is not set +# BR2_PACKAGE_BCUSDK is not set +# BR2_PACKAGE_BIND is not set +# BR2_PACKAGE_BIRD is not set +# BR2_PACKAGE_BLUEZ_UTILS is not set +# BR2_PACKAGE_BLUEZ5_UTILS is not set +# BR2_PACKAGE_BMON is not set +# BR2_PACKAGE_BOA is not set +# BR2_PACKAGE_BOINC is not set +# BR2_PACKAGE_BRCM_PATCHRAM_PLUS is not set +# BR2_PACKAGE_BRIDGE_UTILS is not set +# BR2_PACKAGE_BWM_NG is not set +# BR2_PACKAGE_C_ICAP is not set +# BR2_PACKAGE_CAN_UTILS is not set +# BR2_PACKAGE_CANNELLONI is not set +# BR2_PACKAGE_CHRONY is not set +# BR2_PACKAGE_CIVETWEB is not set +# BR2_PACKAGE_CONNMAN is not set + +# +# connman-gtk needs libgtk3 and a glibc or uClibc toolchain w/ wchar, threads, resolver, dynamic library +# +# BR2_PACKAGE_CONNTRACK_TOOLS is not set +# BR2_PACKAGE_CORKSCREW is not set +# BR2_PACKAGE_CRDA is not set +# BR2_PACKAGE_CTORRENT is not set +# BR2_PACKAGE_CUPS is not set +# BR2_PACKAGE_DANTE is not set +# BR2_PACKAGE_DARKHTTPD is not set +# BR2_PACKAGE_DEHYDRATED is not set +# BR2_PACKAGE_DHCPCD is not set +# BR2_PACKAGE_DHCPDUMP is not set +# BR2_PACKAGE_DNSMASQ is not set +# BR2_PACKAGE_DRBD_UTILS is not set +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_DROPBEAR_CLIENT=y +# BR2_PACKAGE_DROPBEAR_DISABLE_REVERSEDNS is not set +BR2_PACKAGE_DROPBEAR_SMALL=y +# BR2_PACKAGE_DROPBEAR_WTMP is not set +# BR2_PACKAGE_DROPBEAR_LASTLOG is not set +# BR2_PACKAGE_DROPBEAR_LEGACY_CRYPTO is not set +BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="" +# BR2_PACKAGE_EBTABLES is not set + +# +# ejabberd needs erlang, toolchain w/ C++ +# +# BR2_PACKAGE_ETHTOOL is not set +# BR2_PACKAGE_FAIFA is not set +# BR2_PACKAGE_FASTD is not set +# BR2_PACKAGE_FCGIWRAP is not set +# BR2_PACKAGE_FPING is not set +# BR2_PACKAGE_FREESWITCH is not set +# BR2_PACKAGE_GERBERA is not set +# BR2_PACKAGE_GESFTPSERVER is not set +# BR2_PACKAGE_GLORYTUN is not set + +# +# gupnp-tools needs libgtk3 +# +# BR2_PACKAGE_HANS is not set +BR2_PACKAGE_HAPROXY_ARCH_SUPPORTS=y +# BR2_PACKAGE_HAPROXY is not set +# BR2_PACKAGE_HIAWATHA is not set +# BR2_PACKAGE_HOSTAPD is not set +# BR2_PACKAGE_HTTPING is not set +# BR2_PACKAGE_I2PD is not set +# BR2_PACKAGE_IBRDTN_TOOLS is not set +# BR2_PACKAGE_IBRDTND is not set +# BR2_PACKAGE_IFMETRIC is not set +# BR2_PACKAGE_IFTOP is not set +BR2_PACKAGE_IFUPDOWN_SCRIPTS=y +# BR2_PACKAGE_IGD2_FOR_LINUX is not set +# BR2_PACKAGE_IGH_ETHERCAT is not set +# BR2_PACKAGE_IGMPPROXY is not set +# BR2_PACKAGE_INADYN is not set +# BR2_PACKAGE_IODINE is not set +# BR2_PACKAGE_IPERF is not set +# BR2_PACKAGE_IPERF3 is not set +# BR2_PACKAGE_IPROUTE2 is not set +# BR2_PACKAGE_IPSEC_TOOLS is not set +# BR2_PACKAGE_IPSET is not set +# BR2_PACKAGE_IPTABLES is not set +# BR2_PACKAGE_IPTRAF_NG is not set +# BR2_PACKAGE_IPUTILS is not set +# BR2_PACKAGE_IRSSI is not set +# BR2_PACKAGE_IW is not set +# BR2_PACKAGE_IWD is not set +# BR2_PACKAGE_JANUS_GATEWAY is not set +# BR2_PACKAGE_KEEPALIVED is not set +# BR2_PACKAGE_KISMET is not set +# BR2_PACKAGE_KNOCK is not set +# BR2_PACKAGE_LEAFNODE2 is not set +# BR2_PACKAGE_LFT is not set +# BR2_PACKAGE_LFTP is not set +# BR2_PACKAGE_LIGHTTPD is not set +# BR2_PACKAGE_LINKNX is not set +BR2_PACKAGE_LINKS=y +# BR2_PACKAGE_LINPHONE is not set +# BR2_PACKAGE_LINUX_ZIGBEE is not set +# BR2_PACKAGE_LINUXPTP is not set +# BR2_PACKAGE_LLDPD is not set +# BR2_PACKAGE_LRZSZ is not set +# BR2_PACKAGE_LYNX is not set +# BR2_PACKAGE_MACCHANGER is not set +# BR2_PACKAGE_MEMCACHED is not set +# BR2_PACKAGE_MII_DIAG is not set +# BR2_PACKAGE_MINI_SNMPD is not set +# BR2_PACKAGE_MINIDLNA is not set +# BR2_PACKAGE_MINISSDPD is not set +# BR2_PACKAGE_MJPG_STREAMER is not set +# BR2_PACKAGE_MODEM_MANAGER is not set +BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y +# BR2_PACKAGE_MONGREL2 is not set +# BR2_PACKAGE_MONKEY is not set +# BR2_PACKAGE_MOSH is not set +# BR2_PACKAGE_MOSQUITTO is not set +# BR2_PACKAGE_MROUTED is not set +# BR2_PACKAGE_MTR is not set +# BR2_PACKAGE_NBD is not set +# BR2_PACKAGE_NCFTP is not set +# BR2_PACKAGE_NDISC6 is not set +# BR2_PACKAGE_NETATALK is not set +# BR2_PACKAGE_NETPLUG is not set +# BR2_PACKAGE_NETSNMP is not set +# BR2_PACKAGE_NETSTAT_NAT is not set + +# +# NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 3.2, dynamic library +# +# BR2_PACKAGE_NFACCT is not set +# BR2_PACKAGE_NFTABLES is not set +BR2_PACKAGE_NGINX=y +# BR2_PACKAGE_NGINX_FILE_AIO is not set +# BR2_PACKAGE_NGINX_THREADS is not set +BR2_PACKAGE_NGINX_HTTP=y +# BR2_PACKAGE_NGINX_HTTP_CACHE is not set + +# +# http modules +# +# BR2_PACKAGE_NGINX_HTTP_SSL_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_V2_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_REALIP_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_ADDITION_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_XSLT_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_IMAGE_FILTER_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_SUB_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_DAV_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_FLV_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_MP4_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_GUNZIP_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_GZIP_STATIC_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_AUTH_REQUEST_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_RANDOM_INDEX_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_SECURE_LINK_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_DEGRADATION_MODULE is not set +# BR2_PACKAGE_NGINX_HTTP_STUB_STATUS_MODULE is not set +BR2_PACKAGE_NGINX_HTTP_CHARSET_MODULE=y +BR2_PACKAGE_NGINX_HTTP_GZIP_MODULE=y +BR2_PACKAGE_NGINX_HTTP_SSI_MODULE=y +BR2_PACKAGE_NGINX_HTTP_USERID_MODULE=y +BR2_PACKAGE_NGINX_HTTP_ACCESS_MODULE=y +BR2_PACKAGE_NGINX_HTTP_AUTH_BASIC_MODULE=y +BR2_PACKAGE_NGINX_HTTP_AUTOINDEX_MODULE=y +BR2_PACKAGE_NGINX_HTTP_GEO_MODULE=y +BR2_PACKAGE_NGINX_HTTP_MAP_MODULE=y +BR2_PACKAGE_NGINX_HTTP_SPLIT_CLIENTS_MODULE=y +BR2_PACKAGE_NGINX_HTTP_REFERER_MODULE=y +BR2_PACKAGE_NGINX_HTTP_REWRITE_MODULE=y +BR2_PACKAGE_NGINX_HTTP_PROXY_MODULE=y +BR2_PACKAGE_NGINX_HTTP_FASTCGI_MODULE=y +BR2_PACKAGE_NGINX_HTTP_UWSGI_MODULE=y +BR2_PACKAGE_NGINX_HTTP_SCGI_MODULE=y +BR2_PACKAGE_NGINX_HTTP_MEMCACHED_MODULE=y +BR2_PACKAGE_NGINX_HTTP_LIMIT_CONN_MODULE=y +BR2_PACKAGE_NGINX_HTTP_LIMIT_REQ_MODULE=y +BR2_PACKAGE_NGINX_HTTP_EMPTY_GIF_MODULE=y +BR2_PACKAGE_NGINX_HTTP_BROWSER_MODULE=y +BR2_PACKAGE_NGINX_HTTP_UPSTREAM_IP_HASH_MODULE=y +BR2_PACKAGE_NGINX_HTTP_UPSTREAM_LEAST_CONN_MODULE=y +BR2_PACKAGE_NGINX_HTTP_UPSTREAM_KEEPALIVE_MODULE=y +# BR2_PACKAGE_NGINX_MAIL is not set +# BR2_PACKAGE_NGINX_STREAM is not set +# BR2_PACKAGE_NGINX_DEBUG is not set + +# +# misc. modules +# +# BR2_PACKAGE_NGINX_SELECT_MODULE is not set +# BR2_PACKAGE_NGINX_POLL_MODULE is not set +BR2_PACKAGE_NGINX_ADD_MODULES="" + +# +# External nginx modules +# +# BR2_PACKAGE_NGINX_NAXSI is not set +# BR2_PACKAGE_NGINX_UPLOAD is not set +# BR2_PACKAGE_NGIRCD is not set +# BR2_PACKAGE_NGREP is not set +# BR2_PACKAGE_NLOAD is not set +# BR2_PACKAGE_NMAP is not set +# BR2_PACKAGE_NOIP is not set +# BR2_PACKAGE_NTP is not set +# BR2_PACKAGE_NUTTCP is not set +# BR2_PACKAGE_ODHCP6C is not set +# BR2_PACKAGE_ODHCPLOC is not set +# BR2_PACKAGE_OLSR is not set +# BR2_PACKAGE_OPEN_LLDP is not set +# BR2_PACKAGE_OPEN_PLC_UTILS is not set +# BR2_PACKAGE_OPENNTPD is not set +# BR2_PACKAGE_OPENOBEX is not set +# BR2_PACKAGE_OPENRESOLV is not set +# BR2_PACKAGE_OPENSSH is not set +# BR2_PACKAGE_OPENSWAN is not set +# BR2_PACKAGE_OPENVPN is not set +# BR2_PACKAGE_P910ND is not set +# BR2_PACKAGE_PHIDGETWEBSERVICE is not set +# BR2_PACKAGE_PHYTOOL is not set +# BR2_PACKAGE_PIMD is not set +# BR2_PACKAGE_PIXIEWPS is not set +# BR2_PACKAGE_POUND is not set +# BR2_PACKAGE_PPPD is not set +# BR2_PACKAGE_PPTP_LINUX is not set +# BR2_PACKAGE_PRIVOXY is not set +# BR2_PACKAGE_PROFTPD is not set + +# +# prosody needs the lua interpreter, dynamic library +# +# BR2_PACKAGE_PROXYCHAINS_NG is not set +# BR2_PACKAGE_PTPD is not set +# BR2_PACKAGE_PTPD2 is not set +# BR2_PACKAGE_PURE_FTPD is not set +# BR2_PACKAGE_PUTTY is not set +# BR2_PACKAGE_QUAGGA is not set + +# +# rabbitmq-server needs erlang +# +# BR2_PACKAGE_RADVD is not set +# BR2_PACKAGE_REAVER is not set +# BR2_PACKAGE_RP_PPPOE is not set +# BR2_PACKAGE_RPCBIND is not set +# BR2_PACKAGE_RSH_REDONE is not set +# BR2_PACKAGE_RSYNC is not set +# BR2_PACKAGE_RTORRENT is not set +# BR2_PACKAGE_RTPTOOLS is not set +# BR2_PACKAGE_RYGEL is not set +# BR2_PACKAGE_S6_DNS is not set +# BR2_PACKAGE_S6_NETWORKING is not set +# BR2_PACKAGE_SAMBA4 is not set +# BR2_PACKAGE_SCONESERVER is not set +# BR2_PACKAGE_SER2NET is not set +# BR2_PACKAGE_SHADOWSOCKS_LIBEV is not set +# BR2_PACKAGE_SHAIRPORT_SYNC is not set +# BR2_PACKAGE_SHELLINABOX is not set +# BR2_PACKAGE_SMCROUTE is not set +# BR2_PACKAGE_SNGREP is not set +# BR2_PACKAGE_SNORT is not set +# BR2_PACKAGE_SOCAT is not set +# BR2_PACKAGE_SOCKETCAND is not set +# BR2_PACKAGE_SOFTETHER is not set +# BR2_PACKAGE_SPAWN_FCGI is not set +# BR2_PACKAGE_SPICE_PROTOCOL is not set +# BR2_PACKAGE_SQUID is not set +# BR2_PACKAGE_SSHGUARD is not set +# BR2_PACKAGE_SSHPASS is not set +# BR2_PACKAGE_SSLH is not set +# BR2_PACKAGE_STRONGSWAN is not set +# BR2_PACKAGE_STUNNEL is not set +# BR2_PACKAGE_SURICATA is not set +BR2_PACKAGE_TCPDUMP=y +# BR2_PACKAGE_TCPDUMP_SMB is not set +# BR2_PACKAGE_TCPING is not set +# BR2_PACKAGE_TCPREPLAY is not set +# BR2_PACKAGE_THTTPD is not set +# BR2_PACKAGE_TINC is not set +# BR2_PACKAGE_TINYHTTPD is not set +# BR2_PACKAGE_TOR is not set +# BR2_PACKAGE_TRACEROUTE is not set +# BR2_PACKAGE_TRANSMISSION is not set +# BR2_PACKAGE_TUNCTL is not set +# BR2_PACKAGE_TVHEADEND is not set +# BR2_PACKAGE_UACME is not set +# BR2_PACKAGE_UDPCAST is not set +# BR2_PACKAGE_UFTP is not set +# BR2_PACKAGE_UHTTPD is not set +# BR2_PACKAGE_ULOGD is not set +# BR2_PACKAGE_USHARE is not set +# BR2_PACKAGE_USSP_PUSH is not set +# BR2_PACKAGE_VDE2 is not set +# BR2_PACKAGE_VDR is not set +# BR2_PACKAGE_VNSTAT is not set +# BR2_PACKAGE_VPNC is not set +# BR2_PACKAGE_VSFTPD is not set +# BR2_PACKAGE_VTUN is not set +# BR2_PACKAGE_WAVEMON is not set +# BR2_PACKAGE_WIREGUARD is not set +# BR2_PACKAGE_WIRELESS_REGDB is not set +# BR2_PACKAGE_WIRELESS_TOOLS is not set +# BR2_PACKAGE_WIRESHARK is not set +# BR2_PACKAGE_WPA_SUPPLICANT is not set +# BR2_PACKAGE_WPAN_TOOLS is not set +# BR2_PACKAGE_XINETD is not set +# BR2_PACKAGE_XL2TP is not set +# BR2_PACKAGE_XTABLES_ADDONS is not set +# BR2_PACKAGE_ZNC is not set + +# +# Package managers +# + +# +# ------------------------------------------------------- +# + +# +# Please note: +# + +# +# - Buildroot does *not* generate binary packages, +# + +# +# - Buildroot does *not* install any package database. +# + +# +# * +# + +# +# It is up to you to provide those by yourself if you +# + +# +# want to use any of those package managers. +# + +# +# * +# + +# +# See the manual: +# + +# +# http://buildroot.org/manual.html#faq-no-binary-packages +# + +# +# ------------------------------------------------------- +# +# BR2_PACKAGE_OPKG is not set + +# +# Real-Time +# +# BR2_PACKAGE_XENOMAI is not set + +# +# Security +# +# BR2_PACKAGE_CHECKPOLICY is not set +# BR2_PACKAGE_OPTEE_BENCHMARK is not set +# BR2_PACKAGE_OPTEE_CLIENT is not set +# BR2_PACKAGE_PAXTEST is not set +# BR2_PACKAGE_RESTORECOND is not set +# BR2_PACKAGE_SELINUX_PYTHON is not set +# BR2_PACKAGE_SEMODULE_UTILS is not set +# BR2_PACKAGE_SETOOLS is not set + +# +# Shell and utilities +# + +# +# Shells +# +# BR2_PACKAGE_MKSH is not set +# BR2_PACKAGE_ZSH is not set + +# +# Utilities +# +# BR2_PACKAGE_AT is not set +# BR2_PACKAGE_CCRYPT is not set +# BR2_PACKAGE_DIALOG is not set +# BR2_PACKAGE_DTACH is not set +# BR2_PACKAGE_EASY_RSA is not set +# BR2_PACKAGE_FILE is not set +# BR2_PACKAGE_GNUPG is not set +# BR2_PACKAGE_GNUPG2 is not set +# BR2_PACKAGE_INOTIFY_TOOLS is not set +# BR2_PACKAGE_LOCKFILE_PROGS is not set +# BR2_PACKAGE_LOGROTATE is not set +# BR2_PACKAGE_LOGSURFER is not set +# BR2_PACKAGE_PDMENU is not set +# BR2_PACKAGE_PINENTRY is not set +# BR2_PACKAGE_RANGER is not set +# BR2_PACKAGE_SCREEN is not set +# BR2_PACKAGE_SUDO is not set +# BR2_PACKAGE_TINI is not set +# BR2_PACKAGE_TMUX is not set +# BR2_PACKAGE_XMLSTARLET is not set +# BR2_PACKAGE_XXHASH is not set +# BR2_PACKAGE_YTREE is not set + +# +# System tools +# +# BR2_PACKAGE_ACL is not set +# BR2_PACKAGE_ANDROID_TOOLS is not set +# BR2_PACKAGE_ATOP is not set +# BR2_PACKAGE_ATTR is not set +# BR2_PACKAGE_CGROUPFS_MOUNT is not set + +# +# circus needs Python 3 and a toolchain w/ C++, threads +# +# BR2_PACKAGE_CPULOAD is not set +# BR2_PACKAGE_DAEMON is not set +# BR2_PACKAGE_DC3DD is not set +# BR2_PACKAGE_DDRESCUE is not set +# BR2_PACKAGE_DOCKER_COMPOSE is not set +# BR2_PACKAGE_EMLOG is not set +# BR2_PACKAGE_FTOP is not set +# BR2_PACKAGE_GETENT is not set +# BR2_PACKAGE_HTOP is not set +BR2_PACKAGE_INITSCRIPTS=y + +# +# iotop depends on python or python3 +# +# BR2_PACKAGE_IPRUTILS is not set +# BR2_PACKAGE_IRQBALANCE is not set +# BR2_PACKAGE_KEYUTILS is not set +# BR2_PACKAGE_KMOD is not set +# BR2_PACKAGE_LIBOSTREE is not set +# BR2_PACKAGE_LXC is not set +# BR2_PACKAGE_MONIT is not set +# BR2_PACKAGE_NCDU is not set + +# +# netifrc needs openrc as init system +# +# BR2_PACKAGE_NUT is not set + +# +# pamtester depends on linux-pam +# +# BR2_PACKAGE_POLKIT is not set +# BR2_PACKAGE_PROCRANK_LINUX is not set +# BR2_PACKAGE_PWGEN is not set +# BR2_PACKAGE_QUOTA is not set +# BR2_PACKAGE_QUOTATOOL is not set +# BR2_PACKAGE_RAUC is not set +# BR2_PACKAGE_S6 is not set +# BR2_PACKAGE_S6_LINUX_INIT is not set +# BR2_PACKAGE_S6_LINUX_UTILS is not set +# BR2_PACKAGE_S6_PORTABLE_UTILS is not set +# BR2_PACKAGE_S6_RC is not set +# BR2_PACKAGE_SCRUB is not set +# BR2_PACKAGE_SCRYPT is not set +# BR2_PACKAGE_SMACK is not set + +# +# supervisor needs the python interpreter +# +# BR2_PACKAGE_SWUPDATE is not set +BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS=y +# BR2_PACKAGE_TPM_TOOLS is not set +# BR2_PACKAGE_TPM2_ABRMD is not set +# BR2_PACKAGE_TPM2_TOOLS is not set +# BR2_PACKAGE_TPM2_TOTP is not set +# BR2_PACKAGE_UNSCD is not set +# BR2_PACKAGE_UTIL_LINUX is not set + +# +# Text editors and viewers +# +# BR2_PACKAGE_ED is not set +# BR2_PACKAGE_JOE is not set +# BR2_PACKAGE_MC is not set +# BR2_PACKAGE_MOST is not set +# BR2_PACKAGE_NANO is not set +# BR2_PACKAGE_UEMACS is not set + +# +# Filesystem images +# +# BR2_TARGET_ROOTFS_AXFS is not set +# BR2_TARGET_ROOTFS_BTRFS is not set +# BR2_TARGET_ROOTFS_CLOOP is not set +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_CPIO_NONE=y +# BR2_TARGET_ROOTFS_CPIO_GZIP is not set +# BR2_TARGET_ROOTFS_CPIO_BZIP2 is not set +# BR2_TARGET_ROOTFS_CPIO_LZ4 is not set +# BR2_TARGET_ROOTFS_CPIO_LZMA is not set +# BR2_TARGET_ROOTFS_CPIO_LZO is not set +# BR2_TARGET_ROOTFS_CPIO_XZ is not set +# BR2_TARGET_ROOTFS_CPIO_UIMAGE is not set +# BR2_TARGET_ROOTFS_CRAMFS is not set +# BR2_TARGET_ROOTFS_EXT2 is not set +# BR2_TARGET_ROOTFS_F2FS is not set +# BR2_TARGET_ROOTFS_INITRAMFS is not set +# BR2_TARGET_ROOTFS_JFFS2 is not set +# BR2_TARGET_ROOTFS_ROMFS is not set +# BR2_TARGET_ROOTFS_SQUASHFS is not set +BR2_TARGET_ROOTFS_TAR=y +BR2_TARGET_ROOTFS_TAR_NONE=y +# BR2_TARGET_ROOTFS_TAR_GZIP is not set +# BR2_TARGET_ROOTFS_TAR_BZIP2 is not set +# BR2_TARGET_ROOTFS_TAR_LZ4 is not set +# BR2_TARGET_ROOTFS_TAR_LZMA is not set +# BR2_TARGET_ROOTFS_TAR_LZO is not set +# BR2_TARGET_ROOTFS_TAR_XZ is not set +BR2_TARGET_ROOTFS_TAR_OPTIONS="" +# BR2_TARGET_ROOTFS_UBI is not set +# BR2_TARGET_ROOTFS_UBIFS is not set +# BR2_TARGET_ROOTFS_YAFFS2 is not set + +# +# Bootloaders +# +# BR2_TARGET_BAREBOX is not set +# BR2_TARGET_OPENSBI is not set +# BR2_TARGET_UBOOT is not set + +# +# Host utilities +# +# BR2_PACKAGE_HOST_AESPIPE is not set +# BR2_PACKAGE_HOST_ANDROID_TOOLS is not set +# BR2_PACKAGE_HOST_BTRFS_PROGS is not set +# BR2_PACKAGE_HOST_CARGO is not set +# BR2_PACKAGE_HOST_CHECKPOLICY is not set +# BR2_PACKAGE_HOST_CHECKSEC is not set +# BR2_PACKAGE_HOST_CMAKE is not set +# BR2_PACKAGE_HOST_CRAMFS is not set +# BR2_PACKAGE_HOST_CRYPTSETUP is not set +# BR2_PACKAGE_HOST_DBUS_PYTHON is not set +# BR2_PACKAGE_HOST_DFU_UTIL is not set +# BR2_PACKAGE_HOST_DOS2UNIX is not set +# BR2_PACKAGE_HOST_DOSFSTOOLS is not set +# BR2_PACKAGE_HOST_DTC is not set +# BR2_PACKAGE_HOST_E2FSPROGS is not set +# BR2_PACKAGE_HOST_E2TOOLS is not set +# BR2_PACKAGE_HOST_F2FS_TOOLS is not set +# BR2_PACKAGE_HOST_FAKETIME is not set +# BR2_PACKAGE_HOST_FATCAT is not set +# BR2_PACKAGE_HOST_FWUP is not set +# BR2_PACKAGE_HOST_GENEXT2FS is not set +# BR2_PACKAGE_HOST_GENIMAGE is not set +# BR2_PACKAGE_HOST_GENPART is not set +# BR2_PACKAGE_HOST_GNUPG is not set +BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_GO_BOOTSTRAP_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS=y +# BR2_PACKAGE_HOST_GPTFDISK is not set +# BR2_PACKAGE_HOST_IMAGEMAGICK is not set +# BR2_PACKAGE_HOST_IMX_MKIMAGE is not set +# BR2_PACKAGE_HOST_JQ is not set +# BR2_PACKAGE_HOST_JSMIN is not set +# BR2_PACKAGE_HOST_LIBP11 is not set +# BR2_PACKAGE_HOST_LPC3250LOADER is not set +# BR2_PACKAGE_HOST_LTTNG_BABELTRACE is not set +# BR2_PACKAGE_HOST_MENDER_ARTIFACT is not set +BR2_PACKAGE_HOST_MKPASSWD=y +# BR2_PACKAGE_HOST_MTD is not set +# BR2_PACKAGE_HOST_MTOOLS is not set +# BR2_PACKAGE_HOST_OPENOCD is not set +# BR2_PACKAGE_HOST_OPKG_UTILS is not set +# BR2_PACKAGE_HOST_PARTED is not set +BR2_PACKAGE_HOST_PATCHELF=y +# BR2_PACKAGE_HOST_PKGCONF is not set +# BR2_PACKAGE_HOST_PWGEN is not set +# BR2_PACKAGE_HOST_PYTHON_CYTHON is not set +# BR2_PACKAGE_HOST_PYTHON_LXML is not set +# BR2_PACKAGE_HOST_PYTHON_SIX is not set +# BR2_PACKAGE_HOST_PYTHON_XLRD is not set +BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS=y +# BR2_PACKAGE_HOST_QEMU is not set +# BR2_PACKAGE_HOST_RAUC is not set +# BR2_PACKAGE_HOST_RCW is not set +BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS=y +BR2_PACKAGE_HOST_RUSTC_ARCH="riscv32" +# BR2_PACKAGE_HOST_RUSTC is not set +BR2_PACKAGE_PROVIDES_HOST_RUSTC="host-rust-bin" +# BR2_PACKAGE_HOST_SAM_BA is not set +# BR2_PACKAGE_HOST_SQUASHFS is not set +# BR2_PACKAGE_HOST_SWIG is not set +# BR2_PACKAGE_HOST_UBOOT_TOOLS is not set +# BR2_PACKAGE_HOST_UTIL_LINUX is not set +# BR2_PACKAGE_HOST_UTP_COM is not set +# BR2_PACKAGE_HOST_VBOOT_UTILS is not set +# BR2_PACKAGE_HOST_XORRISO is not set +# BR2_PACKAGE_HOST_ZIP is not set +# BR2_PACKAGE_HOST_ZSTD is not set + +# +# Legacy config options +# + +# +# Legacy options removed in 2019.11 +# +# BR2_PACKAGE_PYTHON_PYSNMP_APPS is not set +# BR2_KERNEL_HEADERS_5_2 is not set +# BR2_TARGET_RISCV_PK is not set +# BR2_PACKAGE_SQLITE_STAT3 is not set +# BR2_KERNEL_HEADERS_5_1 is not set +# BR2_PACKAGE_DEVMEM2 is not set +# BR2_PACKAGE_USTR is not set +# BR2_PACKAGE_KODI_SCREENSAVER_PLANESTATE is not set +# BR2_PACKAGE_KODI_VISUALISATION_WAVEFORHUE is not set +# BR2_PACKAGE_KODI_AUDIODECODER_OPUS is not set +# BR2_PACKAGE_MESA3D_OSMESA is not set +# BR2_PACKAGE_HOSTAPD_DRIVER_RTW is not set +# BR2_PACKAGE_WPA_SUPPLICANT_DBUS_NEW is not set +# BR2_PACKAGE_WPA_SUPPLICANT_DBUS_OLD is not set + +# +# Legacy options removed in 2019.08 +# +# BR2_TARGET_TS4800_MBRBOOT is not set +# BR2_PACKAGE_LIBAMCODEC is not set +# BR2_PACKAGE_ODROID_SCRIPTS is not set +# BR2_PACKAGE_ODROID_MALI is not set +# BR2_PACKAGE_KODI_PLATFORM_AML is not set +# BR2_GCC_VERSION_6_X is not set +# BR2_GCC_VERSION_4_9_X is not set +# BR2_GDB_VERSION_7_12 is not set +# BR2_PACKAGE_XAPP_MKFONTDIR is not set +# BR2_GDB_VERSION_8_0 is not set +# BR2_KERNEL_HEADERS_4_20 is not set +# BR2_KERNEL_HEADERS_5_0 is not set + +# +# Legacy options removed in 2019.05 +# +# BR2_CSKY_DSP is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COMPOSITOR is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IQA is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENCV is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_STEREO is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VCD is not set +# BR2_PACKAGE_LUNIT is not set +# BR2_PACKAGE_FFMPEG_FFSERVER is not set +# BR2_PACKAGE_LIBUMP is not set +# BR2_PACKAGE_SUNXI_MALI is not set +# BR2_BINUTILS_VERSION_2_29_X is not set +# BR2_BINUTILS_VERSION_2_28_X is not set +# BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_APEXSINK is not set + +# +# Legacy options removed in 2019.02 +# +# BR2_PACKAGE_QT is not set +# BR2_PACKAGE_QTUIO is not set +# BR2_PACKAGE_PINENTRY_QT4 is not set +# BR2_PACKAGE_POPPLER_QT is not set +# BR2_PACKAGE_OPENCV3_WITH_QT is not set +# BR2_PACKAGE_OPENCV_WITH_QT is not set +# BR2_PACKAGE_AMD_CATALYST_CCCLE is not set +# BR2_PACKAGE_SDL_QTOPIA is not set +# BR2_PACKAGE_PYTHON_PYQT is not set +# BR2_PACKAGE_GNURADIO_QTGUI is not set +# BR2_PACKAGE_LUACRYPTO is not set +# BR2_PACKAGE_TN5250 is not set +# BR2_PACKAGE_BOOST_SIGNALS is not set +# BR2_PACKAGE_FFTW_PRECISION_SINGLE is not set +# BR2_PACKAGE_FFTW_PRECISION_DOUBLE is not set +# BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE is not set +# BR2_PACKAGE_LUA_5_2 is not set +# BR2_TARGET_GENERIC_PASSWD_MD5 is not set + +# +# Legacy options removed in 2018.11 +# +# BR2_TARGET_XLOADER is not set +# BR2_PACKAGE_TIDSP_BINARIES is not set +# BR2_PACKAGE_DSP_TOOLS is not set +# BR2_PACKAGE_GST_DSP is not set +# BR2_PACKAGE_BOOTUTILS is not set +# BR2_PACKAGE_EXPEDITE is not set +# BR2_PACKAGE_MESA3D_OPENGL_TEXTURE_FLOAT is not set +# BR2_KERNEL_HEADERS_4_10 is not set +# BR2_KERNEL_HEADERS_4_11 is not set +# BR2_KERNEL_HEADERS_4_12 is not set +# BR2_KERNEL_HEADERS_4_13 is not set +# BR2_KERNEL_HEADERS_4_15 is not set +# BR2_KERNEL_HEADERS_4_17 is not set +# BR2_PACKAGE_LIBNFTNL_XML is not set +# BR2_KERNEL_HEADERS_3_2 is not set +# BR2_KERNEL_HEADERS_4_1 is not set +# BR2_KERNEL_HEADERS_4_16 is not set +# BR2_KERNEL_HEADERS_4_18 is not set + +# +# Legacy options removed in 2018.08 +# +# BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT is not set +# BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_19 is not set +# BR2_PACKAGE_XPROTO_APPLEWMPROTO is not set +# BR2_PACKAGE_XPROTO_BIGREQSPROTO is not set +# BR2_PACKAGE_XPROTO_COMPOSITEPROTO is not set +# BR2_PACKAGE_XPROTO_DAMAGEPROTO is not set +# BR2_PACKAGE_XPROTO_DMXPROTO is not set +# BR2_PACKAGE_XPROTO_DRI2PROTO is not set +# BR2_PACKAGE_XPROTO_DRI3PROTO is not set +# BR2_PACKAGE_XPROTO_FIXESPROTO is not set +# BR2_PACKAGE_XPROTO_FONTCACHEPROTO is not set +# BR2_PACKAGE_XPROTO_FONTSPROTO is not set +# BR2_PACKAGE_XPROTO_GLPROTO is not set +# BR2_PACKAGE_XPROTO_INPUTPROTO is not set +# BR2_PACKAGE_XPROTO_KBPROTO is not set +# BR2_PACKAGE_XPROTO_PRESENTPROTO is not set +# BR2_PACKAGE_XPROTO_RANDRPROTO is not set +# BR2_PACKAGE_XPROTO_RECORDPROTO is not set +# BR2_PACKAGE_XPROTO_RENDERPROTO is not set +# BR2_PACKAGE_XPROTO_RESOURCEPROTO is not set +# BR2_PACKAGE_XPROTO_SCRNSAVERPROTO is not set +# BR2_PACKAGE_XPROTO_VIDEOPROTO is not set +# BR2_PACKAGE_XPROTO_WINDOWSWMPROTO is not set +# BR2_PACKAGE_XPROTO_XCMISCPROTO is not set +# BR2_PACKAGE_XPROTO_XEXTPROTO is not set +# BR2_PACKAGE_XPROTO_XF86BIGFONTPROTO is not set +# BR2_PACKAGE_XPROTO_XF86DGAPROTO is not set +# BR2_PACKAGE_XPROTO_XF86DRIPROTO is not set +# BR2_PACKAGE_XPROTO_XF86VIDMODEPROTO is not set +# BR2_PACKAGE_XPROTO_XINERAMAPROTO is not set +# BR2_PACKAGE_XPROTO_XPROTO is not set +# BR2_PACKAGE_XPROTO_XPROXYMANAGEMENTPROTOCOL is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_OPENGL is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLES2 is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLX is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_X11 is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_DISPMANX is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXER is not set +# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_LAME is not set +# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPG123 is not set +# BR2_GDB_VERSION_7_11 is not set +# BR2_GDB_VERSION_7_10 is not set + +# +# Legacy options removed in 2018.05 +# +# BR2_PACKAGE_MEDIAART_BACKEND_NONE is not set +# BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF is not set +# BR2_PACKAGE_TI_SGX_AM335X is not set +# BR2_PACKAGE_TI_SGX_AM437X is not set +# BR2_PACKAGE_TI_SGX_AM4430 is not set +# BR2_PACKAGE_TI_SGX_AM5430 is not set +# BR2_PACKAGE_JANUS_AUDIO_BRIDGE is not set +# BR2_PACKAGE_JANUS_ECHO_TEST is not set +# BR2_PACKAGE_JANUS_RECORDPLAY is not set +# BR2_PACKAGE_JANUS_SIP_GATEWAY is not set +# BR2_PACKAGE_JANUS_STREAMING is not set +# BR2_PACKAGE_JANUS_TEXT_ROOM is not set +# BR2_PACKAGE_JANUS_VIDEO_CALL is not set +# BR2_PACKAGE_JANUS_VIDEO_ROOM is not set +# BR2_PACKAGE_JANUS_MQTT is not set +# BR2_PACKAGE_JANUS_RABBITMQ is not set +# BR2_PACKAGE_JANUS_REST is not set +# BR2_PACKAGE_JANUS_UNIX_SOCKETS is not set +# BR2_PACKAGE_JANUS_WEBSOCKETS is not set +# BR2_PACKAGE_IPSEC_SECCTX_DISABLE is not set +# BR2_PACKAGE_IPSEC_SECCTX_ENABLE is not set +# BR2_PACKAGE_IPSEC_SECCTX_KERNEL is not set +# BR2_PACKAGE_LIBTFDI_CPP is not set +# BR2_PACKAGE_JQUERY_UI_THEME_BLACK_TIE is not set +# BR2_PACKAGE_JQUERY_UI_THEME_BLITZER is not set +# BR2_PACKAGE_JQUERY_UI_THEME_CUPERTINO is not set +# BR2_PACKAGE_JQUERY_UI_THEME_DARK_HIVE is not set +# BR2_PACKAGE_JQUERY_UI_THEME_DOT_LUV is not set +# BR2_PACKAGE_JQUERY_UI_THEME_EGGPLANT is not set +# BR2_PACKAGE_JQUERY_UI_THEME_EXCITE_BIKE is not set +# BR2_PACKAGE_JQUERY_UI_THEME_FLICK is not set +# BR2_PACKAGE_JQUERY_UI_THEME_HOT_SNEAKS is not set +# BR2_PACKAGE_JQUERY_UI_THEME_HUMANITY is not set +# BR2_PACKAGE_JQUERY_UI_THEME_LE_FROG is not set +# BR2_PACKAGE_JQUERY_UI_THEME_MINT_CHOC is not set +# BR2_PACKAGE_JQUERY_UI_THEME_OVERCAST is not set +# BR2_PACKAGE_JQUERY_UI_THEME_PEPPER_GRINDER is not set +# BR2_PACKAGE_JQUERY_UI_THEME_REDMOND is not set +# BR2_PACKAGE_JQUERY_UI_THEME_SMOOTHNESS is not set +# BR2_PACKAGE_JQUERY_UI_THEME_SOUTH_STREET is not set +# BR2_PACKAGE_JQUERY_UI_THEME_START is not set +# BR2_PACKAGE_JQUERY_UI_THEME_SUNNY is not set +# BR2_PACKAGE_JQUERY_UI_THEME_SWANKY_PURSE is not set +# BR2_PACKAGE_JQUERY_UI_THEME_TRONTASTIC is not set +# BR2_PACKAGE_JQUERY_UI_THEME_UI_DARKNESS is not set +# BR2_PACKAGE_JQUERY_UI_THEME_UI_LIGHTNESS is not set +# BR2_PACKAGE_JQUERY_UI_THEME_VADER is not set +# BR2_PACKAGE_BLUEZ5_PLUGINS_HEALTH is not set +# BR2_PACKAGE_BLUEZ5_PLUGINS_MIDI is not set +# BR2_PACKAGE_BLUEZ5_PLUGINS_NFC is not set +# BR2_PACKAGE_BLUEZ5_PLUGINS_SAP is not set +# BR2_PACKAGE_BLUEZ5_PLUGINS_SIXAXIS is not set +# BR2_PACKAGE_TRANSMISSION_REMOTE is not set +# BR2_PACKAGE_LIBKCAPI_APPS is not set +# BR2_PACKAGE_MPLAYER is not set +# BR2_PACKAGE_MPLAYER_MPLAYER is not set +# BR2_PACKAGE_MPLAYER_MENCODER is not set +# BR2_PACKAGE_LIBPLAYER_MPLAYER is not set +# BR2_PACKAGE_IQVLINUX is not set +# BR2_BINFMT_FLAT_SEP_DATA is not set +# BR2_bfin is not set +# BR2_PACKAGE_KODI_ADSP_BASIC is not set +# BR2_PACKAGE_KODI_ADSP_FREESURROUND is not set + +# +# Legacy options removed in 2018.02 +# +# BR2_KERNEL_HEADERS_3_4 is not set +# BR2_KERNEL_HEADERS_3_10 is not set +# BR2_KERNEL_HEADERS_3_12 is not set +# BR2_BINUTILS_VERSION_2_27_X is not set +# BR2_PACKAGE_EEPROG is not set +# BR2_PACKAGE_GNUPG2_GPGV2 is not set +# BR2_PACKAGE_IMX_GPU_VIV_APITRACE is not set +# BR2_PACKAGE_IMX_GPU_VIV_G2D is not set + +# +# Legacy options removed in 2017.11 +# +# BR2_PACKAGE_RFKILL is not set +# BR2_PACKAGE_UTIL_LINUX_RESET is not set +# BR2_PACKAGE_POLICYCOREUTILS_AUDIT2ALLOW is not set +# BR2_PACKAGE_POLICYCOREUTILS_RESTORECOND is not set +# BR2_PACKAGE_SEPOLGEN is not set +# BR2_PACKAGE_OPENOBEX_BLUEZ is not set +# BR2_PACKAGE_OPENOBEX_LIBUSB is not set +# BR2_PACKAGE_OPENOBEX_APPS is not set +# BR2_PACKAGE_OPENOBEX_SYSLOG is not set +# BR2_PACKAGE_OPENOBEX_DUMP is not set +# BR2_PACKAGE_AICCU is not set +# BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS is not set + +# +# Legacy options removed in 2017.08 +# +# BR2_TARGET_GRUB is not set +# BR2_PACKAGE_SIMICSFS is not set +# BR2_BINUTILS_VERSION_2_26_X is not set +BR2_XTENSA_OVERLAY_DIR="" +BR2_XTENSA_CUSTOM_NAME="" +# BR2_PACKAGE_HOST_MKE2IMG is not set +BR2_TARGET_ROOTFS_EXT2_BLOCKS=0 +BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES=0 +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CDXAPARSE is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DATAURISRC is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DCCP is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HDVPARSE is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MVE is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NUVDEMUX is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PATCHDETECT is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDI is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TTA is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOMEASURE is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_APEXSINK is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDL is not set +# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MAD is not set +# BR2_STRIP_none is not set +# BR2_PACKAGE_BEECRYPT_CPP is not set +# BR2_PACKAGE_SPICE_CLIENT is not set +# BR2_PACKAGE_SPICE_GUI is not set +# BR2_PACKAGE_SPICE_TUNNEL is not set +# BR2_PACKAGE_INPUT_TOOLS is not set +# BR2_PACKAGE_INPUT_TOOLS_INPUTATTACH is not set +# BR2_PACKAGE_INPUT_TOOLS_JSCAL is not set +# BR2_PACKAGE_INPUT_TOOLS_JSTEST is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86 is not set +# BR2_GCC_VERSION_4_8_X is not set + +# +# Legacy options removed in 2017.05 +# +# BR2_PACKAGE_SUNXI_MALI_R2P4 is not set +# BR2_PACKAGE_NODEJS_MODULES_COFFEESCRIPT is not set +# BR2_PACKAGE_NODEJS_MODULES_EXPRESS is not set +# BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL is not set +# BR2_PACKAGE_OPENOCD_FT2XXX is not set +# BR2_PACKAGE_KODI_RTMPDUMP is not set +# BR2_PACKAGE_KODI_VISUALISATION_FOUNTAIN is not set +# BR2_PACKAGE_PORTMAP is not set +# BR2_BINUTILS_VERSION_2_25_X is not set +# BR2_TOOLCHAIN_BUILDROOT_INET_RPC is not set +BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS=0 +# BR2_PACKAGE_SYSTEMD_KDBUS is not set +# BR2_PACKAGE_POLARSSL is not set +# BR2_NBD_CLIENT is not set +# BR2_NBD_SERVER is not set +# BR2_PACKAGE_GMOCK is not set +# BR2_KERNEL_HEADERS_4_8 is not set +# BR2_KERNEL_HEADERS_3_18 is not set +# BR2_GLIBC_VERSION_2_22 is not set + +# +# Legacy options removed in 2017.02 +# +# BR2_PACKAGE_PERL_DB_FILE is not set +# BR2_KERNEL_HEADERS_4_7 is not set +# BR2_KERNEL_HEADERS_4_6 is not set +# BR2_KERNEL_HEADERS_4_5 is not set +# BR2_KERNEL_HEADERS_3_14 is not set +# BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS is not set +# BR2_UCLIBC_INSTALL_TEST_SUITE is not set +# BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX is not set +# BR2_PACKAGE_MAKEDEVS is not set +# BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A is not set +# BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE is not set +# BR2_PACKAGE_SNOWBALL_HDMISERVICE is not set +# BR2_PACKAGE_SNOWBALL_INIT is not set +# BR2_GDB_VERSION_7_9 is not set + +# +# Legacy options removed in 2016.11 +# +# BR2_PACKAGE_PHP_SAPI_CLI_CGI is not set +# BR2_PACKAGE_PHP_SAPI_CLI_FPM is not set +# BR2_PACKAGE_WVSTREAMS is not set +# BR2_PACKAGE_WVDIAL is not set +# BR2_PACKAGE_WEBKITGTK24 is not set +# BR2_PACKAGE_TORSMO is not set +# BR2_PACKAGE_SSTRIP is not set +# BR2_KERNEL_HEADERS_4_3 is not set +# BR2_KERNEL_HEADERS_4_2 is not set +# BR2_PACKAGE_KODI_ADDON_XVDR is not set +# BR2_PACKAGE_IPKG is not set +# BR2_GCC_VERSION_4_7_X is not set +# BR2_BINUTILS_VERSION_2_24_X is not set +# BR2_PACKAGE_WESTON_RPI is not set +# BR2_LINUX_KERNEL_TOOL_CPUPOWER is not set +# BR2_LINUX_KERNEL_TOOL_PERF is not set +# BR2_LINUX_KERNEL_TOOL_SELFTESTS is not set +# BR2_GCC_VERSION_4_8_ARC is not set +# BR2_KERNEL_HEADERS_4_0 is not set +# BR2_KERNEL_HEADERS_3_19 is not set +# BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS is not set +# BR2_PACKAGE_ELEMENTARY is not set +# BR2_LINUX_KERNEL_CUSTOM_LOCAL is not set + +# +# Legacy options removed in 2016.08 +# +# BR2_PACKAGE_EFL_JP2K is not set +# BR2_PACKAGE_SYSTEMD_COMPAT is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIVEADDER is not set +# BR2_PACKAGE_LIBFSLVPUWRAP is not set +# BR2_PACKAGE_LIBFSLPARSER is not set +# BR2_PACKAGE_LIBFSLCODEC is not set +# BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE_FIT_SIGNATURE_SUPPORT is not set +# BR2_PTHREADS_OLD is not set +# BR2_BINUTILS_VERSION_2_23_X is not set +# BR2_TOOLCHAIN_BUILDROOT_EGLIBC is not set +# BR2_GDB_VERSION_7_8 is not set + +# +# Legacy options removed in 2016.05 +# +# BR2_PACKAGE_OPENVPN_CRYPTO_POLARSSL is not set +# BR2_PACKAGE_NGINX_HTTP_SPDY_MODULE is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RTP is not set +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPG123 is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC is not set +# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC_E500V2 is not set +# BR2_x86_i386 is not set +# BR2_PACKAGE_QT5QUICK1 is not set +BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR="" +# BR2_PACKAGE_XDRIVER_XF86_INPUT_VOID is not set +# BR2_KERNEL_HEADERS_3_17 is not set +# BR2_GDB_VERSION_7_7 is not set +# BR2_PACKAGE_FOOMATIC_FILTERS is not set +# BR2_PACKAGE_SAMBA is not set +# BR2_PACKAGE_KODI_WAVPACK is not set +# BR2_PACKAGE_KODI_RSXS is not set +# BR2_PACKAGE_KODI_GOOM is not set +# BR2_PACKAGE_SYSTEMD_ALL_EXTRAS is not set +# BR2_GCC_VERSION_4_5_X is not set +# BR2_PACKAGE_SQLITE_READLINE is not set + +# +# Legacy options removed in 2016.02 +# +# BR2_PACKAGE_DOVECOT_BZIP2 is not set +# BR2_PACKAGE_DOVECOT_ZLIB is not set +# BR2_PACKAGE_E2FSPROGS_FINDFS is not set +# BR2_PACKAGE_OPENPOWERLINK_DEBUG_LEVEL is not set +# BR2_PACKAGE_OPENPOWERLINK_KERNEL_MODULE is not set +# BR2_PACKAGE_OPENPOWERLINK_LIBPCAP is not set +# BR2_LINUX_KERNEL_SAME_AS_HEADERS is not set +# BR2_PACKAGE_CUPS_PDFTOPS is not set +# BR2_KERNEL_HEADERS_3_16 is not set +# BR2_PACKAGE_PYTHON_PYXML is not set +# BR2_ENABLE_SSP is not set +# BR2_PACKAGE_DIRECTFB_CLE266 is not set +# BR2_PACKAGE_DIRECTFB_UNICHROME is not set +# BR2_PACKAGE_LIBELEMENTARY is not set +# BR2_PACKAGE_LIBEINA is not set +# BR2_PACKAGE_LIBEET is not set +# BR2_PACKAGE_LIBEVAS is not set +# BR2_PACKAGE_LIBECORE is not set +# BR2_PACKAGE_LIBEDBUS is not set +# BR2_PACKAGE_LIBEFREET is not set +# BR2_PACKAGE_LIBEIO is not set +# BR2_PACKAGE_LIBEMBRYO is not set +# BR2_PACKAGE_LIBEDJE is not set +# BR2_PACKAGE_LIBETHUMB is not set +# BR2_PACKAGE_INFOZIP is not set +# BR2_BR2_PACKAGE_NODEJS_0_10_X is not set +# BR2_BR2_PACKAGE_NODEJS_0_12_X is not set +# BR2_BR2_PACKAGE_NODEJS_4_X is not set + +# +# Legacy options removed in 2015.11 +# +# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_REAL is not set +# BR2_PACKAGE_MEDIA_CTL is not set +# BR2_PACKAGE_SCHIFRA is not set +# BR2_PACKAGE_ZXING is not set +# BR2_PACKAGE_BLACKBOX is not set +# BR2_KERNEL_HEADERS_3_0 is not set +# BR2_KERNEL_HEADERS_3_11 is not set +# BR2_KERNEL_HEADERS_3_13 is not set +# BR2_KERNEL_HEADERS_3_15 is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_ANDI is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_BLTLOAD is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_CPULOAD is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_DATABUFFER is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_DIOLOAD is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_DOK is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_DRIVERTEST is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_FIRE is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_FLIP is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_FONTS is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_INPUT is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_JOYSTICK is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_KNUCKLES is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_LAYER is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX_WATER is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_NEO is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_NETLOAD is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_PALETTE is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_PARTICLE is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_PORTER is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_STRESS is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_TEXTURE is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO_PARTICLE is not set +# BR2_PACKAGE_DIRECTFB_EXAMPLES_WINDOW is not set +# BR2_PACKAGE_KOBS_NG is not set +# BR2_PACKAGE_SAWMAN is not set +# BR2_PACKAGE_DIVINE is not set + +# +# Legacy options removed in 2015.08 +# +# BR2_PACKAGE_KODI_PVR_ADDONS is not set +# BR2_BINUTILS_VERSION_2_23_2 is not set +# BR2_BINUTILS_VERSION_2_24 is not set +# BR2_BINUTILS_VERSION_2_25 is not set +# BR2_PACKAGE_PERF is not set +# BR2_BINUTILS_VERSION_2_22 is not set +# BR2_PACKAGE_GPU_VIV_BIN_MX6Q is not set +# BR2_TARGET_UBOOT_NETWORK is not set + +# +# Legacy options removed in 2015.05 +# +# BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_512_16K is not set +# BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K is not set +# BR2_PACKAGE_MONO_20 is not set +# BR2_PACKAGE_MONO_40 is not set +# BR2_PACKAGE_MONO_45 is not set +# BR2_CIVETWEB_WITH_LUA is not set +# BR2_PACKAGE_TIFF_TIFF2PDF is not set +# BR2_PACKAGE_TIFF_TIFFCP is not set +# BR2_LINUX_KERNEL_EXT_RTAI_PATCH is not set +# BR2_TARGET_GENERIC_PASSWD_DES is not set +# BR2_PACKAGE_GTK2_THEME_HICOLOR is not set +# BR2_PACKAGE_VALGRIND_PTRCHECK is not set + +# +# Legacy options removed in 2015.02 +# +# BR2_PACKAGE_LIBGC is not set +# BR2_PACKAGE_WDCTL is not set +# BR2_PACKAGE_UTIL_LINUX_ARCH is not set +# BR2_PACKAGE_UTIL_LINUX_DDATE is not set +# BR2_PACKAGE_RPM_BZIP2_PAYLOADS is not set +# BR2_PACKAGE_RPM_XZ_PAYLOADS is not set +# BR2_PACKAGE_M4 is not set +# BR2_PACKAGE_FLEX_BINARY is not set +# BR2_PACKAGE_BISON is not set +# BR2_PACKAGE_GOB2 is not set +# BR2_PACKAGE_DISTCC is not set +# BR2_PACKAGE_HASERL_VERSION_0_8_X is not set +# BR2_PACKAGE_STRONGSWAN_TOOLS is not set +# BR2_PACKAGE_XBMC_ADDON_XVDR is not set +# BR2_PACKAGE_XBMC_PVR_ADDONS is not set +# BR2_PACKAGE_XBMC is not set +# BR2_PACKAGE_XBMC_ALSA_LIB is not set +# BR2_PACKAGE_XBMC_AVAHI is not set +# BR2_PACKAGE_XBMC_DBUS is not set +# BR2_PACKAGE_XBMC_LIBBLURAY is not set +# BR2_PACKAGE_XBMC_GOOM is not set +# BR2_PACKAGE_XBMC_RSXS is not set +# BR2_PACKAGE_XBMC_LIBCEC is not set +# BR2_PACKAGE_XBMC_LIBMICROHTTPD is not set +# BR2_PACKAGE_XBMC_LIBNFS is not set +# BR2_PACKAGE_XBMC_RTMPDUMP is not set +# BR2_PACKAGE_XBMC_LIBSHAIRPLAY is not set +# BR2_PACKAGE_XBMC_LIBSMBCLIENT is not set +# BR2_PACKAGE_XBMC_LIBTHEORA is not set +# BR2_PACKAGE_XBMC_LIBUSB is not set +# BR2_PACKAGE_XBMC_LIBVA is not set +# BR2_PACKAGE_XBMC_WAVPACK is not set +# BR2_PREFER_STATIC_LIB is not set + +# +# Legacy options removed in 2014.11 +# +# BR2_x86_generic is not set +# BR2_GCC_VERSION_4_4_X is not set +# BR2_sparc_sparchfleon is not set +# BR2_sparc_sparchfleonv8 is not set +# BR2_sparc_sparcsfleon is not set +# BR2_sparc_sparcsfleonv8 is not set +# BR2_PACKAGE_LINUX_FIRMWARE_XC5000 is not set +# BR2_PACKAGE_LINUX_FIRMWARE_CXGB4 is not set +# BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160_7260_7 is not set +# BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160_7260_8 is not set + +# +# Legacy options removed in 2014.08 +# +# BR2_PACKAGE_LIBELF is not set +# BR2_KERNEL_HEADERS_3_8 is not set +# BR2_PACKAGE_GETTEXT_TOOLS is not set +# BR2_PACKAGE_PROCPS is not set +# BR2_BINUTILS_VERSION_2_20_1 is not set +# BR2_BINUTILS_VERSION_2_21 is not set +# BR2_BINUTILS_VERSION_2_23_1 is not set +# BR2_UCLIBC_VERSION_0_9_32 is not set +# BR2_GCC_VERSION_4_3_X is not set +# BR2_GCC_VERSION_4_6_X is not set +# BR2_GDB_VERSION_7_4 is not set +# BR2_GDB_VERSION_7_5 is not set +# BR2_BUSYBOX_VERSION_1_19_X is not set +# BR2_BUSYBOX_VERSION_1_20_X is not set +# BR2_BUSYBOX_VERSION_1_21_X is not set +# BR2_PACKAGE_LIBV4L_DECODE_TM6000 is not set +# BR2_PACKAGE_LIBV4L_IR_KEYTABLE is not set +# BR2_PACKAGE_LIBV4L_V4L2_COMPLIANCE is not set +# BR2_PACKAGE_LIBV4L_V4L2_CTL is not set +# BR2_PACKAGE_LIBV4L_V4L2_DBG is not set + +# +# Legacy options removed in 2014.05 +# +# BR2_PACKAGE_EVTEST_CAPTURE is not set +# BR2_KERNEL_HEADERS_3_6 is not set +# BR2_KERNEL_HEADERS_3_7 is not set +# BR2_PACKAGE_VALA is not set +BR2_PACKAGE_TZDATA_ZONELIST="" +# BR2_PACKAGE_LUA_INTERPRETER_EDITING_NONE is not set +# BR2_PACKAGE_LUA_INTERPRETER_READLINE is not set +# BR2_PACKAGE_LUA_INTERPRETER_LINENOISE is not set +# BR2_PACKAGE_DVB_APPS_UTILS is not set +# BR2_KERNEL_HEADERS_SNAP is not set +# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV is not set +# BR2_PACKAGE_UDEV is not set +# BR2_PACKAGE_UDEV_RULES_GEN is not set +# BR2_PACKAGE_UDEV_ALL_EXTRAS is not set + +# +# Legacy options removed in 2014.02 +# +# BR2_sh2 is not set +# BR2_sh3 is not set +# BR2_sh3eb is not set +# BR2_KERNEL_HEADERS_3_1 is not set +# BR2_KERNEL_HEADERS_3_3 is not set +# BR2_KERNEL_HEADERS_3_5 is not set +# BR2_GDB_VERSION_7_2 is not set +# BR2_GDB_VERSION_7_3 is not set +# BR2_PACKAGE_CCACHE is not set +# BR2_HAVE_DOCUMENTATION is not set +# BR2_PACKAGE_AUTOMAKE is not set +# BR2_PACKAGE_AUTOCONF is not set +# BR2_PACKAGE_XSTROKE is not set +# BR2_PACKAGE_LZMA is not set +# BR2_PACKAGE_TTCP is not set +# BR2_PACKAGE_LIBNFC_LLCP is not set +# BR2_PACKAGE_MYSQL_CLIENT is not set +# BR2_PACKAGE_SQUASHFS3 is not set +# BR2_TARGET_ROOTFS_SQUASHFS3 is not set +# BR2_PACKAGE_NETKITBASE is not set +# BR2_PACKAGE_NETKITTELNET is not set +# BR2_PACKAGE_LUASQL is not set +# BR2_PACKAGE_LUACJSON is not set + +# +# Legacy options removed in 2013.11 +# +# BR2_PACKAGE_LVM2_DMSETUP_ONLY is not set +# BR2_PACKAGE_QT_JAVASCRIPTCORE is not set +# BR2_PACKAGE_MODULE_INIT_TOOLS is not set +BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL="" +BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION="" +BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL="" +BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION="" + +# +# Legacy options removed in 2013.08 +# +# BR2_ARM_OABI is not set +# BR2_PACKAGE_DOSFSTOOLS_DOSFSCK is not set +# BR2_PACKAGE_DOSFSTOOLS_DOSFSLABEL is not set +# BR2_PACKAGE_DOSFSTOOLS_MKDOSFS is not set +# BR2_ELF2FLT is not set +# BR2_VFP_FLOAT is not set +# BR2_PACKAGE_GCC_TARGET is not set +# BR2_HAVE_DEVFILES is not set + +# +# External options +# + +# +# LITEX_VEXRISCV (in /home/jebba/devel/FPGA/litex/linux-on-litex-vexriscv/buildroot) +# diff --git a/PATCH/linux-fstrellis.config-make b/PATCH/linux-fstrellis.config-make new file mode 100644 index 0000000..290e348 --- /dev/null +++ b/PATCH/linux-fstrellis.config-make @@ -0,0 +1,83 @@ +CONFIG_SECTION_MISMATCH_WARN_ONLY=y + +CONFIG_LOCALVERSION="-0fstrellis" + +# Architecture +CONFIG_ARCH_DEFCONFIG="arch/riscv/configs/defconfig" +CONFIG_ARCH_RV32I=y +CONFIG_RISCV_ISA_M=y +CONFIG_RISCV_ISA_A=y +CONFIG_RISCV_ISA_C=n +CONFIG_SIFIVE_PLIC=y +CONFIG_FPU=n +CONFIG_SMP=n + +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y + +CONFIG_NET=y +CONFIG_INET=y +CONFIG_NETDEVICES=y +CONFIG_NET_VENDOR_LITEX=y +CONFIG_LITEX_LITEETH=y + +CONFIG_PRINTK_TIME=y + +CONFIG_SERIAL_EARLYCON_RISCV_SBI=y +CONFIG_SERIAL_LITEUART=y +CONFIG_SERIAL_LITEUART_CONSOLE=y + +CONFIG_GPIO_SYSFS=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_LITEX=y + +CONFIG_SPI=y +CONFIG_SPI_LITESPI=y +CONFIG_SPI_SPIDEV=y + +CONFIG_I2C=y +CONFIG_I2C_LITEX=y +CONFIG_I2C_CHARDEV=y + +CONFIG_HWMON=y +CONFIG_SENSORS_LITEX_HWMON=y + +CONFIG_FB=y +CONFIG_FB_SIMPLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_LOGO=y + +CONFIG_BLK_DEV_NBD=y + +CONFIG_BUILD_BIN2C=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y + +# ext4 +CONFIG_FS_IOMAP=y +CONFIG_EXT3_FS=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_USE_FOR_EXT2=y +CONFIG_JBD2=y +CONFIG_FS_MBCACHE=y +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRC16=y + +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_TOOLCHAIN_BUILDROOT_FORTRAN=y +BR2_INSTALL_LIBSTDCPP=y +BR2_TOOLCHAIN_HAS_FORTRAN=y +BR2_PACKAGE_BZIP2=y +BR2_PACKAGE_BINUTILS=y +BR2_PACKAGE_BINUTILS_TARGET=y +BR2_PACKAGE_GIT=y +BR2_PACKAGE_LIBTOOL=y +BR2_PACKAGE_MAKE=y + diff --git a/PATCH/linux-fstrellis.config-mmc b/PATCH/linux-fstrellis.config-mmc new file mode 100644 index 0000000..69e5b77 --- /dev/null +++ b/PATCH/linux-fstrellis.config-mmc @@ -0,0 +1,82 @@ +CONFIG_SECTION_MISMATCH_WARN_ONLY=y + +CONFIG_LOCALVERSION="-1fstrellis" + +# Architecture +CONFIG_ARCH_DEFCONFIG="arch/riscv/configs/defconfig" +CONFIG_ARCH_RV32I=y +CONFIG_RISCV_ISA_M=y +CONFIG_RISCV_ISA_A=y +CONFIG_RISCV_ISA_C=n +CONFIG_SIFIVE_PLIC=y +CONFIG_FPU=n +CONFIG_SMP=n + +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y + +CONFIG_NET=y +CONFIG_INET=y +CONFIG_NETDEVICES=y +CONFIG_NET_VENDOR_LITEX=y +CONFIG_LITEX_LITEETH=y + +CONFIG_PRINTK_TIME=y + +CONFIG_SERIAL_EARLYCON_RISCV_SBI=y +CONFIG_SERIAL_LITEUART=y +CONFIG_SERIAL_LITEUART_CONSOLE=y + +CONFIG_GPIO_SYSFS=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_LITEX=y + +CONFIG_SPI=y +CONFIG_SPI_LITESPI=y +CONFIG_SPI_SPIDEV=y + +CONFIG_I2C=y +CONFIG_I2C_LITEX=y +CONFIG_I2C_CHARDEV=y + +CONFIG_HWMON=y +CONFIG_SENSORS_LITEX_HWMON=y + +CONFIG_FB=y +CONFIG_FB_SIMPLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_LOGO=y + +CONFIG_BLK_DEV_NBD=y + +CONFIG_BUILD_BIN2C=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y + +# ext4 +CONFIG_FS_IOMAP=y +CONFIG_EXT3_FS=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_USE_FOR_EXT2=y +CONFIG_JBD2=y +CONFIG_FS_MBCACHE=y +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRC16=y + +# mmc +CONFIG_MMC=y +CONFIG_PWRSEQ_EMMC=y +CONFIG_PWRSEQ_SIMPLE=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_SPI=y +CONFIG_CRC_ITU_T=y +CONFIG_CRC7=y + diff --git a/PATCH/linux-fstrellis.config-nbd b/PATCH/linux-fstrellis.config-nbd new file mode 100644 index 0000000..deaa09e --- /dev/null +++ b/PATCH/linux-fstrellis.config-nbd @@ -0,0 +1,57 @@ +CONFIG_SECTION_MISMATCH_WARN_ONLY=y + +CONFIG_LOCALVERSION="-0fstrellis" + +# Architecture +CONFIG_ARCH_DEFCONFIG="arch/riscv/configs/defconfig" +CONFIG_ARCH_RV32I=y +CONFIG_RISCV_ISA_M=y +CONFIG_RISCV_ISA_A=y +CONFIG_RISCV_ISA_C=n +CONFIG_SIFIVE_PLIC=y +CONFIG_FPU=n +CONFIG_SMP=n + +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y + +CONFIG_NET=y +CONFIG_INET=y +CONFIG_NETDEVICES=y +CONFIG_NET_VENDOR_LITEX=y +CONFIG_LITEX_LITEETH=y + +CONFIG_PRINTK_TIME=y + +CONFIG_SERIAL_EARLYCON_RISCV_SBI=y +CONFIG_SERIAL_LITEUART=y +CONFIG_SERIAL_LITEUART_CONSOLE=y + +CONFIG_GPIO_SYSFS=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_LITEX=y + +CONFIG_SPI=y +CONFIG_SPI_LITESPI=y +CONFIG_SPI_SPIDEV=y + +CONFIG_I2C=y +CONFIG_I2C_LITEX=y +CONFIG_I2C_CHARDEV=y + +CONFIG_HWMON=y +CONFIG_SENSORS_LITEX_HWMON=y + +CONFIG_FB=y +CONFIG_FB_SIMPLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_LOGO=y + +CONFIG_BLK_DEV_NBD=y diff --git a/PATCH/linux-fstrellis.config-nbd-kconfig b/PATCH/linux-fstrellis.config-nbd-kconfig new file mode 100644 index 0000000..cb26c43 --- /dev/null +++ b/PATCH/linux-fstrellis.config-nbd-kconfig @@ -0,0 +1,62 @@ +CONFIG_SECTION_MISMATCH_WARN_ONLY=y + +CONFIG_LOCALVERSION="-0fstrellis" + +# Architecture +CONFIG_ARCH_DEFCONFIG="arch/riscv/configs/defconfig" +CONFIG_ARCH_RV32I=y +CONFIG_RISCV_ISA_M=y +CONFIG_RISCV_ISA_A=y +CONFIG_RISCV_ISA_C=n +CONFIG_SIFIVE_PLIC=y +CONFIG_FPU=n +CONFIG_SMP=n + +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y + +CONFIG_NET=y +CONFIG_INET=y +CONFIG_NETDEVICES=y +CONFIG_NET_VENDOR_LITEX=y +CONFIG_LITEX_LITEETH=y + +CONFIG_PRINTK_TIME=y + +CONFIG_SERIAL_EARLYCON_RISCV_SBI=y +CONFIG_SERIAL_LITEUART=y +CONFIG_SERIAL_LITEUART_CONSOLE=y + +CONFIG_GPIO_SYSFS=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_LITEX=y + +CONFIG_SPI=y +CONFIG_SPI_LITESPI=y +CONFIG_SPI_SPIDEV=y + +CONFIG_I2C=y +CONFIG_I2C_LITEX=y +CONFIG_I2C_CHARDEV=y + +CONFIG_HWMON=y +CONFIG_SENSORS_LITEX_HWMON=y + +CONFIG_FB=y +CONFIG_FB_SIMPLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_LOGO=y + +CONFIG_BLK_DEV_NBD=y + +CONFIG_BUILD_BIN2C=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y + diff --git a/PATCH/linux-fstrellis.config-nbd-kconfig-ext4 b/PATCH/linux-fstrellis.config-nbd-kconfig-ext4 new file mode 100644 index 0000000..5e66770 --- /dev/null +++ b/PATCH/linux-fstrellis.config-nbd-kconfig-ext4 @@ -0,0 +1,72 @@ +CONFIG_SECTION_MISMATCH_WARN_ONLY=y + +CONFIG_LOCALVERSION="-0fstrellis" + +# Architecture +CONFIG_ARCH_DEFCONFIG="arch/riscv/configs/defconfig" +CONFIG_ARCH_RV32I=y +CONFIG_RISCV_ISA_M=y +CONFIG_RISCV_ISA_A=y +CONFIG_RISCV_ISA_C=n +CONFIG_SIFIVE_PLIC=y +CONFIG_FPU=n +CONFIG_SMP=n + +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y + +CONFIG_NET=y +CONFIG_INET=y +CONFIG_NETDEVICES=y +CONFIG_NET_VENDOR_LITEX=y +CONFIG_LITEX_LITEETH=y + +CONFIG_PRINTK_TIME=y + +CONFIG_SERIAL_EARLYCON_RISCV_SBI=y +CONFIG_SERIAL_LITEUART=y +CONFIG_SERIAL_LITEUART_CONSOLE=y + +CONFIG_GPIO_SYSFS=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_LITEX=y + +CONFIG_SPI=y +CONFIG_SPI_LITESPI=y +CONFIG_SPI_SPIDEV=y + +CONFIG_I2C=y +CONFIG_I2C_LITEX=y +CONFIG_I2C_CHARDEV=y + +CONFIG_HWMON=y +CONFIG_SENSORS_LITEX_HWMON=y + +CONFIG_FB=y +CONFIG_FB_SIMPLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_LOGO=y + +CONFIG_BLK_DEV_NBD=y + +CONFIG_BUILD_BIN2C=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y + +# ext4 +CONFIG_FS_IOMAP=y +CONFIG_EXT3_FS=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_USE_FOR_EXT2=y +CONFIG_JBD2=y +CONFIG_FS_MBCACHE=y +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRC16=y + diff --git a/PATCH/linux-on-litex-make.my b/PATCH/linux-on-litex-make.my new file mode 100755 index 0000000..d80bcaf --- /dev/null +++ b/PATCH/linux-on-litex-make.my @@ -0,0 +1,260 @@ +#!/usr/bin/env python3 + +import argparse +import os + +from litex.soc.integration.builder import Builder + +from soc_linux import SoCLinux + +kB = 1024 + +# Board definition---------------------------------------------------------------------------------- + +class Board: + def __init__(self, soc_cls, soc_capabilities): + self.soc_cls = soc_cls + self.soc_capabilities = soc_capabilities + + def load(self): + raise NotImplementedError + + def flash(self): + raise NotImplementedError + +# Arty support ------------------------------------------------------------------------------------- + +class Arty(Board): + SPIFLASH_PAGE_SIZE = 256 + SPIFLASH_SECTOR_SIZE = 64*kB + def __init__(self): + from litex_boards.targets import arty + Board.__init__(self, arty.EthernetSoC, {"serial", "ethernet", "spiflash", "leds", "switches", "spi", "i2c", "xadc"}) + + def load(self): + from litex.build.openocd import OpenOCD + prog = OpenOCD("prog/openocd_xilinx.cfg") + prog.load_bitstream("build/arty/gateware/top.bit") + + def flash(self): + flash_regions = { + "build/arty/gateware/top.bin": "0x00000000", # FPGA image: loaded at startup + "buildroot/Image": "0x00400000", # Linux Image: copied to 0xc0000000 by bios + "buildroot/rootfs.cpio": "0x00800000", # File System: copied to 0xc0800000 by bios + "buildroot/rv32.dtb": "0x00f00000", # Device tree: copied to 0xc1000000 by bios + "emulator/emulator.bin": "0x00f80000", # MM Emulator: copied to 0x20000000 by bios + } + from litex.build.openocd import OpenOCD + prog = OpenOCD("prog/openocd_xilinx.cfg", + flash_proxy_basename="prog/bscan_spi_xc7a35t.bit") + prog.set_flash_proxy_dir(".") + for filename, base in flash_regions.items(): + base = int(base, 16) + print("Flashing {} at 0x{:08x}".format(filename, base)) + prog.flash(base, filename) + +# NeTV2 support ------------------------------------------------------------------------------------ + +class NeTV2(Board): + SPIFLASH_PAGE_SIZE = 256 + SPIFLASH_SECTOR_SIZE = 64*kB + def __init__(self): + from litex_boards.targets import netv2 + Board.__init__(self, netv2.EthernetSoC, {"serial", "ethernet", "framebuffer", "spiflash", "leds", "xadc"}) + + def load(self): + from litex.build.openocd import OpenOCD + prog = OpenOCD("prog/openocd_netv2_rpi.cfg") + prog.load_bitstream("build/netv2/gateware/top.bit") + +# Genesys2 support --------------------------------------------------------------------------------- + +class Genesys2(Board): + def __init__(self): + from litex_boards.targets import genesys2 + Board.__init__(self, genesys2.BaseSoC, {"serial"}) + + def load(self): + from litex.build.xilinx import VivadoProgrammer + prog = VivadoProgrammer() + prog.load_bitstream("build/genesys2/gateware/top.bit") + +# KCU105 support ----------------------------------------------------------------------------------- + +class KCU105(Board): + def __init__(self): + from litex_boards.targets import kcu105 + Board.__init__(self, kcu105.EthernetSoC, {"serial", "ethernet"}) + + def load(self): + from litex.build.xilinx import VivadoProgrammer + prog = VivadoProgrammer() + prog.load_bitstream("build/kcu105/gateware/top.bit") + + +# Nexys4DDR support -------------------------------------------------------------------------------- + +class Nexys4DDR(Board): + def __init__(self): + from litex_boards.targets import nexys4ddr + Board.__init__(self, nexys4ddr.EthernetSoC, {"serial", "ethernet"}) + + def load(self): + from litex.build.xilinx import VivadoProgrammer + prog = VivadoProgrammer() + prog.load_bitstream("build/nexys4ddr/gateware/top.bit") + +# NexysVideo support -------------------------------------------------------------------------------- + +class NexysVideo(Board): + def __init__(self): + from litex_boards.targets import nexys_video + Board.__init__(self, nexys_video.EthernetSoC, {"serial", "framebuffer"}) + + def load(self): + from litex.build.xilinx import VivadoProgrammer + prog = VivadoProgrammer() + prog.load_bitstream("build/nexys_video/gateware/top.bit") + +# MiniSpartan6 support ----------------------------------------------------------------------------- + +class MiniSpartan6(Board): + def __init__(self): + from litex_boards.targets import minispartan6 + Board.__init__(self, minispartan6.BaseSoC, {"serial"}) + + def load(self): + os.system("xc3sprog -c ftdi build/minispartan6/gateware/top.bit") + + +# Versa ECP5 support ------------------------------------------------------------------------------- + +class VersaECP5(Board): + SPIFLASH_PAGE_SIZE = 256 + SPIFLASH_SECTOR_SIZE = 64*kB + def __init__(self): + from litex_boards.targets import versa_ecp5 + Board.__init__(self, versa_ecp5.EthernetSoC, {"serial", "ethernet", "spiflash"}) + + def load(self): + os.system("openocd -f prog/ecp5-versa5g.cfg -c \"transport select jtag; init; svf build/versa_ecp5/gateware/top.svf; exit\"") + +# ULX3S support ------------------------------------------------------------------------------------ + +class ULX3S(Board): + def __init__(self): + from litex_boards.targets import ulx3s + Board.__init__(self, ulx3s.BaseSoC, {"serial"}) + + def load(self): + os.system("ujprog build/ulx3s/gateware/top.svf") + +# TrellisBoard support ------------------------------------------------------------------------------------ + +class Trellis(Board): + def __init__(self): + from litex_boards.targets import trellisboard + Board.__init__(self, trellisboard.EthernetSoC, {"serial", "ethernet"}) + + def load(self): + os.system("openocd -f prog/trellisboard.cfg -c \"transport select jtag; init; svf build/trellisboard/gateware/top.svf; exit\"") + +# De0Nano support ------------------------------------------------------------------------------------ + +class De0Nano(Board): + def __init__(self): + from litex_boards.targets import de0nano + Board.__init__(self, de0nano.BaseSoC, {"serial"}) + + def load(self): + from litex.build.altera import USBBlaster + prog = USBBlaster() + prog.load_bitstream("build/de0nano/gateware/top.sof") + +# Main --------------------------------------------------------------------------------------------- + +supported_boards = { + # Xilinx + "arty": Arty, + "netv2": NeTV2, + "genesys2": Genesys2, + "kcu105": KCU105, + "nexys4ddr": Nexys4DDR, + "nexys_video": NexysVideo, + "minispartan6": MiniSpartan6, + # Lattice + "versa_ecp5": VersaECP5, + "ulx3s": ULX3S, + "trellisboard": Trellis, + # Altera/Intel + "de0nano": De0Nano, +} + +def main(): + description = "Linux on LiteX-VexRiscv\n\n" + description += "Available boards:\n" + for name in supported_boards.keys(): + description += "- " + name + "\n" + parser = argparse.ArgumentParser(description=description, formatter_class=argparse.RawTextHelpFormatter) + parser.add_argument("--board", required=True, help="FPGA board") + parser.add_argument("--build", action="store_true", help="build bitstream") + parser.add_argument("--load", action="store_true", help="load bitstream (to SRAM)") + parser.add_argument("--flash", action="store_true", help="flash bitstream/images (to SPI Flash)") + parser.add_argument("--local-ip", default="192.168.1.50", help="local IP address") + parser.add_argument("--remote-ip", default="192.168.1.100", help="remote IP address of TFTP server") + parser.add_argument("--spi-bpw", type=int, default=8, help="Bits per word for SPI controller") + parser.add_argument("--spi-sck-freq", type=int, default=1e6, help="SPI clock frequency") + args = parser.parse_args() + + if args.board == "all": + board_names = list(supported_boards.keys()) + else: + board_names = [args.board] + for board_name in board_names: + board = supported_boards[board_name]() + soc_kwargs = {} + if board_name in ["versa_ecp5", "ulx3s", "trellisboard"]: + soc_kwargs["toolchain"] = "trellis" + soc_kwargs["cpu_variant"] = "linux+no-dsp" + soc = SoCLinux(board.soc_cls, **soc_kwargs) + if "spiflash" in board.soc_capabilities: + soc.add_spi_flash() + soc.add_constant("SPIFLASH_PAGE_SIZE", board.SPIFLASH_PAGE_SIZE) + soc.add_constant("SPIFLASH_SECTOR_SIZE", board.SPIFLASH_SECTOR_SIZE) + if "ethernet" in board.soc_capabilities: + soc.configure_ethernet(local_ip=args.local_ip, remote_ip=args.remote_ip) + if "leds" in board.soc_capabilities: + soc.add_leds() + if "switches" in board.soc_capabilities: + soc.add_switches() + if "spi" in board.soc_capabilities: + soc.add_spi(args.spi_bpw, args.spi_sck_freq) + if "i2c" in board.soc_capabilities: + soc.add_i2c() + if "xadc" in board.soc_capabilities: + soc.add_xadc() + if "framebuffer" in board.soc_capabilities: + soc.add_framebuffer() + soc.configure_boot() + + build_dir = os.path.join("build", board_name) + if args.build: + builder = Builder(soc, output_dir=build_dir, + csr_json=os.path.join(build_dir, "csr.json")) + else: + builder = Builder(soc, output_dir="build/" + board_name, + compile_software=False, compile_gateware=False, + csr_json=os.path.join(build_dir, "csr.json")) + builder.build() + + soc.generate_dts(board_name) + soc.compile_dts(board_name) + + if args.load: + board.load() + + if args.flash: + board.flash() + +if __name__ == "__main__": + main() diff --git a/PATCH/linux-on-litex-motd b/PATCH/linux-on-litex-motd new file mode 100644 index 0000000..dc6e24e --- /dev/null +++ b/PATCH/linux-on-litex-motd @@ -0,0 +1,6 @@ +Linux on LiteX-Vexriscv + +32-bit VexRiscv CPU with MMU integrated in a LiteX SoC + +Fork Sand Build + diff --git a/PATCH/linux.config.orig b/PATCH/linux.config.orig new file mode 100644 index 0000000..51a4249 --- /dev/null +++ b/PATCH/linux.config.orig @@ -0,0 +1,53 @@ +CONFIG_SECTION_MISMATCH_WARN_ONLY=y + +# Architecture +CONFIG_ARCH_DEFCONFIG="arch/riscv/configs/defconfig" +CONFIG_ARCH_RV32I=y +CONFIG_RISCV_ISA_M=y +CONFIG_RISCV_ISA_A=y +CONFIG_RISCV_ISA_C=n +CONFIG_SIFIVE_PLIC=y +CONFIG_FPU=n +CONFIG_SMP=n + +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y + +CONFIG_NET=y +CONFIG_INET=y +CONFIG_NETDEVICES=y +CONFIG_NET_VENDOR_LITEX=y +CONFIG_LITEX_LITEETH=y + +CONFIG_PRINTK_TIME=y + +CONFIG_SERIAL_EARLYCON_RISCV_SBI=y +CONFIG_SERIAL_LITEUART=y +CONFIG_SERIAL_LITEUART_CONSOLE=y + +CONFIG_GPIO_SYSFS=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_LITEX=y + +CONFIG_SPI=y +CONFIG_SPI_LITESPI=y +CONFIG_SPI_SPIDEV=y + +CONFIG_I2C=y +CONFIG_I2C_LITEX=y +CONFIG_I2C_CHARDEV=y + +CONFIG_HWMON=y +CONFIG_SENSORS_LITEX_HWMON=y + +CONFIG_FB=y +CONFIG_FB_SIMPLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_LOGO=y diff --git a/PATCH/litex_vexriscv_defconfig.orig b/PATCH/litex_vexriscv_defconfig.orig new file mode 100644 index 0000000..a55ef7d --- /dev/null +++ b/PATCH/litex_vexriscv_defconfig.orig @@ -0,0 +1,44 @@ +# +# Target options +# +BR2_riscv=y +BR2_RISCV_32=y + +# +# Instruction Set Extensions +# +BR2_riscv_custom=y +BR2_RISCV_ISA_CUSTOM_RVM=y +BR2_RISCV_ISA_CUSTOM_RVA=y +BR2_RISCV_ISA_CUSTOM_RVC=n +BR2_RISCV_ABI_ILP32=y + +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/patches" + +# GCC +BR2_GCC_VERSION_8_X=y +BR2_GCC_VERSION="8.3.0" + +# System +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="console" + +# Filesystem +BR2_TARGET_ROOTFS_CPIO=y + +# Kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.13" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/linux.config" +BR2_LINUX_KERNEL_IMAGE=y + +# rootfs customisation +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/rootfs_overlay" + +# Extra packages +#BR2_PACKAGE_DHRYSTONE=y +#BR2_PACKAGE_MICROPYTHON=y +#BR2_PACKAGE_SPIDEV_TEST=y diff --git a/PATCH/litex_vexriscv_fstrellis_defconfig b/PATCH/litex_vexriscv_fstrellis_defconfig new file mode 100644 index 0000000..d3b9c4e --- /dev/null +++ b/PATCH/litex_vexriscv_fstrellis_defconfig @@ -0,0 +1,104 @@ +# +# Target options +# +BR2_riscv=y +BR2_RISCV_32=y + +# +# Instruction Set Extensions +# +BR2_riscv_custom=y +BR2_RISCV_ISA_CUSTOM_RVM=y +BR2_RISCV_ISA_CUSTOM_RVA=y +BR2_RISCV_ISA_CUSTOM_RVC=n +BR2_RISCV_ABI_ILP32=y + +# XXX fs-trellisboard patches +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/patches" + +# GCC +BR2_GCC_VERSION_8_X=y +BR2_GCC_VERSION="8.3.0" + +# System +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="console" + +# Filesystem +BR2_TARGET_ROOTFS_CPIO=y + +# Kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.13" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +# XXX Linux config file +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/linux-fstrellis.config" +BR2_LINUX_KERNEL_IMAGE=y + +# rootfs customisation +# XXX +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/rootfs_overlay" + +BR2_PACKAGE_ZLIB=y +BR2_PACKAGE_LIBZLIB=y +BR2_PACKAGE_HAS_ZLIB=y +BR2_PACKAGE_PROVIDES_ZLIB="libzlib" +BR2_PACKAGE_LIBTOMCRYPT=y +BR2_PACKAGE_LIBTOMMATH=y +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_DROPBEAR_CLIENT=y +BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="" +BR2_PACKAGE_DROPBEAR_SMALL=y + +BR2_TARGET_GENERIC_HOSTNAME="trellisboard" +BR2_TARGET_GENERIC_ISSUE="Welcome to TrellisBoard" +BR2_TARGET_GENERIC_ROOT_PASSWD="password" + +BR2_PACKAGE_MMC_UTILS=y + +#BR2_PACKAGE_SSHFS=y +#BR2_PACKAGE_OPENSSL=y +#BR2_PACKAGE_LIBOPENSSL=y +#BR2_PACKAGE_HAS_OPENSSL=y +#BR2_PACKAGE_PROVIDES_OPENSSL="libopenssl" +#BR2_PACKAGE_LIBFUSE=y +#BR2_PACKAGE_LIBFFI=y +#BR2_PACKAGE_LIBGLIB2=y +#BR2_PACKAGE_PCRE=y +#BR2_PACKAGE_PCRE_UTF=y +#BR2_PACKAGE_PCRE_UCP=y +#BR2_PACKAGE_OPENSSH=y +#BR2_PACKAGE_HOST_MKPASSWD=y + +# nbd +BR2_PACKAGE_LIBFFI=y +BR2_PACKAGE_LIBGLIB2=y +BR2_PACKAGE_PCRE=y +BR2_PACKAGE_PCRE_UTF=y +BR2_PACKAGE_PCRE_UCP=y +BR2_PACKAGE_NBD=y +BR2_PACKAGE_NBD_CLIENT=y + +#BR2_PACKAGE_MACCHANGER=y + +#BR2_PACKAGE_HAVEGED=n + +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_TOOLCHAIN_BUILDROOT_FORTRAN=y +BR2_INSTALL_LIBSTDCPP=y +BR2_TOOLCHAIN_HAS_FORTRAN=y +BR2_PACKAGE_BZIP2=y +BR2_PACKAGE_BINUTILS=y +BR2_PACKAGE_BINUTILS_TARGET=y +BR2_PACKAGE_GIT=y +BR2_PACKAGE_LIBTOOL=y +BR2_PACKAGE_MAKE=y + +# lshw +BR2_PACKAGE_HWDATA=y +BR2_PACKAGE_HWDATA_PCI_IDS=y +BR2_PACKAGE_HWDATA_USB_IDS=y +BR2_PACKAGE_LSHW=y + diff --git a/PATCH/litex_vexriscv_fstrellis_defconfig-OK b/PATCH/litex_vexriscv_fstrellis_defconfig-OK new file mode 100644 index 0000000..caedc22 --- /dev/null +++ b/PATCH/litex_vexriscv_fstrellis_defconfig-OK @@ -0,0 +1,96 @@ +# +# Target options +# +BR2_riscv=y +BR2_RISCV_32=y + +# +# Instruction Set Extensions +# +BR2_riscv_custom=y +BR2_RISCV_ISA_CUSTOM_RVM=y +BR2_RISCV_ISA_CUSTOM_RVA=y +BR2_RISCV_ISA_CUSTOM_RVC=n +BR2_RISCV_ABI_ILP32=y + +# XXX fs-trellisboard patches +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/patches" + +# GCC +BR2_GCC_VERSION_8_X=y +BR2_GCC_VERSION="8.3.0" + +# System +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="console" + +# Filesystem +BR2_TARGET_ROOTFS_CPIO=y + +# Kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.13" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +# XXX Linux config file +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/linux-fstrellis.config" +BR2_LINUX_KERNEL_IMAGE=y + +# rootfs customisation +# XXX +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/rootfs_overlay" + +BR2_PACKAGE_ZLIB=y +BR2_PACKAGE_LIBZLIB=y +BR2_PACKAGE_HAS_ZLIB=y +BR2_PACKAGE_PROVIDES_ZLIB="libzlib" +BR2_PACKAGE_LIBTOMCRYPT=y +BR2_PACKAGE_LIBTOMMATH=y +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_DROPBEAR_CLIENT=y +BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="" +BR2_PACKAGE_DROPBEAR_SMALL=y + +BR2_TARGET_GENERIC_HOSTNAME="trellisboard" +BR2_TARGET_GENERIC_ISSUE="Welcome to TrellisBoard" +BR2_TARGET_GENERIC_ROOT_PASSWD="password" +#BR2_PACKAGE_MMC_UTILS=y +#BR2_PACKAGE_SSHFS=y +#BR2_PACKAGE_OPENSSL=y +#BR2_PACKAGE_LIBOPENSSL=y +#BR2_PACKAGE_HAS_OPENSSL=y +#BR2_PACKAGE_PROVIDES_OPENSSL="libopenssl" +#BR2_PACKAGE_LIBFUSE=y +#BR2_PACKAGE_LIBFFI=y +#BR2_PACKAGE_LIBGLIB2=y +#BR2_PACKAGE_PCRE=y +#BR2_PACKAGE_PCRE_UTF=y +#BR2_PACKAGE_PCRE_UCP=y +#BR2_PACKAGE_OPENSSH=y +#BR2_PACKAGE_HOST_MKPASSWD=y + +# nbd +BR2_PACKAGE_LIBFFI=y +BR2_PACKAGE_LIBGLIB2=y +BR2_PACKAGE_PCRE=y +BR2_PACKAGE_PCRE_UTF=y +BR2_PACKAGE_PCRE_UCP=y +BR2_PACKAGE_NBD=y +BR2_PACKAGE_NBD_CLIENT=y + +#BR2_PACKAGE_MACCHANGER=y + +#BR2_PACKAGE_HAVEGED=n + +#BR2_TOOLCHAIN_BUILDROOT_CXX=y +#BR2_TOOLCHAIN_BUILDROOT_FORTRAN=y +#BR2_INSTALL_LIBSTDCPP=y +#BR2_TOOLCHAIN_HAS_FORTRAN=y +#BR2_PACKAGE_BZIP2=y +#BR2_PACKAGE_BINUTILS=y +#BR2_PACKAGE_BINUTILS_TARGET=y +#BR2_PACKAGE_GIT=y +#BR2_PACKAGE_LIBTOOL=y +#BR2_PACKAGE_MAKE=y + diff --git a/PATCH/litex_vexriscv_fstrellis_defconfig-good-dropbear-lshw b/PATCH/litex_vexriscv_fstrellis_defconfig-good-dropbear-lshw new file mode 100644 index 0000000..a21344e --- /dev/null +++ b/PATCH/litex_vexriscv_fstrellis_defconfig-good-dropbear-lshw @@ -0,0 +1,80 @@ +# +# Target options +# +BR2_riscv=y +BR2_RISCV_32=y + +# +# Instruction Set Extensions +# +BR2_riscv_custom=y +BR2_RISCV_ISA_CUSTOM_RVM=y +BR2_RISCV_ISA_CUSTOM_RVA=y +BR2_RISCV_ISA_CUSTOM_RVC=n +BR2_RISCV_ABI_ILP32=y + +# XXX fs-trellisboard patches +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/patches" + +# GCC +BR2_GCC_VERSION_8_X=y +BR2_GCC_VERSION="8.3.0" + +# System +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="console" + +# Filesystem +BR2_TARGET_ROOTFS_CPIO=y + +# Kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.13" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +# XXX Linux config file +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/linux-fstrellis.config" +BR2_LINUX_KERNEL_IMAGE=y + +# rootfs customisation +# XXX +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/rootfs_overlay" + +BR2_PACKAGE_ZLIB=y +BR2_PACKAGE_LIBZLIB=y +BR2_PACKAGE_HAS_ZLIB=y +BR2_PACKAGE_PROVIDES_ZLIB="libzlib" +BR2_PACKAGE_LIBTOMCRYPT=y +BR2_PACKAGE_LIBTOMMATH=y +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_DROPBEAR_CLIENT=y +BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="" +BR2_PACKAGE_DROPBEAR_SMALL=y + +BR2_TARGET_GENERIC_HOSTNAME="trellisboard" +BR2_TARGET_GENERIC_ISSUE="Welcome to TrellisBoard" +BR2_TARGET_GENERIC_ROOT_PASSWD="password" +#BR2_PACKAGE_MMC_UTILS=y +#BR2_PACKAGE_SSHFS=y +#BR2_PACKAGE_OPENSSL=y +#BR2_PACKAGE_LIBOPENSSL=y +#BR2_PACKAGE_HAS_OPENSSL=y +#BR2_PACKAGE_PROVIDES_OPENSSL="libopenssl" +#BR2_PACKAGE_LIBFUSE=y +#BR2_PACKAGE_LIBFFI=y +#BR2_PACKAGE_LIBGLIB2=y +#BR2_PACKAGE_PCRE=y +#BR2_PACKAGE_PCRE_UTF=y +#BR2_PACKAGE_PCRE_UCP=y +#BR2_PACKAGE_OPENSSH=y +#BR2_PACKAGE_HOST_MKPASSWD=y + +# lshw +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_INSTALL_LIBSTDCPP=y +BR2_PACKAGE_HWDATA=y +BR2_PACKAGE_HWDATA_PCI_IDS=y +BR2_PACKAGE_HWDATA_USB_IDS=y +BR2_PACKAGE_LSHW=y + diff --git a/PATCH/litex_vexriscv_fstrellis_defconfig-good-ethdropbear b/PATCH/litex_vexriscv_fstrellis_defconfig-good-ethdropbear new file mode 100644 index 0000000..ec37696 --- /dev/null +++ b/PATCH/litex_vexriscv_fstrellis_defconfig-good-ethdropbear @@ -0,0 +1,72 @@ +# +# Target options +# +BR2_riscv=y +BR2_RISCV_32=y + +# +# Instruction Set Extensions +# +BR2_riscv_custom=y +BR2_RISCV_ISA_CUSTOM_RVM=y +BR2_RISCV_ISA_CUSTOM_RVA=y +BR2_RISCV_ISA_CUSTOM_RVC=n +BR2_RISCV_ABI_ILP32=y + +# XXX fs-trellisboard patches +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/patches" + +# GCC +BR2_GCC_VERSION_8_X=y +BR2_GCC_VERSION="8.3.0" + +# System +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="console" + +# Filesystem +BR2_TARGET_ROOTFS_CPIO=y + +# Kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.13" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +# XXX Linux config file +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/linux-fstrellis.config" +BR2_LINUX_KERNEL_IMAGE=y + +# rootfs customisation +# XXX +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/rootfs_overlay" + +BR2_PACKAGE_ZLIB=y +BR2_PACKAGE_LIBZLIB=y +BR2_PACKAGE_HAS_ZLIB=y +BR2_PACKAGE_PROVIDES_ZLIB="libzlib" +BR2_PACKAGE_LIBTOMCRYPT=y +BR2_PACKAGE_LIBTOMMATH=y +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_DROPBEAR_CLIENT=y +BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="" +BR2_PACKAGE_DROPBEAR_SMALL=y + +BR2_TARGET_GENERIC_HOSTNAME="trellisboard" +BR2_TARGET_GENERIC_ISSUE="Welcome to TrellisBoard" +BR2_TARGET_GENERIC_ROOT_PASSWD="password" +#BR2_PACKAGE_MMC_UTILS=y +#BR2_PACKAGE_SSHFS=y +#BR2_PACKAGE_OPENSSL=y +#BR2_PACKAGE_LIBOPENSSL=y +#BR2_PACKAGE_HAS_OPENSSL=y +#BR2_PACKAGE_PROVIDES_OPENSSL="libopenssl" +#BR2_PACKAGE_LIBFUSE=y +#BR2_PACKAGE_LIBFFI=y +#BR2_PACKAGE_LIBGLIB2=y +#BR2_PACKAGE_PCRE=y +#BR2_PACKAGE_PCRE_UTF=y +#BR2_PACKAGE_PCRE_UCP=y +#BR2_PACKAGE_OPENSSH=y +#BR2_PACKAGE_HOST_MKPASSWD=y + diff --git a/PATCH/litex_vexriscv_fstrellis_defconfig-lots b/PATCH/litex_vexriscv_fstrellis_defconfig-lots new file mode 100644 index 0000000..6ce3e30 --- /dev/null +++ b/PATCH/litex_vexriscv_fstrellis_defconfig-lots @@ -0,0 +1,139 @@ +# +# Target options +# +BR2_riscv=y +BR2_RISCV_32=y + +# +# Instruction Set Extensions +# +BR2_riscv_custom=y +BR2_RISCV_ISA_CUSTOM_RVM=y +BR2_RISCV_ISA_CUSTOM_RVA=y +BR2_RISCV_ISA_CUSTOM_RVC=n +BR2_RISCV_ABI_ILP32=y + +# XXX fs-trellisboard patches +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/patches" + +# GCC +BR2_GCC_VERSION_8_X=y +BR2_GCC_VERSION="8.3.0" + +# System +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="console" + +# Filesystem +BR2_TARGET_ROOTFS_CPIO=y + +# Kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.13" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +# XXX Linux config file +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/linux-fstrellis.config" +BR2_LINUX_KERNEL_IMAGE=y + +# rootfs customisation +# XXX +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/rootfs_overlay" + +BR2_PACKAGE_ZLIB=y +BR2_PACKAGE_LIBZLIB=y +BR2_PACKAGE_HAS_ZLIB=y +BR2_PACKAGE_PROVIDES_ZLIB="libzlib" +BR2_PACKAGE_LIBTOMCRYPT=y +BR2_PACKAGE_LIBTOMMATH=y +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_DROPBEAR_CLIENT=y +BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="" +BR2_PACKAGE_DROPBEAR_SMALL=y + +BR2_TARGET_GENERIC_HOSTNAME="trellisboard" +BR2_TARGET_GENERIC_ISSUE="Welcome to TrellisBoard" +BR2_TARGET_GENERIC_ROOT_PASSWD="password" +#BR2_PACKAGE_MMC_UTILS=y +#BR2_PACKAGE_SSHFS=y +#BR2_PACKAGE_OPENSSL=y +#BR2_PACKAGE_LIBOPENSSL=y +#BR2_PACKAGE_HAS_OPENSSL=y +#BR2_PACKAGE_PROVIDES_OPENSSL="libopenssl" +#BR2_PACKAGE_LIBFUSE=y +#BR2_PACKAGE_LIBFFI=y +#BR2_PACKAGE_LIBGLIB2=y +#BR2_PACKAGE_PCRE=y +#BR2_PACKAGE_PCRE_UTF=y +#BR2_PACKAGE_PCRE_UCP=y +#BR2_PACKAGE_OPENSSH=y +#BR2_PACKAGE_HOST_MKPASSWD=y + +# lshw +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_INSTALL_LIBSTDCPP=y +BR2_PACKAGE_HWDATA=y +BR2_PACKAGE_HWDATA_PCI_IDS=y +BR2_PACKAGE_HWDATA_USB_IDS=y +BR2_PACKAGE_LSHW=y + +# Moar +BR2_PACKAGE_BZIP2=y +BR2_PACKAGE_BINUTILS=y +BR2_PACKAGE_BINUTILS_TARGET=y +BR2_PACKAGE_FLEX=y +BR2_PACKAGE_GETTEXT=y +BR2_PACKAGE_HAS_GETTEXT=y +BR2_PACKAGE_PROVIDES_GETTEXT="gettext-tiny" +BR2_PACKAGE_GETTEXT_TINY=y +BR2_PACKAGE_GIT=y +BR2_PACKAGE_LIBTOOL=y +BR2_PACKAGE_MAKE=y +BR2_PACKAGE_PKGCONF=y +BR2_PACKAGE_MMC_UTILS=y +BR2_PACKAGE_LIBPCAP=y +BR2_PACKAGE_PCRE=y +BR2_PACKAGE_HAVEGED=y +BR2_PACKAGE_LINKS=y + +# nginx +BR2_PACKAGE_NGINX=y +BR2_PACKAGE_NGINX_HTTP=y +BR2_PACKAGE_NGINX_HTTP_CHARSET_MODULE=y +BR2_PACKAGE_NGINX_HTTP_GZIP_MODULE=y +BR2_PACKAGE_NGINX_HTTP_SSI_MODULE=y +BR2_PACKAGE_NGINX_HTTP_USERID_MODULE=y +BR2_PACKAGE_NGINX_HTTP_ACCESS_MODULE=y +BR2_PACKAGE_NGINX_HTTP_AUTH_BASIC_MODULE=y +BR2_PACKAGE_NGINX_HTTP_AUTOINDEX_MODULE=y +BR2_PACKAGE_NGINX_HTTP_GEO_MODULE=y +BR2_PACKAGE_NGINX_HTTP_MAP_MODULE=y +BR2_PACKAGE_NGINX_HTTP_SPLIT_CLIENTS_MODULE=y +BR2_PACKAGE_NGINX_HTTP_REFERER_MODULE=y +BR2_PACKAGE_NGINX_HTTP_REWRITE_MODULE=y +BR2_PACKAGE_NGINX_HTTP_PROXY_MODULE=y +BR2_PACKAGE_NGINX_HTTP_FASTCGI_MODULE=y +BR2_PACKAGE_NGINX_HTTP_UWSGI_MODULE=y +BR2_PACKAGE_NGINX_HTTP_SCGI_MODULE=y +BR2_PACKAGE_NGINX_HTTP_MEMCACHED_MODULE=y +BR2_PACKAGE_NGINX_HTTP_LIMIT_CONN_MODULE=y +BR2_PACKAGE_NGINX_HTTP_LIMIT_REQ_MODULE=y +BR2_PACKAGE_NGINX_HTTP_EMPTY_GIF_MODULE=y +BR2_PACKAGE_NGINX_HTTP_BROWSER_MODULE=y +BR2_PACKAGE_NGINX_HTTP_UPSTREAM_IP_HASH_MODULE=y +BR2_PACKAGE_NGINX_HTTP_UPSTREAM_LEAST_CONN_MODULE=y +BR2_PACKAGE_NGINX_HTTP_UPSTREAM_KEEPALIVE_MODULE=y +BR2_PACKAGE_NGINX_ADD_MODULES="" + +BR2_PACKAGE_TCPDUMP=y + +# nbd +BR2_PACKAGE_LIBFFI=y +BR2_PACKAGE_LIBGLIB2=y +BR2_PACKAGE_PCRE=y +BR2_PACKAGE_PCRE_UTF=y +BR2_PACKAGE_PCRE_UCP=y +BR2_PACKAGE_NBD=y +BR2_PACKAGE_NBD_CLIENT=y + diff --git a/PATCH/litex_vexriscv_fstrellis_defconfig-lots-meh b/PATCH/litex_vexriscv_fstrellis_defconfig-lots-meh new file mode 100644 index 0000000..03723fa --- /dev/null +++ b/PATCH/litex_vexriscv_fstrellis_defconfig-lots-meh @@ -0,0 +1,130 @@ +# +# Target options +# +BR2_riscv=y +BR2_RISCV_32=y + +# +# Instruction Set Extensions +# +BR2_riscv_custom=y +BR2_RISCV_ISA_CUSTOM_RVM=y +BR2_RISCV_ISA_CUSTOM_RVA=y +BR2_RISCV_ISA_CUSTOM_RVC=n +BR2_RISCV_ABI_ILP32=y + +# XXX fs-trellisboard patches +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/patches" + +# GCC +BR2_GCC_VERSION_8_X=y +BR2_GCC_VERSION="8.3.0" + +# System +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="console" + +# Filesystem +BR2_TARGET_ROOTFS_CPIO=y + +# Kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.13" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +# XXX Linux config file +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/linux-fstrellis.config" +BR2_LINUX_KERNEL_IMAGE=y + +# rootfs customisation +# XXX +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/rootfs_overlay" + +BR2_PACKAGE_ZLIB=y +BR2_PACKAGE_LIBZLIB=y +BR2_PACKAGE_HAS_ZLIB=y +BR2_PACKAGE_PROVIDES_ZLIB="libzlib" +BR2_PACKAGE_LIBTOMCRYPT=y +BR2_PACKAGE_LIBTOMMATH=y +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_DROPBEAR_CLIENT=y +BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="" +BR2_PACKAGE_DROPBEAR_SMALL=y + +BR2_TARGET_GENERIC_HOSTNAME="trellisboard" +BR2_TARGET_GENERIC_ISSUE="Welcome to TrellisBoard" +BR2_TARGET_GENERIC_ROOT_PASSWD="password" +#BR2_PACKAGE_MMC_UTILS=y +#BR2_PACKAGE_SSHFS=y +#BR2_PACKAGE_OPENSSL=y +#BR2_PACKAGE_LIBOPENSSL=y +#BR2_PACKAGE_HAS_OPENSSL=y +#BR2_PACKAGE_PROVIDES_OPENSSL="libopenssl" +#BR2_PACKAGE_LIBFUSE=y +#BR2_PACKAGE_LIBFFI=y +#BR2_PACKAGE_LIBGLIB2=y +#BR2_PACKAGE_PCRE=y +#BR2_PACKAGE_PCRE_UTF=y +#BR2_PACKAGE_PCRE_UCP=y +#BR2_PACKAGE_OPENSSH=y +#BR2_PACKAGE_HOST_MKPASSWD=y + +# lshw +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_INSTALL_LIBSTDCPP=y +BR2_PACKAGE_HWDATA=y +BR2_PACKAGE_HWDATA_PCI_IDS=y +BR2_PACKAGE_HWDATA_USB_IDS=y +BR2_PACKAGE_LSHW=y + +# Moar +BR2_PACKAGE_BZIP2=y +BR2_PACKAGE_BINUTILS=y +BR2_PACKAGE_BINUTILS_TARGET=y +BR2_PACKAGE_FLEX=y +BR2_PACKAGE_GETTEXT=y +BR2_PACKAGE_HAS_GETTEXT=y +BR2_PACKAGE_PROVIDES_GETTEXT="gettext-tiny" +BR2_PACKAGE_GETTEXT_TINY=y +BR2_PACKAGE_GIT=y +BR2_PACKAGE_LIBTOOL=y +BR2_PACKAGE_MAKE=y +BR2_PACKAGE_PKGCONF=y +BR2_PACKAGE_MMC_UTILS=y +BR2_PACKAGE_LIBPCAP=y +BR2_PACKAGE_PCRE=y +BR2_PACKAGE_HAVEGED=y +BR2_PACKAGE_LINKS=y + +# nginx +BR2_PACKAGE_NGINX=y +BR2_PACKAGE_NGINX_HTTP=y +BR2_PACKAGE_NGINX_HTTP_CHARSET_MODULE=y +BR2_PACKAGE_NGINX_HTTP_GZIP_MODULE=y +BR2_PACKAGE_NGINX_HTTP_SSI_MODULE=y +BR2_PACKAGE_NGINX_HTTP_USERID_MODULE=y +BR2_PACKAGE_NGINX_HTTP_ACCESS_MODULE=y +BR2_PACKAGE_NGINX_HTTP_AUTH_BASIC_MODULE=y +BR2_PACKAGE_NGINX_HTTP_AUTOINDEX_MODULE=y +BR2_PACKAGE_NGINX_HTTP_GEO_MODULE=y +BR2_PACKAGE_NGINX_HTTP_MAP_MODULE=y +BR2_PACKAGE_NGINX_HTTP_SPLIT_CLIENTS_MODULE=y +BR2_PACKAGE_NGINX_HTTP_REFERER_MODULE=y +BR2_PACKAGE_NGINX_HTTP_REWRITE_MODULE=y +BR2_PACKAGE_NGINX_HTTP_PROXY_MODULE=y +BR2_PACKAGE_NGINX_HTTP_FASTCGI_MODULE=y +BR2_PACKAGE_NGINX_HTTP_UWSGI_MODULE=y +BR2_PACKAGE_NGINX_HTTP_SCGI_MODULE=y +BR2_PACKAGE_NGINX_HTTP_MEMCACHED_MODULE=y +BR2_PACKAGE_NGINX_HTTP_LIMIT_CONN_MODULE=y +BR2_PACKAGE_NGINX_HTTP_LIMIT_REQ_MODULE=y +BR2_PACKAGE_NGINX_HTTP_EMPTY_GIF_MODULE=y +BR2_PACKAGE_NGINX_HTTP_BROWSER_MODULE=y +BR2_PACKAGE_NGINX_HTTP_UPSTREAM_IP_HASH_MODULE=y +BR2_PACKAGE_NGINX_HTTP_UPSTREAM_LEAST_CONN_MODULE=y +BR2_PACKAGE_NGINX_HTTP_UPSTREAM_KEEPALIVE_MODULE=y +BR2_PACKAGE_NGINX_ADD_MODULES="" + +BR2_PACKAGE_TCPDUMP=y + diff --git a/PATCH/litex_vexriscv_fstrellis_defconfig-make b/PATCH/litex_vexriscv_fstrellis_defconfig-make new file mode 100644 index 0000000..2a39018 --- /dev/null +++ b/PATCH/litex_vexriscv_fstrellis_defconfig-make @@ -0,0 +1,96 @@ +# +# Target options +# +BR2_riscv=y +BR2_RISCV_32=y + +# +# Instruction Set Extensions +# +BR2_riscv_custom=y +BR2_RISCV_ISA_CUSTOM_RVM=y +BR2_RISCV_ISA_CUSTOM_RVA=y +BR2_RISCV_ISA_CUSTOM_RVC=n +BR2_RISCV_ABI_ILP32=y + +# XXX fs-trellisboard patches +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/patches" + +# GCC +BR2_GCC_VERSION_8_X=y +BR2_GCC_VERSION="8.3.0" + +# System +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="console" + +# Filesystem +BR2_TARGET_ROOTFS_CPIO=y + +# Kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.13" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +# XXX Linux config file +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/linux-fstrellis.config" +BR2_LINUX_KERNEL_IMAGE=y + +# rootfs customisation +# XXX +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/rootfs_overlay" + +BR2_PACKAGE_ZLIB=y +BR2_PACKAGE_LIBZLIB=y +BR2_PACKAGE_HAS_ZLIB=y +BR2_PACKAGE_PROVIDES_ZLIB="libzlib" +BR2_PACKAGE_LIBTOMCRYPT=y +BR2_PACKAGE_LIBTOMMATH=y +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_DROPBEAR_CLIENT=y +BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="" +BR2_PACKAGE_DROPBEAR_SMALL=y + +BR2_TARGET_GENERIC_HOSTNAME="trellisboard" +BR2_TARGET_GENERIC_ISSUE="Welcome to TrellisBoard" +BR2_TARGET_GENERIC_ROOT_PASSWD="password" +#BR2_PACKAGE_MMC_UTILS=y +#BR2_PACKAGE_SSHFS=y +#BR2_PACKAGE_OPENSSL=y +#BR2_PACKAGE_LIBOPENSSL=y +#BR2_PACKAGE_HAS_OPENSSL=y +#BR2_PACKAGE_PROVIDES_OPENSSL="libopenssl" +#BR2_PACKAGE_LIBFUSE=y +#BR2_PACKAGE_LIBFFI=y +#BR2_PACKAGE_LIBGLIB2=y +#BR2_PACKAGE_PCRE=y +#BR2_PACKAGE_PCRE_UTF=y +#BR2_PACKAGE_PCRE_UCP=y +#BR2_PACKAGE_OPENSSH=y +#BR2_PACKAGE_HOST_MKPASSWD=y + +# nbd +BR2_PACKAGE_LIBFFI=y +BR2_PACKAGE_LIBGLIB2=y +BR2_PACKAGE_PCRE=y +BR2_PACKAGE_PCRE_UTF=y +BR2_PACKAGE_PCRE_UCP=y +BR2_PACKAGE_NBD=y +BR2_PACKAGE_NBD_CLIENT=y + +#BR2_PACKAGE_MACCHANGER=y + +BR2_PACKAGE_HAVEGED=n + +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_TOOLCHAIN_BUILDROOT_FORTRAN=y +BR2_INSTALL_LIBSTDCPP=y +BR2_TOOLCHAIN_HAS_FORTRAN=y +BR2_PACKAGE_BZIP2=y +BR2_PACKAGE_BINUTILS=y +BR2_PACKAGE_BINUTILS_TARGET=y +BR2_PACKAGE_GIT=y +BR2_PACKAGE_LIBTOOL=y +BR2_PACKAGE_MAKE=y + diff --git a/PATCH/litex_vexriscv_fstrellis_defconfig-make2 b/PATCH/litex_vexriscv_fstrellis_defconfig-make2 new file mode 100644 index 0000000..d3b9c4e --- /dev/null +++ b/PATCH/litex_vexriscv_fstrellis_defconfig-make2 @@ -0,0 +1,104 @@ +# +# Target options +# +BR2_riscv=y +BR2_RISCV_32=y + +# +# Instruction Set Extensions +# +BR2_riscv_custom=y +BR2_RISCV_ISA_CUSTOM_RVM=y +BR2_RISCV_ISA_CUSTOM_RVA=y +BR2_RISCV_ISA_CUSTOM_RVC=n +BR2_RISCV_ABI_ILP32=y + +# XXX fs-trellisboard patches +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/patches" + +# GCC +BR2_GCC_VERSION_8_X=y +BR2_GCC_VERSION="8.3.0" + +# System +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="console" + +# Filesystem +BR2_TARGET_ROOTFS_CPIO=y + +# Kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.13" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +# XXX Linux config file +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/linux-fstrellis.config" +BR2_LINUX_KERNEL_IMAGE=y + +# rootfs customisation +# XXX +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/rootfs_overlay" + +BR2_PACKAGE_ZLIB=y +BR2_PACKAGE_LIBZLIB=y +BR2_PACKAGE_HAS_ZLIB=y +BR2_PACKAGE_PROVIDES_ZLIB="libzlib" +BR2_PACKAGE_LIBTOMCRYPT=y +BR2_PACKAGE_LIBTOMMATH=y +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_DROPBEAR_CLIENT=y +BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="" +BR2_PACKAGE_DROPBEAR_SMALL=y + +BR2_TARGET_GENERIC_HOSTNAME="trellisboard" +BR2_TARGET_GENERIC_ISSUE="Welcome to TrellisBoard" +BR2_TARGET_GENERIC_ROOT_PASSWD="password" + +BR2_PACKAGE_MMC_UTILS=y + +#BR2_PACKAGE_SSHFS=y +#BR2_PACKAGE_OPENSSL=y +#BR2_PACKAGE_LIBOPENSSL=y +#BR2_PACKAGE_HAS_OPENSSL=y +#BR2_PACKAGE_PROVIDES_OPENSSL="libopenssl" +#BR2_PACKAGE_LIBFUSE=y +#BR2_PACKAGE_LIBFFI=y +#BR2_PACKAGE_LIBGLIB2=y +#BR2_PACKAGE_PCRE=y +#BR2_PACKAGE_PCRE_UTF=y +#BR2_PACKAGE_PCRE_UCP=y +#BR2_PACKAGE_OPENSSH=y +#BR2_PACKAGE_HOST_MKPASSWD=y + +# nbd +BR2_PACKAGE_LIBFFI=y +BR2_PACKAGE_LIBGLIB2=y +BR2_PACKAGE_PCRE=y +BR2_PACKAGE_PCRE_UTF=y +BR2_PACKAGE_PCRE_UCP=y +BR2_PACKAGE_NBD=y +BR2_PACKAGE_NBD_CLIENT=y + +#BR2_PACKAGE_MACCHANGER=y + +#BR2_PACKAGE_HAVEGED=n + +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_TOOLCHAIN_BUILDROOT_FORTRAN=y +BR2_INSTALL_LIBSTDCPP=y +BR2_TOOLCHAIN_HAS_FORTRAN=y +BR2_PACKAGE_BZIP2=y +BR2_PACKAGE_BINUTILS=y +BR2_PACKAGE_BINUTILS_TARGET=y +BR2_PACKAGE_GIT=y +BR2_PACKAGE_LIBTOOL=y +BR2_PACKAGE_MAKE=y + +# lshw +BR2_PACKAGE_HWDATA=y +BR2_PACKAGE_HWDATA_PCI_IDS=y +BR2_PACKAGE_HWDATA_USB_IDS=y +BR2_PACKAGE_LSHW=y + diff --git a/PATCH/litex_vexriscv_fstrellis_defconfig-min b/PATCH/litex_vexriscv_fstrellis_defconfig-min new file mode 100644 index 0000000..caedc22 --- /dev/null +++ b/PATCH/litex_vexriscv_fstrellis_defconfig-min @@ -0,0 +1,96 @@ +# +# Target options +# +BR2_riscv=y +BR2_RISCV_32=y + +# +# Instruction Set Extensions +# +BR2_riscv_custom=y +BR2_RISCV_ISA_CUSTOM_RVM=y +BR2_RISCV_ISA_CUSTOM_RVA=y +BR2_RISCV_ISA_CUSTOM_RVC=n +BR2_RISCV_ABI_ILP32=y + +# XXX fs-trellisboard patches +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/patches" + +# GCC +BR2_GCC_VERSION_8_X=y +BR2_GCC_VERSION="8.3.0" + +# System +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="console" + +# Filesystem +BR2_TARGET_ROOTFS_CPIO=y + +# Kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.13" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +# XXX Linux config file +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/linux-fstrellis.config" +BR2_LINUX_KERNEL_IMAGE=y + +# rootfs customisation +# XXX +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/rootfs_overlay" + +BR2_PACKAGE_ZLIB=y +BR2_PACKAGE_LIBZLIB=y +BR2_PACKAGE_HAS_ZLIB=y +BR2_PACKAGE_PROVIDES_ZLIB="libzlib" +BR2_PACKAGE_LIBTOMCRYPT=y +BR2_PACKAGE_LIBTOMMATH=y +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_DROPBEAR_CLIENT=y +BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="" +BR2_PACKAGE_DROPBEAR_SMALL=y + +BR2_TARGET_GENERIC_HOSTNAME="trellisboard" +BR2_TARGET_GENERIC_ISSUE="Welcome to TrellisBoard" +BR2_TARGET_GENERIC_ROOT_PASSWD="password" +#BR2_PACKAGE_MMC_UTILS=y +#BR2_PACKAGE_SSHFS=y +#BR2_PACKAGE_OPENSSL=y +#BR2_PACKAGE_LIBOPENSSL=y +#BR2_PACKAGE_HAS_OPENSSL=y +#BR2_PACKAGE_PROVIDES_OPENSSL="libopenssl" +#BR2_PACKAGE_LIBFUSE=y +#BR2_PACKAGE_LIBFFI=y +#BR2_PACKAGE_LIBGLIB2=y +#BR2_PACKAGE_PCRE=y +#BR2_PACKAGE_PCRE_UTF=y +#BR2_PACKAGE_PCRE_UCP=y +#BR2_PACKAGE_OPENSSH=y +#BR2_PACKAGE_HOST_MKPASSWD=y + +# nbd +BR2_PACKAGE_LIBFFI=y +BR2_PACKAGE_LIBGLIB2=y +BR2_PACKAGE_PCRE=y +BR2_PACKAGE_PCRE_UTF=y +BR2_PACKAGE_PCRE_UCP=y +BR2_PACKAGE_NBD=y +BR2_PACKAGE_NBD_CLIENT=y + +#BR2_PACKAGE_MACCHANGER=y + +#BR2_PACKAGE_HAVEGED=n + +#BR2_TOOLCHAIN_BUILDROOT_CXX=y +#BR2_TOOLCHAIN_BUILDROOT_FORTRAN=y +#BR2_INSTALL_LIBSTDCPP=y +#BR2_TOOLCHAIN_HAS_FORTRAN=y +#BR2_PACKAGE_BZIP2=y +#BR2_PACKAGE_BINUTILS=y +#BR2_PACKAGE_BINUTILS_TARGET=y +#BR2_PACKAGE_GIT=y +#BR2_PACKAGE_LIBTOOL=y +#BR2_PACKAGE_MAKE=y + diff --git a/PATCH/litex_vexriscv_fstrellis_defconfig-mmc b/PATCH/litex_vexriscv_fstrellis_defconfig-mmc new file mode 100644 index 0000000..de33368 --- /dev/null +++ b/PATCH/litex_vexriscv_fstrellis_defconfig-mmc @@ -0,0 +1,98 @@ +# +# Target options +# +BR2_riscv=y +BR2_RISCV_32=y + +# +# Instruction Set Extensions +# +BR2_riscv_custom=y +BR2_RISCV_ISA_CUSTOM_RVM=y +BR2_RISCV_ISA_CUSTOM_RVA=y +BR2_RISCV_ISA_CUSTOM_RVC=n +BR2_RISCV_ABI_ILP32=y + +# XXX fs-trellisboard patches +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/patches" + +# GCC +BR2_GCC_VERSION_8_X=y +BR2_GCC_VERSION="8.3.0" + +# System +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="console" + +# Filesystem +BR2_TARGET_ROOTFS_CPIO=y + +# Kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.13" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +# XXX Linux config file +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/linux-fstrellis.config" +BR2_LINUX_KERNEL_IMAGE=y + +# rootfs customisation +# XXX +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/rootfs_overlay" + +BR2_PACKAGE_ZLIB=y +BR2_PACKAGE_LIBZLIB=y +BR2_PACKAGE_HAS_ZLIB=y +BR2_PACKAGE_PROVIDES_ZLIB="libzlib" +BR2_PACKAGE_LIBTOMCRYPT=y +BR2_PACKAGE_LIBTOMMATH=y +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_DROPBEAR_CLIENT=y +BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="" +BR2_PACKAGE_DROPBEAR_SMALL=y + +BR2_TARGET_GENERIC_HOSTNAME="trellisboard" +BR2_TARGET_GENERIC_ISSUE="Welcome to TrellisBoard" +BR2_TARGET_GENERIC_ROOT_PASSWD="password" + +BR2_PACKAGE_MMC_UTILS=y + +#BR2_PACKAGE_SSHFS=y +#BR2_PACKAGE_OPENSSL=y +#BR2_PACKAGE_LIBOPENSSL=y +#BR2_PACKAGE_HAS_OPENSSL=y +#BR2_PACKAGE_PROVIDES_OPENSSL="libopenssl" +#BR2_PACKAGE_LIBFUSE=y +#BR2_PACKAGE_LIBFFI=y +#BR2_PACKAGE_LIBGLIB2=y +#BR2_PACKAGE_PCRE=y +#BR2_PACKAGE_PCRE_UTF=y +#BR2_PACKAGE_PCRE_UCP=y +#BR2_PACKAGE_OPENSSH=y +#BR2_PACKAGE_HOST_MKPASSWD=y + +# nbd +BR2_PACKAGE_LIBFFI=y +BR2_PACKAGE_LIBGLIB2=y +BR2_PACKAGE_PCRE=y +BR2_PACKAGE_PCRE_UTF=y +BR2_PACKAGE_PCRE_UCP=y +BR2_PACKAGE_NBD=y +BR2_PACKAGE_NBD_CLIENT=y + +#BR2_PACKAGE_MACCHANGER=y + +#BR2_PACKAGE_HAVEGED=n + +#BR2_TOOLCHAIN_BUILDROOT_CXX=y +#BR2_TOOLCHAIN_BUILDROOT_FORTRAN=y +#BR2_INSTALL_LIBSTDCPP=y +#BR2_TOOLCHAIN_HAS_FORTRAN=y +#BR2_PACKAGE_BZIP2=y +#BR2_PACKAGE_BINUTILS=y +#BR2_PACKAGE_BINUTILS_TARGET=y +#BR2_PACKAGE_GIT=y +#BR2_PACKAGE_LIBTOOL=y +#BR2_PACKAGE_MAKE=y + diff --git a/PATCH/litex_vexriscv_fstrellis_defconfig-mmc-lshw b/PATCH/litex_vexriscv_fstrellis_defconfig-mmc-lshw new file mode 100644 index 0000000..92c9673 --- /dev/null +++ b/PATCH/litex_vexriscv_fstrellis_defconfig-mmc-lshw @@ -0,0 +1,106 @@ +# +# Target options +# +BR2_riscv=y +BR2_RISCV_32=y + +# +# Instruction Set Extensions +# +BR2_riscv_custom=y +BR2_RISCV_ISA_CUSTOM_RVM=y +BR2_RISCV_ISA_CUSTOM_RVA=y +BR2_RISCV_ISA_CUSTOM_RVC=n +BR2_RISCV_ABI_ILP32=y + +# XXX fs-trellisboard patches +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/patches" + +# GCC +BR2_GCC_VERSION_8_X=y +BR2_GCC_VERSION="8.3.0" + +# System +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="console" + +# Filesystem +BR2_TARGET_ROOTFS_CPIO=y + +# Kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.13" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +# XXX Linux config file +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/linux-fstrellis.config" +BR2_LINUX_KERNEL_IMAGE=y + +# rootfs customisation +# XXX +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/rootfs_overlay" + +BR2_PACKAGE_ZLIB=y +BR2_PACKAGE_LIBZLIB=y +BR2_PACKAGE_HAS_ZLIB=y +BR2_PACKAGE_PROVIDES_ZLIB="libzlib" +BR2_PACKAGE_LIBTOMCRYPT=y +BR2_PACKAGE_LIBTOMMATH=y +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_DROPBEAR_CLIENT=y +BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="" +BR2_PACKAGE_DROPBEAR_SMALL=y + +BR2_TARGET_GENERIC_HOSTNAME="trellisboard" +BR2_TARGET_GENERIC_ISSUE="Welcome to TrellisBoard" +BR2_TARGET_GENERIC_ROOT_PASSWD="password" + +BR2_PACKAGE_MMC_UTILS=y + +#BR2_PACKAGE_SSHFS=y +#BR2_PACKAGE_OPENSSL=y +#BR2_PACKAGE_LIBOPENSSL=y +#BR2_PACKAGE_HAS_OPENSSL=y +#BR2_PACKAGE_PROVIDES_OPENSSL="libopenssl" +#BR2_PACKAGE_LIBFUSE=y +#BR2_PACKAGE_LIBFFI=y +#BR2_PACKAGE_LIBGLIB2=y +#BR2_PACKAGE_PCRE=y +#BR2_PACKAGE_PCRE_UTF=y +#BR2_PACKAGE_PCRE_UCP=y +#BR2_PACKAGE_OPENSSH=y +#BR2_PACKAGE_HOST_MKPASSWD=y + +# nbd +BR2_PACKAGE_LIBFFI=y +BR2_PACKAGE_LIBGLIB2=y +BR2_PACKAGE_PCRE=y +BR2_PACKAGE_PCRE_UTF=y +BR2_PACKAGE_PCRE_UCP=y +BR2_PACKAGE_NBD=y +BR2_PACKAGE_NBD_CLIENT=y + +#BR2_PACKAGE_MACCHANGER=y + +#BR2_PACKAGE_HAVEGED=n + +#BR2_TOOLCHAIN_BUILDROOT_CXX=y +#BR2_TOOLCHAIN_BUILDROOT_FORTRAN=y +#BR2_INSTALL_LIBSTDCPP=y +#BR2_TOOLCHAIN_HAS_FORTRAN=y +#BR2_PACKAGE_BZIP2=y +#BR2_PACKAGE_BINUTILS=y +#BR2_PACKAGE_BINUTILS_TARGET=y +#BR2_PACKAGE_GIT=y +#BR2_PACKAGE_LIBTOOL=y +#BR2_PACKAGE_MAKE=y + +# lshw +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_INSTALL_LIBSTDCPP=y +BR2_PACKAGE_HWDATA=y +BR2_PACKAGE_HWDATA_PCI_IDS=y +BR2_PACKAGE_HWDATA_USB_IDS=y +BR2_PACKAGE_LSHW=y + diff --git a/PATCH/litex_vexriscv_fstrellis_defconfig-nbd b/PATCH/litex_vexriscv_fstrellis_defconfig-nbd new file mode 100644 index 0000000..dc56567 --- /dev/null +++ b/PATCH/litex_vexriscv_fstrellis_defconfig-nbd @@ -0,0 +1,84 @@ +# +# Target options +# +BR2_riscv=y +BR2_RISCV_32=y + +# +# Instruction Set Extensions +# +BR2_riscv_custom=y +BR2_RISCV_ISA_CUSTOM_RVM=y +BR2_RISCV_ISA_CUSTOM_RVA=y +BR2_RISCV_ISA_CUSTOM_RVC=n +BR2_RISCV_ABI_ILP32=y + +# XXX fs-trellisboard patches +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/patches" + +# GCC +BR2_GCC_VERSION_8_X=y +BR2_GCC_VERSION="8.3.0" + +# System +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="console" + +# Filesystem +BR2_TARGET_ROOTFS_CPIO=y + +# Kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.13" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +# XXX Linux config file +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/linux-fstrellis.config" +BR2_LINUX_KERNEL_IMAGE=y + +# rootfs customisation +# XXX +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/rootfs_overlay" + +BR2_PACKAGE_ZLIB=y +BR2_PACKAGE_LIBZLIB=y +BR2_PACKAGE_HAS_ZLIB=y +BR2_PACKAGE_PROVIDES_ZLIB="libzlib" +BR2_PACKAGE_LIBTOMCRYPT=y +BR2_PACKAGE_LIBTOMMATH=y +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_DROPBEAR_CLIENT=y +BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="" +BR2_PACKAGE_DROPBEAR_SMALL=y + +BR2_TARGET_GENERIC_HOSTNAME="trellisboard" +BR2_TARGET_GENERIC_ISSUE="Welcome to TrellisBoard" +BR2_TARGET_GENERIC_ROOT_PASSWD="password" +#BR2_PACKAGE_MMC_UTILS=y +#BR2_PACKAGE_SSHFS=y +#BR2_PACKAGE_OPENSSL=y +#BR2_PACKAGE_LIBOPENSSL=y +#BR2_PACKAGE_HAS_OPENSSL=y +#BR2_PACKAGE_PROVIDES_OPENSSL="libopenssl" +#BR2_PACKAGE_LIBFUSE=y +#BR2_PACKAGE_LIBFFI=y +#BR2_PACKAGE_LIBGLIB2=y +#BR2_PACKAGE_PCRE=y +#BR2_PACKAGE_PCRE_UTF=y +#BR2_PACKAGE_PCRE_UCP=y +#BR2_PACKAGE_OPENSSH=y +#BR2_PACKAGE_HOST_MKPASSWD=y + +# nbd +BR2_PACKAGE_LIBFFI=y +BR2_PACKAGE_LIBGLIB2=y +BR2_PACKAGE_PCRE=y +BR2_PACKAGE_PCRE_UTF=y +BR2_PACKAGE_PCRE_UCP=y +BR2_PACKAGE_NBD=y +BR2_PACKAGE_NBD_CLIENT=y + +#BR2_PACKAGE_MACCHANGER=y + +#BR2_PACKAGE_HAVEGED=y diff --git a/PATCH/litex_vexriscv_fstrellis_defconfig-ok1 b/PATCH/litex_vexriscv_fstrellis_defconfig-ok1 new file mode 100644 index 0000000..59db58b --- /dev/null +++ b/PATCH/litex_vexriscv_fstrellis_defconfig-ok1 @@ -0,0 +1,58 @@ +# +# Target options +# +BR2_riscv=y +BR2_RISCV_32=y + +# +# Instruction Set Extensions +# +BR2_riscv_custom=y +BR2_RISCV_ISA_CUSTOM_RVM=y +BR2_RISCV_ISA_CUSTOM_RVA=y +BR2_RISCV_ISA_CUSTOM_RVC=n +BR2_RISCV_ABI_ILP32=y + +# XXX fs-trellisboard patches +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/patches" + +# GCC +BR2_GCC_VERSION_8_X=y +BR2_GCC_VERSION="8.3.0" + +# System +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="console" + +# Filesystem +BR2_TARGET_ROOTFS_CPIO=y + +# Kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.13" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +# XXX Linux config file +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/linux-fstrellis.config" +BR2_LINUX_KERNEL_IMAGE=y + +# rootfs customisation +# XXX +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/rootfs_overlay" + +# Extra packages +#BR2_PACKAGE_DHRYSTONE=y +#BR2_PACKAGE_MICROPYTHON=y +#BR2_PACKAGE_SPIDEV_TEST=y + +BR2_PACKAGE_ZLIB=y +BR2_PACKAGE_LIBZLIB=y +BR2_PACKAGE_HAS_ZLIB=y +BR2_PACKAGE_PROVIDES_ZLIB="libzlib" +BR2_PACKAGE_LIBTOMCRYPT=y +BR2_PACKAGE_LIBTOMMATH=y +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_DROPBEAR_CLIENT=y +BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="" + diff --git a/PATCH/litex_vexriscv_fstrellis_defconfig-openssh-fail b/PATCH/litex_vexriscv_fstrellis_defconfig-openssh-fail new file mode 100644 index 0000000..8e767a3 --- /dev/null +++ b/PATCH/litex_vexriscv_fstrellis_defconfig-openssh-fail @@ -0,0 +1,73 @@ +# +# Target options +# +BR2_riscv=y +BR2_RISCV_32=y + +# +# Instruction Set Extensions +# +BR2_riscv_custom=y +BR2_RISCV_ISA_CUSTOM_RVM=y +BR2_RISCV_ISA_CUSTOM_RVA=y +BR2_RISCV_ISA_CUSTOM_RVC=n +BR2_RISCV_ABI_ILP32=y + +# XXX fs-trellisboard patches +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/patches" + +# GCC +BR2_GCC_VERSION_8_X=y +BR2_GCC_VERSION="8.3.0" + +# System +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="console" + +# Filesystem +BR2_TARGET_ROOTFS_CPIO=y + +# Kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.13" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +# XXX Linux config file +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/linux-fstrellis.config" +BR2_LINUX_KERNEL_IMAGE=y + +# rootfs customisation +# XXX +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/rootfs_overlay" + +BR2_PACKAGE_ZLIB=y +BR2_PACKAGE_LIBZLIB=y +BR2_PACKAGE_HAS_ZLIB=y +BR2_PACKAGE_PROVIDES_ZLIB="libzlib" +BR2_PACKAGE_LIBTOMCRYPT=y +BR2_PACKAGE_LIBTOMMATH=y + +#BR2_PACKAGE_DROPBEAR=y +#BR2_PACKAGE_DROPBEAR_CLIENT=y +#BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="" +#BR2_PACKAGE_DROPBEAR_SMALL=y + +BR2_TARGET_GENERIC_HOSTNAME="trellisboard" +BR2_TARGET_GENERIC_ISSUE="Welcome to TrellisBoard" +BR2_TARGET_GENERIC_ROOT_PASSWD="password" +#BR2_PACKAGE_MMC_UTILS=y +BR2_PACKAGE_SSHFS=y +BR2_PACKAGE_OPENSSL=y +BR2_PACKAGE_LIBOPENSSL=y +BR2_PACKAGE_HAS_OPENSSL=y +BR2_PACKAGE_PROVIDES_OPENSSL="libopenssl" +BR2_PACKAGE_LIBFUSE=y +BR2_PACKAGE_LIBFFI=y +BR2_PACKAGE_LIBGLIB2=y +BR2_PACKAGE_PCRE=y +BR2_PACKAGE_PCRE_UTF=y +BR2_PACKAGE_PCRE_UCP=y +BR2_PACKAGE_OPENSSH=y +#BR2_PACKAGE_HOST_MKPASSWD=y + diff --git a/PATCH/litex_vexriscv_fstrellis_defconfig-ramdiskbad b/PATCH/litex_vexriscv_fstrellis_defconfig-ramdiskbad new file mode 100644 index 0000000..85c3978 --- /dev/null +++ b/PATCH/litex_vexriscv_fstrellis_defconfig-ramdiskbad @@ -0,0 +1,72 @@ +# +# Target options +# +BR2_riscv=y +BR2_RISCV_32=y + +# +# Instruction Set Extensions +# +BR2_riscv_custom=y +BR2_RISCV_ISA_CUSTOM_RVM=y +BR2_RISCV_ISA_CUSTOM_RVA=y +BR2_RISCV_ISA_CUSTOM_RVC=n +BR2_RISCV_ABI_ILP32=y + +# XXX fs-trellisboard patches +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/patches" + +# GCC +BR2_GCC_VERSION_8_X=y +BR2_GCC_VERSION="8.3.0" + +# System +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="console" + +# Filesystem +BR2_TARGET_ROOTFS_CPIO=y + +# Kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0.13" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +# XXX Linux config file +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/linux-fstrellis.config" +BR2_LINUX_KERNEL_IMAGE=y + +# rootfs customisation +# XXX +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_LITEX_VEXRISCV_PATH)/board/litex_vexriscv/rootfs_overlay" + +BR2_PACKAGE_ZLIB=y +BR2_PACKAGE_LIBZLIB=y +BR2_PACKAGE_HAS_ZLIB=y +BR2_PACKAGE_PROVIDES_ZLIB="libzlib" +BR2_PACKAGE_LIBTOMCRYPT=y +BR2_PACKAGE_LIBTOMMATH=y +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_DROPBEAR_CLIENT=y +BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="" +BR2_PACKAGE_DROPBEAR_SMALL=y + +BR2_TARGET_GENERIC_HOSTNAME="trellisboard" +BR2_TARGET_GENERIC_ISSUE="Welcome to TrellisBoard" +BR2_TARGET_GENERIC_ROOT_PASSWD="password" +BR2_PACKAGE_MMC_UTILS=y +BR2_PACKAGE_SSHFS=y +BR2_PACKAGE_OPENSSL=y +BR2_PACKAGE_LIBOPENSSL=y +BR2_PACKAGE_HAS_OPENSSL=y +BR2_PACKAGE_PROVIDES_OPENSSL="libopenssl" +BR2_PACKAGE_LIBFUSE=y +BR2_PACKAGE_LIBFFI=y +BR2_PACKAGE_LIBGLIB2=y +BR2_PACKAGE_PCRE=y +BR2_PACKAGE_PCRE_UTF=y +BR2_PACKAGE_PCRE_UCP=y +BR2_PACKAGE_OPENSSH=y +BR2_PACKAGE_HOST_MKPASSWD=y + diff --git a/PATCH/make.py-trellis b/PATCH/make.py-trellis new file mode 100755 index 0000000..4e0aae7 --- /dev/null +++ b/PATCH/make.py-trellis @@ -0,0 +1,263 @@ +#!/usr/bin/env python3 + +import argparse +import os + +from litex.soc.integration.builder import Builder + +from soc_linux import SoCLinux + +kB = 1024 + +# Board definition---------------------------------------------------------------------------------- + +class Board: + def __init__(self, soc_cls, soc_capabilities): + self.soc_cls = soc_cls + self.soc_capabilities = soc_capabilities + + def load(self): + raise NotImplementedError + + def flash(self): + raise NotImplementedError + +# Arty support ------------------------------------------------------------------------------------- + +class Arty(Board): + SPIFLASH_PAGE_SIZE = 256 + SPIFLASH_SECTOR_SIZE = 64*kB + def __init__(self): + from litex_boards.targets import arty + Board.__init__(self, arty.EthernetSoC, {"serial", "ethernet", "spiflash", "leds", "switches", "spi", "i2c", "xadc"}) + + def load(self): + from litex.build.openocd import OpenOCD + prog = OpenOCD("prog/openocd_xilinx.cfg") + prog.load_bitstream("build/arty/gateware/top.bit") + + def flash(self): + flash_regions = { + "build/arty/gateware/top.bin": "0x00000000", # FPGA image: loaded at startup + "buildroot/Image": "0x00400000", # Linux Image: copied to 0xc0000000 by bios + "buildroot/rootfs.cpio": "0x00800000", # File System: copied to 0xc0800000 by bios + "buildroot/rv32.dtb": "0x00f00000", # Device tree: copied to 0xc1000000 by bios + "emulator/emulator.bin": "0x00f80000", # MM Emulator: copied to 0x20000000 by bios + } + from litex.build.openocd import OpenOCD + prog = OpenOCD("prog/openocd_xilinx.cfg", + flash_proxy_basename="prog/bscan_spi_xc7a35t.bit") + prog.set_flash_proxy_dir(".") + for filename, base in flash_regions.items(): + base = int(base, 16) + print("Flashing {} at 0x{:08x}".format(filename, base)) + prog.flash(base, filename) + +# NeTV2 support ------------------------------------------------------------------------------------ + +class NeTV2(Board): + SPIFLASH_PAGE_SIZE = 256 + SPIFLASH_SECTOR_SIZE = 64*kB + def __init__(self): + from litex_boards.targets import netv2 + Board.__init__(self, netv2.EthernetSoC, {"serial", "ethernet", "framebuffer", "spiflash", "leds", "xadc"}) + + def load(self): + from litex.build.openocd import OpenOCD + prog = OpenOCD("prog/openocd_netv2_rpi.cfg") + prog.load_bitstream("build/netv2/gateware/top.bit") + +# Genesys2 support --------------------------------------------------------------------------------- + +class Genesys2(Board): + def __init__(self): + from litex_boards.targets import genesys2 + Board.__init__(self, genesys2.BaseSoC, {"serial"}) + + def load(self): + from litex.build.xilinx import VivadoProgrammer + prog = VivadoProgrammer() + prog.load_bitstream("build/genesys2/gateware/top.bit") + +# KCU105 support ----------------------------------------------------------------------------------- + +class KCU105(Board): + def __init__(self): + from litex_boards.targets import kcu105 + Board.__init__(self, kcu105.EthernetSoC, {"serial", "ethernet"}) + + def load(self): + from litex.build.xilinx import VivadoProgrammer + prog = VivadoProgrammer() + prog.load_bitstream("build/kcu105/gateware/top.bit") + + +# Nexys4DDR support -------------------------------------------------------------------------------- + +class Nexys4DDR(Board): + def __init__(self): + from litex_boards.targets import nexys4ddr + Board.__init__(self, nexys4ddr.EthernetSoC, {"serial", "ethernet"}) + + def load(self): + from litex.build.xilinx import VivadoProgrammer + prog = VivadoProgrammer() + prog.load_bitstream("build/nexys4ddr/gateware/top.bit") + +# NexysVideo support -------------------------------------------------------------------------------- + +class NexysVideo(Board): + def __init__(self): + from litex_boards.targets import nexys_video + Board.__init__(self, nexys_video.EthernetSoC, {"serial", "framebuffer"}) + + def load(self): + from litex.build.xilinx import VivadoProgrammer + prog = VivadoProgrammer() + prog.load_bitstream("build/nexys_video/gateware/top.bit") + +# MiniSpartan6 support ----------------------------------------------------------------------------- + +class MiniSpartan6(Board): + def __init__(self): + from litex_boards.targets import minispartan6 + Board.__init__(self, minispartan6.BaseSoC, {"serial"}) + + def load(self): + os.system("xc3sprog -c ftdi build/minispartan6/gateware/top.bit") + + +# Versa ECP5 support ------------------------------------------------------------------------------- + +class VersaECP5(Board): + SPIFLASH_PAGE_SIZE = 256 + SPIFLASH_SECTOR_SIZE = 64*kB + def __init__(self): + from litex_boards.targets import versa_ecp5 + Board.__init__(self, versa_ecp5.EthernetSoC, {"serial", "ethernet", "spiflash"}) + + def load(self): + os.system("openocd -f prog/ecp5-versa5g.cfg -c \"transport select jtag; init; svf build/versa_ecp5/gateware/top.svf; exit\"") + +# ULX3S support ------------------------------------------------------------------------------------ + +class ULX3S(Board): + def __init__(self): + from litex_boards.targets import ulx3s + Board.__init__(self, ulx3s.BaseSoC, {"serial"}) + + def load(self): + os.system("ujprog build/ulx3s/gateware/top.svf") + +# TrellisBoard support ------------------------------------------------------------------------------------ + +class Trellis(Board): + def __init__(self): + from litex_boards.targets import trellisboard + Board.__init__(self, trellisboard.EthernetSoC, "serial+ethernet") + + def load(self): + os.system("openocd -f prog/trellisboard.cfg -c \"transport select jtag; init; svf build/trellisboard/gateware/top.svf; exit\"") + +# De0Nano support ------------------------------------------------------------------------------------ + +class De0Nano(Board): + def __init__(self): + from litex_boards.targets import de0nano + Board.__init__(self, de0nano.BaseSoC, {"serial"}) + + def load(self): + from litex.build.altera import USBBlaster + prog = USBBlaster() + prog.load_bitstream("build/de0nano/gateware/top.sof") + +# Main --------------------------------------------------------------------------------------------- + +supported_boards = { + # Xilinx + "arty": Arty, + "netv2": NeTV2, + "genesys2": Genesys2, + "kcu105": KCU105, + "nexys4ddr": Nexys4DDR, + "nexys_video": NexysVideo, + "minispartan6": MiniSpartan6, + # Lattice + "versa_ecp5": VersaECP5, + "ulx3s": ULX3S, + "trellisboard": Trellis, + # Altera/Intel + "de0nano": De0Nano, +} + +def main(): + description = "Linux on LiteX-VexRiscv\n\n" + description += "Available boards:\n" + for name in supported_boards.keys(): + description += "- " + name + "\n" + parser = argparse.ArgumentParser(description=description, formatter_class=argparse.RawTextHelpFormatter) + parser.add_argument("--board", required=True, help="FPGA board") + parser.add_argument("--build", action="store_true", help="build bitstream") + parser.add_argument("--load", action="store_true", help="load bitstream (to SRAM)") + parser.add_argument("--flash", action="store_true", help="flash bitstream/images (to SPI Flash)") + parser.add_argument("--local-ip", default="192.168.1.50", help="local IP address") + parser.add_argument("--remote-ip", default="192.168.1.100", help="remote IP address of TFTP server") + parser.add_argument("--spi-bpw", type=int, default=8, help="Bits per word for SPI controller") + parser.add_argument("--spi-sck-freq", type=int, default=1e6, help="SPI clock frequency") + args = parser.parse_args() + + if args.board == "all": + board_names = list(supported_boards.keys()) + else: + board_names = [args.board] + for board_name in board_names: + board = supported_boards[board_name]() + soc_kwargs = {} + if board_name in ["versa_ecp5", "ulx3s", "trellisboard"]: + soc_kwargs["toolchain"] = "trellis" + soc_kwargs["cpu_variant"] = "linux+no-dsp" + if board_name in ["de0nano"]: + soc_kwargs["l2_size"] = 1024 # FIXME: Reduce l2_size, blockram not infered correctly? + soc = SoCLinux(board.soc_cls, **soc_kwargs) + if "spiflash" in board.soc_capabilities: + soc.add_spi_flash() + soc.add_constant("SPIFLASH_PAGE_SIZE", board.SPIFLASH_PAGE_SIZE) + soc.add_constant("SPIFLASH_SECTOR_SIZE", board.SPIFLASH_SECTOR_SIZE) + if "ethernet" in board.soc_capabilities: + soc.configure_ethernet(local_ip=args.local_ip, remote_ip=args.remote_ip) + if "leds" in board.soc_capabilities: + soc.add_leds() + if "switches" in board.soc_capabilities: + soc.add_switches() + if "spi" in board.soc_capabilities: + soc.add_spi(args.spi_bpw, args.spi_sck_freq) + if "i2c" in board.soc_capabilities: + soc.add_i2c() + if "xadc" in board.soc_capabilities: + soc.add_xadc() + if "framebuffer" in board.soc_capabilities: + soc.add_framebuffer() + soc.configure_boot() + + build_dir = os.path.join("build", board_name) + if args.build: + builder = Builder(soc, output_dir=build_dir, + csr_json=os.path.join(build_dir, "csr.json")) + else: + builder = Builder(soc, output_dir="build/" + board_name, + compile_software=False, compile_gateware=False, + csr_json=os.path.join(build_dir, "csr.json")) + builder.build() + + soc.generate_dts(board_name) + soc.compile_dts(board_name) + soc.compile_emulator(board_name) + + if args.load: + board.load() + + if args.flash: + board.flash() + +if __name__ == "__main__": + main() diff --git a/PATCH/rootfs_overlay/etc/motd b/PATCH/rootfs_overlay/etc/motd new file mode 100644 index 0000000..78ed814 --- /dev/null +++ b/PATCH/rootfs_overlay/etc/motd @@ -0,0 +1,6 @@ +Linux on LiteX-Vexriscv + +32-bit VexRiscv CPU with MMU integrated in a LiteX SoC + +Fork Sand Build on Trellisboard + diff --git a/PATCH/rootfs_overlay/etc/network/interfaces b/PATCH/rootfs_overlay/etc/network/interfaces new file mode 100644 index 0000000..501af5f --- /dev/null +++ b/PATCH/rootfs_overlay/etc/network/interfaces @@ -0,0 +1,16 @@ +auto lo +iface lo inet loopback + +# The primary network interface +auto eth0 eth0:0 +iface eth0 inet static + address 192.168.110.26 + netmask 255.255.255.0 + gateway 192.168.110.252 + dns-nameservers 192.168.110.252 + dns-search forksand.com + +iface eth0:0 inet static + address 192.168.1.50 + netmask 255.255.255.0 + diff --git a/PATCH/rootfs_overlay/etc/profile b/PATCH/rootfs_overlay/etc/profile new file mode 100644 index 0000000..d4f7585 --- /dev/null +++ b/PATCH/rootfs_overlay/etc/profile @@ -0,0 +1,20 @@ +export PATH="/bin:/sbin:/usr/bin:/usr/sbin" + +if [ "$PS1" ]; then + if [ "`id -u`" -eq 0 ]; then + export PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\# ' + else + export PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' + fi +fi + +export PAGER='/bin/more' +export EDITOR='/bin/vi' + +# Source configuration files from /etc/profile.d +for i in /etc/profile.d/*.sh ; do + if [ -r "$i" ]; then + . $i + fi +done +unset i diff --git a/PATCH/rootfs_overlay/etc/resolv.conf b/PATCH/rootfs_overlay/etc/resolv.conf new file mode 100644 index 0000000..a265580 --- /dev/null +++ b/PATCH/rootfs_overlay/etc/resolv.conf @@ -0,0 +1,2 @@ +nameserver 192.168.110.252 +search forksand.com diff --git a/PATCH/rootfs_overlay/root/.ssh/authorized_keys b/PATCH/rootfs_overlay/root/.ssh/authorized_keys new file mode 100644 index 0000000..122eeb2 --- /dev/null +++ b/PATCH/rootfs_overlay/root/.ssh/authorized_keys @@ -0,0 +1,2 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILpztQNKt5cp2+md/Co+6bXBv56NBQvv9GQjBF73H7NG jebba@sparkle +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINc+UB6SSDDm6AS3LSVyKVCtazrKDYZyTnDR2niCbojq jebba@fshq diff --git a/PATCH/rootfs_overlay/root/forksand-nbd-client b/PATCH/rootfs_overlay/root/forksand-nbd-client new file mode 100755 index 0000000..82910b0 --- /dev/null +++ b/PATCH/rootfs_overlay/root/forksand-nbd-client @@ -0,0 +1,8 @@ +#!/bin/sh + +nbd-client 192.168.110.63 8992 /dev/nbd0 + +fsck /dev/nbd0 + +mount /dev/nbd0 /mnt/ + diff --git a/PATCH/ulx3s.cfg b/PATCH/ulx3s.cfg new file mode 100644 index 0000000..7f80350 --- /dev/null +++ b/PATCH/ulx3s.cfg @@ -0,0 +1,48 @@ +# this supports ulx3s + +interface ft232r +#ft232r_device_desc "ulx3s" +ft232r_vid_pid 0x0403 0x6015 +# ULX3S specific GPIO setting +ft232r_tck_num DSR +ft232r_tms_num DCD +ft232r_tdi_num RI +ft232r_tdo_num CTS +# trst/srst are not used but must have different values than above +ft232r_trst_num RTS +ft232r_srst_num DTR +# default speed +adapter_khz 1000 + +# JTAG TAPs - lfe5u12, lfe5u25, lfe5u45, lfe5u85 +#jtag newtap lfe5u12 tap -expected-id 0x21111043 -irlen 8 -irmask 0xFF -ircapture 0x5 +#jtag newtap lfe5u25 tap -expected-id 0x41111043 -irlen 8 -irmask 0xFF -ircapture 0x5 +#jtag newtap lfe5u45 tap -expected-id 0x41112043 -irlen 8 -irmask 0xFF -ircapture 0x5 + + +# +jtag newtap lfe5um85 tap -expected-id 0x41113043 -irlen 8 -irmask 0xFF -ircapture 0x5 +#Error: tdo check error at line 51 +#Error: READ = 0x1113043 +#Error: WANT = 0x41113043 +#Error: MASK = 0xffffffff +#Error: fail to run command at line 12527 +#Error: tdo check error at line 51 +#Error: READ = 0x1113043 +#Error: WANT = 0x41113043 +#Error: MASK = 0xffffffff + + + +# +#jtag newtap lfe5um85 tap -expected-id 0x1113043 -irlen 8 -irmask 0xFF -ircapture 0x5 +#Error: tdo check error at line 51 +#Error: READ = 0x1113043 +#Error: WANT = 0x41113043 +#Error: MASK = 0xffffffff +#Error: fail to run command at line 12527 +#Error: tdo check error at line 51 +#Error: READ = 0x1113043 +#Error: WANT = 0x41113043 +#Error: MASK = 0xffffffff + diff --git a/PATCH/ulx3s.cfg.maybe b/PATCH/ulx3s.cfg.maybe new file mode 100644 index 0000000..299173a --- /dev/null +++ b/PATCH/ulx3s.cfg.maybe @@ -0,0 +1,21 @@ +# this supports ulx3s + +interface ft232r +#ft232r_device_desc "ulx3s" +ft232r_vid_pid 0x0403 0x6015 +# ULX3S specific GPIO setting +ft232r_tck_num DSR +ft232r_tms_num DCD +ft232r_tdi_num RI +ft232r_tdo_num CTS +# trst/srst are not used but must have different values than above +ft232r_trst_num RTS +ft232r_srst_num DTR +# default speed +adapter_khz 1000 + +# JTAG TAPs - lfe5u12, lfe5u25, lfe5u45, lfe5u85 +#jtag newtap lfe5u12 tap -expected-id 0x21111043 -irlen 8 -irmask 0xFF -ircapture 0x5 +#jtag newtap lfe5u25 tap -expected-id 0x41111043 -irlen 8 -irmask 0xFF -ircapture 0x5 +#jtag newtap lfe5u45 tap -expected-id 0x41112043 -irlen 8 -irmask 0xFF -ircapture 0x5 +jtag newtap lfe5u85 tap -expected-id 0x41113043 -irlen 8 -irmask 0xFF -ircapture 0x5 diff --git a/PATCH/ulx3s.cfg.sum.meh b/PATCH/ulx3s.cfg.sum.meh new file mode 100644 index 0000000..502e571 --- /dev/null +++ b/PATCH/ulx3s.cfg.sum.meh @@ -0,0 +1,21 @@ +# this supports ulx3s + +interface ft232r +#ft232r_device_desc "ulx3s" +ft232r_vid_pid 0x0403 0x6015 +# ULX3S specific GPIO setting +ft232r_tck_num DSR +ft232r_tms_num DCD +ft232r_tdi_num RI +ft232r_tdo_num CTS +# trst/srst are not used but must have different values than above +ft232r_trst_num RTS +ft232r_srst_num DTR +# default speed +adapter_khz 1000 + +# JTAG TAPs - lfe5u12, lfe5u25, lfe5u45, lfe5u85 +#jtag newtap lfe5u12 tap -expected-id 0x21111043 -irlen 8 -irmask 0xFF -ircapture 0x5 +#jtag newtap lfe5u25 tap -expected-id 0x41111043 -irlen 8 -irmask 0xFF -ircapture 0x5 +#jtag newtap lfe5u45 tap -expected-id 0x41112043 -irlen 8 -irmask 0xFF -ircapture 0x5 +jtag newtap lfe5um85 tap -expected-id 0x41113043 -irlen 8 -irmask 0xFF -ircapture 0x5 diff --git a/PATCH/ulx3s_v20.lpf b/PATCH/ulx3s_v20.lpf new file mode 100644 index 0000000..a07fab0 --- /dev/null +++ b/PATCH/ulx3s_v20.lpf @@ -0,0 +1,462 @@ +BLOCK RESETPATHS; +BLOCK ASYNCPATHS; +## ULX3S v2.x.x and v3.0.x + +# The clock "usb" and "gpdi" sheet +LOCATE COMP "clk_25mhz" SITE "G2"; +IOBUF PORT "clk_25mhz" PULLMODE=NONE IO_TYPE=LVCMOS33; +FREQUENCY PORT "clk_25mhz" 25 MHZ; + +# JTAG and SPI FLASH voltage 3.3V and options to boot from SPI flash +# write to FLASH possible any time from JTAG: +#SYSCONFIG CONFIG_IOVOLTAGE=3.3 COMPRESS_CONFIG=ON MCCLK_FREQ=62 MASTER_SPI_PORT=ENABLE SLAVE_SPI_PORT=DISABLE SLAVE_PARALLEL_PORT=DISABLE; +# write to FLASH possible from user bitstream: +SYSCONFIG CONFIG_IOVOLTAGE=3.3 COMPRESS_CONFIG=ON MCCLK_FREQ=62 MASTER_SPI_PORT=DISABLE SLAVE_SPI_PORT=DISABLE SLAVE_PARALLEL_PORT=DISABLE; + +## USBSERIAL FTDI-FPGA serial port "usb" sheet +LOCATE COMP "ftdi_rxd" SITE "L4"; # FPGA transmits to ftdi +LOCATE COMP "ftdi_txd" SITE "M1"; # FPGA receives from ftdi +LOCATE COMP "ftdi_nrts" SITE "M3"; # FPGA receives +LOCATE COMP "ftdi_ndtr" SITE "N1"; # FPGA receives +LOCATE COMP "ftdi_txden" SITE "L3"; # FPGA receives +IOBUF PORT "ftdi_rxd" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "ftdi_txd" PULLMODE=UP IO_TYPE=LVCMOS33; +IOBUF PORT "ftdi_nrts" PULLMODE=UP IO_TYPE=LVCMOS33; +IOBUF PORT "ftdi_ndtr" PULLMODE=UP IO_TYPE=LVCMOS33; +IOBUF PORT "ftdi_txden" PULLMODE=UP IO_TYPE=LVCMOS33; + +## LED indicators "blinkey" and "gpio" sheet +LOCATE COMP "led[7]" SITE "H3"; +LOCATE COMP "led[6]" SITE "E1"; +LOCATE COMP "led[5]" SITE "E2"; +LOCATE COMP "led[4]" SITE "D1"; +LOCATE COMP "led[3]" SITE "D2"; +LOCATE COMP "led[2]" SITE "C1"; +LOCATE COMP "led[1]" SITE "C2"; +LOCATE COMP "led[0]" SITE "B2"; +IOBUF PORT "led[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "led[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "led[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "led[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "led[4]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "led[5]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "led[6]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "led[7]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; + +## Pushbuttons "blinkey", "flash", "power", "gpdi" sheet +LOCATE COMP "btn[0]" SITE "D6"; # BTN_PWRn (inverted logic) +LOCATE COMP "btn[1]" SITE "R1"; # FIRE1 +LOCATE COMP "btn[2]" SITE "T1"; # FIRE2 +LOCATE COMP "btn[3]" SITE "R18"; # UP +LOCATE COMP "btn[4]" SITE "V1"; # DOWN +LOCATE COMP "btn[5]" SITE "U1"; # LEFT +LOCATE COMP "btn[6]" SITE "H16"; # RIGHT +IOBUF PORT "btn[0]" PULLMODE=UP IO_TYPE=LVCMOS33; +IOBUF PORT "btn[1]" PULLMODE=DOWN IO_TYPE=LVCMOS33; +IOBUF PORT "btn[2]" PULLMODE=DOWN IO_TYPE=LVCMOS33; +IOBUF PORT "btn[3]" PULLMODE=DOWN IO_TYPE=LVCMOS33; +IOBUF PORT "btn[4]" PULLMODE=DOWN IO_TYPE=LVCMOS33; +IOBUF PORT "btn[5]" PULLMODE=DOWN IO_TYPE=LVCMOS33; +IOBUF PORT "btn[6]" PULLMODE=DOWN IO_TYPE=LVCMOS33; + +## DIP switch "blinkey", "gpio" sheet +LOCATE COMP "sw[0]" SITE "E8"; # SW1 +LOCATE COMP "sw[1]" SITE "D8"; # SW2 +LOCATE COMP "sw[2]" SITE "D7"; # SW3 +LOCATE COMP "sw[3]" SITE "E7"; # SW4 +IOBUF PORT "sw[0]" PULLMODE=DOWN IO_TYPE=LVCMOS33; +IOBUF PORT "sw[1]" PULLMODE=DOWN IO_TYPE=LVCMOS33; +IOBUF PORT "sw[2]" PULLMODE=DOWN IO_TYPE=LVCMOS33; +IOBUF PORT "sw[3]" PULLMODE=DOWN IO_TYPE=LVCMOS33; + +## SPI OLED DISPLAY SSD1331 (Color) or SSD1306 (B/W) "blinkey", "usb" sheet +LOCATE COMP "oled_clk" SITE "P4"; +LOCATE COMP "oled_mosi" SITE "P3"; +LOCATE COMP "oled_dc" SITE "P1"; +LOCATE COMP "oled_resn" SITE "P2"; +LOCATE COMP "oled_csn" SITE "N2"; +IOBUF PORT "oled_clk" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "oled_mosi" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "oled_dc" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "oled_resn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "oled_csn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## SPI Flash chip "flash" sheet +LOCATE COMP "flash_csn" SITE "R2"; +#LOCATE COMP "flash_clk" SITE "U3"; +LOCATE COMP "flash_mosi" SITE "W2"; +LOCATE COMP "flash_miso" SITE "V2"; +LOCATE COMP "flash_holdn" SITE "W1"; +LOCATE COMP "flash_wpn" SITE "Y2"; +#LOCATE COMP "flash_csspin" SITE "AJ3"; +#LOCATE COMP "flash_initn" SITE "AG4"; +#LOCATE COMP "flash_done" SITE "AJ4"; +#LOCATE COMP "flash_programn" SITE "AH4"; +#LOCATE COMP "flash_cfg_select[0]" SITE "AM4"; +#LOCATE COMP "flash_cfg_select[1]" SITE "AL4"; +#LOCATE COMP "flash_cfg_select[2]" SITE "AK4"; +IOBUF PORT "flash_csn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_clk" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "flash_mosi" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "flash_miso" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "flash_holdn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "flash_wpn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_csspin" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_initn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_done" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_programn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_cfg_select[0]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_cfg_select[1]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_cfg_select[2]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; + +## SD card "sdcard", "usb" sheet +LOCATE COMP "sd_clk" SITE "H2"; # sd_clk WiFi_GPIO14 +LOCATE COMP "sd_cmd" SITE "J1"; # sd_cmd_di (MOSI) WiFi GPIO15 +LOCATE COMP "sd_d[0]" SITE "J3"; # sd_dat0_do (MISO) WiFi GPIO2 +LOCATE COMP "sd_d[1]" SITE "H1"; # sd_dat1_irq WiFi GPIO4 +LOCATE COMP "sd_d[2]" SITE "K1"; # sd_dat2 WiFi_GPIO12 +LOCATE COMP "sd_d[3]" SITE "K2"; # sd_dat3_csn WiFi_GPIO13 +LOCATE COMP "sd_wp" SITE "P5"; # not connected +LOCATE COMP "sd_cdn" SITE "N5"; # not connected +IOBUF PORT "sd_clk" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sd_cmd" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sd_d[0]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sd_d[1]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sd_d[2]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; # WiFi GPIO12 pulldown bootstrapping requirement +IOBUF PORT "sd_d[3]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sd_wp" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sd_cdn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## ADC SPI (MAX11123) "analog", "ram" sheet +LOCATE COMP "adc_csn" SITE "R17"; +LOCATE COMP "adc_mosi" SITE "R16"; +LOCATE COMP "adc_miso" SITE "U16"; +LOCATE COMP "adc_sclk" SITE "P17"; +IOBUF PORT "adc_csn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "adc_mosi" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "adc_miso" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "adc_sclk" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## Audio 4-bit DAC "analog", "gpio" sheet +# Output impedance 75 ohm. +# Strong enough to drive 16 ohm earphones. +LOCATE COMP "audio_l[3]" SITE "B3"; # JACK TIP (left audio) +LOCATE COMP "audio_l[2]" SITE "C3"; +LOCATE COMP "audio_l[1]" SITE "D3"; +LOCATE COMP "audio_l[0]" SITE "E4"; +LOCATE COMP "audio_r[3]" SITE "C5"; # JACK RING1 (right audio) +LOCATE COMP "audio_r[2]" SITE "D5"; +LOCATE COMP "audio_r[1]" SITE "B5"; +LOCATE COMP "audio_r[0]" SITE "A3"; +LOCATE COMP "audio_v[3]" SITE "E5"; # JACK RING2 (video or digital audio) +LOCATE COMP "audio_v[2]" SITE "F5"; +LOCATE COMP "audio_v[1]" SITE "F2"; +LOCATE COMP "audio_v[0]" SITE "H5"; +IOBUF PORT "audio_l[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +IOBUF PORT "audio_l[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +IOBUF PORT "audio_l[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +IOBUF PORT "audio_l[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +IOBUF PORT "audio_r[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +IOBUF PORT "audio_r[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +IOBUF PORT "audio_r[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +IOBUF PORT "audio_r[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +IOBUF PORT "audio_v[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +IOBUF PORT "audio_v[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +IOBUF PORT "audio_v[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +IOBUF PORT "audio_v[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; + +## WiFi ESP-32 "wifi", "usb", "flash" sheet +# other pins are shared with GP/GN, SD card and JTAG +LOCATE COMP "wifi_en" SITE "F1"; # enable/reset WiFi +LOCATE COMP "wifi_rxd" SITE "K3"; # FPGA transmits to WiFi +LOCATE COMP "wifi_txd" SITE "K4"; # FPGA receives from WiFi +LOCATE COMP "wifi_gpio0" SITE "L2"; +LOCATE COMP "wifi_gpio5" SITE "N4"; # WIFI LED +LOCATE COMP "wifi_gpio16" SITE "L1"; # Serial1 RX +LOCATE COMP "wifi_gpio17" SITE "N3"; # Serial1 TX +# LOCATE COMP "prog_done" SITE "Y3"; # not GPIO, always active +IOBUF PORT "wifi_en" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "wifi_rxd" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "wifi_txd" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "wifi_gpio0" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "wifi_gpio5" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "wifi_gpio16" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "wifi_gpio17" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +# IOBUF PORT "prog_done" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## PCB antenna 433 MHz (may be also used for FM) "usb" sheet +LOCATE COMP "ant_433mhz" SITE "G1"; +IOBUF PORT "ant_433mhz" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; + +## Second USB port "US2" going directly into FPGA "usb", "ram" sheet +LOCATE COMP "usb_fpga_dp" SITE "E16"; # single ended or differential input only +LOCATE COMP "usb_fpga_dn" SITE "F16"; +IOBUF PORT "usb_fpga_dp" PULLMODE=NONE IO_TYPE=LVCMOS33D DRIVE=16; +IOBUF PORT "usb_fpga_dn" PULLMODE=NONE IO_TYPE=LVCMOS33D DRIVE=16; +LOCATE COMP "usb_fpga_bd_dp" SITE "D15"; # single-ended bidirectional +LOCATE COMP "usb_fpga_bd_dn" SITE "E15"; +IOBUF PORT "usb_fpga_bd_dp" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "usb_fpga_bd_dn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +LOCATE COMP "usb_fpga_pu_dp" SITE "B12"; # pull up/down control +LOCATE COMP "usb_fpga_pu_dn" SITE "C12"; +IOBUF PORT "usb_fpga_pu_dp" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +IOBUF PORT "usb_fpga_pu_dn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; + +## JTAG ESP-32 "usb" sheet +# connected to FT231X and ESP-32 +# commented out because those are dedicated pins, not directly useable as GPIO +# but could be used by some vendor-specific JTAG bridging (boundary scan) module +#LOCATE COMP "jtag_tdi" SITE "R5"; # FTDI_nRI FPGA receives +#LOCATE COMP "jtag_tdo" SITE "V4"; # FTDI_nCTS FPGA transmits +#LOCATE COMP "jtag_tck" SITE "T5"; # FTDI_nDSR FPGA receives +#LOCATE COMP "jtag_tms" SITE "U5"; # FTDI_nDCD FPGA receives +#IOBUF PORT "jtag_tdi" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "jtag_tdo" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "jtag_tck" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "jtag_tms" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## SDRAM "ram" sheet +LOCATE COMP "sdram_clk" SITE "F19"; +LOCATE COMP "sdram_cke" SITE "F20"; +LOCATE COMP "sdram_csn" SITE "P20"; +LOCATE COMP "sdram_wen" SITE "T20"; +LOCATE COMP "sdram_rasn" SITE "R20"; +LOCATE COMP "sdram_casn" SITE "T19"; +LOCATE COMP "sdram_a[0]" SITE "M20"; +LOCATE COMP "sdram_a[1]" SITE "M19"; +LOCATE COMP "sdram_a[2]" SITE "L20"; +LOCATE COMP "sdram_a[3]" SITE "L19"; +LOCATE COMP "sdram_a[4]" SITE "K20"; +LOCATE COMP "sdram_a[5]" SITE "K19"; +LOCATE COMP "sdram_a[6]" SITE "K18"; +LOCATE COMP "sdram_a[7]" SITE "J20"; +LOCATE COMP "sdram_a[8]" SITE "J19"; +LOCATE COMP "sdram_a[9]" SITE "H20"; +LOCATE COMP "sdram_a[10]" SITE "N19"; +LOCATE COMP "sdram_a[11]" SITE "G20"; +LOCATE COMP "sdram_a[12]" SITE "G19"; +LOCATE COMP "sdram_ba[0]" SITE "P19"; +LOCATE COMP "sdram_ba[1]" SITE "N20"; +LOCATE COMP "sdram_dqm[0]" SITE "U19"; +LOCATE COMP "sdram_dqm[1]" SITE "E20"; +LOCATE COMP "sdram_d[0]" SITE "J16"; +LOCATE COMP "sdram_d[1]" SITE "L18"; +LOCATE COMP "sdram_d[2]" SITE "M18"; +LOCATE COMP "sdram_d[3]" SITE "N18"; +LOCATE COMP "sdram_d[4]" SITE "P18"; +LOCATE COMP "sdram_d[5]" SITE "T18"; +LOCATE COMP "sdram_d[6]" SITE "T17"; +LOCATE COMP "sdram_d[7]" SITE "U20"; +LOCATE COMP "sdram_d[8]" SITE "E19"; +LOCATE COMP "sdram_d[9]" SITE "D20"; +LOCATE COMP "sdram_d[10]" SITE "D19"; +LOCATE COMP "sdram_d[11]" SITE "C20"; +LOCATE COMP "sdram_d[12]" SITE "E18"; +LOCATE COMP "sdram_d[13]" SITE "F18"; +LOCATE COMP "sdram_d[14]" SITE "J18"; +LOCATE COMP "sdram_d[15]" SITE "J17"; +IOBUF PORT "sdram_clk" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_cke" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_csn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_wen" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_rasn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_casn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[4]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[5]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[6]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[7]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[8]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[9]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[10]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[11]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[12]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_ba[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_ba[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_dqm[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_dqm[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[4]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[5]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[6]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[7]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[8]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[9]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[10]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[11]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[12]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[13]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[14]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[15]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; + +# GPDI differential interface (Video) "gpdi" sheet +LOCATE COMP "gpdi_dp[0]" SITE "A16"; # Blue + +LOCATE COMP "gpdi_dn[0]" SITE "B16"; # Blue - +LOCATE COMP "gpdi_dp[1]" SITE "A14"; # Green + +LOCATE COMP "gpdi_dn[1]" SITE "C14"; # Green - +LOCATE COMP "gpdi_dp[2]" SITE "A12"; # Red + +LOCATE COMP "gpdi_dn[2]" SITE "A13"; # Red - +LOCATE COMP "gpdi_dp[3]" SITE "A17"; # Clock + +LOCATE COMP "gpdi_dn[3]" SITE "B18"; # Clock - +LOCATE COMP "gpdi_ethp" SITE "A19"; # Ethernet + +LOCATE COMP "gpdi_ethn" SITE "B20"; # Ethernet - +LOCATE COMP "gpdi_cec" SITE "A18"; +LOCATE COMP "gpdi_sda" SITE "B19"; # I2C shared with RTC +LOCATE COMP "gpdi_scl" SITE "E12"; # I2C shared with RTC C12->E12 +IOBUF PORT "gpdi_dp[0]" IO_TYPE=LVCMOS33D DRIVE=4; +IOBUF PORT "gpdi_dn[0]" IO_TYPE=LVCMOS33D DRIVE=4; +IOBUF PORT "gpdi_dp[1]" IO_TYPE=LVCMOS33D DRIVE=4; +IOBUF PORT "gpdi_dn[1]" IO_TYPE=LVCMOS33D DRIVE=4; +IOBUF PORT "gpdi_dp[2]" IO_TYPE=LVCMOS33D DRIVE=4; +IOBUF PORT "gpdi_dn[2]" IO_TYPE=LVCMOS33D DRIVE=4; +IOBUF PORT "gpdi_dp[3]" IO_TYPE=LVCMOS33D DRIVE=4; +IOBUF PORT "gpdi_dn[3]" IO_TYPE=LVCMOS33D DRIVE=4; +IOBUF PORT "gpdi_ethp" IO_TYPE=LVCMOS33D DRIVE=4; +IOBUF PORT "gpdi_ethn" IO_TYPE=LVCMOS33D DRIVE=4; +IOBUF PORT "gpdi_cec" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gpdi_sda" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gpdi_scl" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +# GPIO (default single-ended) "gpio", "ram", "gpdi" sheet +# Physical connector pins: +# *** when FEMALE ANGLED (90 deg PMOD) soldered *** +# Jm_n- = Jm_n, Jm_n+ = Jm_n+1 +# example: J1_5- is J1_5 phsyical, J1_5+ is J1_6 physical +# *** when MALE VERTICAL soldered *** +# Jm_n+ = Jm_n, Jm_n- = Jm_n+1 +# example: J1_5+ is J1_5 physical, J1_5- is J1_6 physical +# Pins enumerated gp[0-27], gn[0-27]. +# With differential mode enabled on Lattice, +# gp[] (+) are used, gn[] (-) are ignored from design +# as they handle inverted signal by default. +# To enable differential, rename LVCMOS33->LVCMOS33D +# To enable clock i/o, add this (example): +#FREQUENCY PORT "gp[12]" 25.00 MHZ; +LOCATE COMP "gp[0]" SITE "B11"; # J1_5+ GP0 PCLK +LOCATE COMP "gn[0]" SITE "C11"; # J1_5- GN0 PCLK +LOCATE COMP "gp[1]" SITE "A10"; # J1_7+ GP1 PCLK +LOCATE COMP "gn[1]" SITE "A11"; # J1_7- GN1 PCLK +LOCATE COMP "gp[2]" SITE "A9"; # J1_9+ GP2 GR_PCLK +LOCATE COMP "gn[2]" SITE "B10"; # J1_9- GN2 GR_PCLK +LOCATE COMP "gp[3]" SITE "B9"; # J1_11+ GP3 +LOCATE COMP "gn[3]" SITE "C10"; # J1_11- GN3 +LOCATE COMP "gp[4]" SITE "A7"; # J1_13+ GP4 +LOCATE COMP "gn[4]" SITE "A8"; # J1_13- GN4 +LOCATE COMP "gp[5]" SITE "C8"; # J1_15+ GP5 +LOCATE COMP "gn[5]" SITE "B8"; # J1_15- GN5 +LOCATE COMP "gp[6]" SITE "C6"; # J1_17+ GP6 +LOCATE COMP "gn[6]" SITE "C7"; # J1_17- GN6 +IOBUF PORT "gp[0]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[0]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[1]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[1]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[2]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[2]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[3]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[3]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[4]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[4]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[5]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[5]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[6]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[6]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +LOCATE COMP "gp[7]" SITE "A6"; # J1_23+ GP7 +LOCATE COMP "gn[7]" SITE "B6"; # J1_23- GN7 +LOCATE COMP "gp[8]" SITE "A4"; # J1_25+ GP8 +LOCATE COMP "gn[8]" SITE "A5"; # J1_25- GN8 DIFF +LOCATE COMP "gp[9]" SITE "A2"; # J1_27+ GP9 DIFF +LOCATE COMP "gn[9]" SITE "B1"; # J1_27- GN9 DIFF +LOCATE COMP "gp[10]" SITE "C4"; # J1_29+ GP10 DIFF +LOCATE COMP "gn[10]" SITE "B4"; # J1_29- GN10 DIFF +LOCATE COMP "gp[11]" SITE "F4"; # J1_31+ GP11 DIFF WIFI_GPIO26 +LOCATE COMP "gn[11]" SITE "E3"; # J1_31- GN11 DIFF WIFI_GPIO25 +LOCATE COMP "gp[12]" SITE "G3"; # J1_33+ GP12 DIFF WIFI_GPIO33 PCLK +LOCATE COMP "gn[12]" SITE "F3"; # J1_33- GN12 DIFF WIFI_GPIO32 PCLK +LOCATE COMP "gp[13]" SITE "H4"; # J1_35+ GP13 DIFF WIFI_GPIO35 +LOCATE COMP "gn[13]" SITE "G5"; # J1_35- GN13 DIFF WIFI_GPIO34 +IOBUF PORT "gp[7]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[7]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[8]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[8]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[9]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[9]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[10]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[10]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[11]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[11]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[12]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[12]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[13]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[13]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +LOCATE COMP "gp[14]" SITE "U18"; # J2_5+ GP14 DIFF ADC1 +LOCATE COMP "gn[14]" SITE "U17"; # J2_5- GN14 DIFF ADC0 +LOCATE COMP "gp[15]" SITE "N17"; # J2_7+ GP15 DIFF ADC3 +LOCATE COMP "gn[15]" SITE "P16"; # J2_7- GN15 DIFF ADC2 +LOCATE COMP "gp[16]" SITE "N16"; # J2_9+ GP16 DIFF ADC5 +LOCATE COMP "gn[16]" SITE "M17"; # J2_9- GN16 DIFF ADC4 +LOCATE COMP "gp[17]" SITE "L16"; # J2_11+ GP17 DIFF ADC7 GR_PCLK +LOCATE COMP "gn[17]" SITE "L17"; # J2_11- GN17 DIFF ADC6 +LOCATE COMP "gp[18]" SITE "H18"; # J2_13+ GP18 DIFF +LOCATE COMP "gn[18]" SITE "H17"; # J2_13- GN18 DIFF +LOCATE COMP "gp[19]" SITE "F17"; # J2_15+ GP19 DIFF +LOCATE COMP "gn[19]" SITE "G18"; # J2_15- GN19 DIFF +LOCATE COMP "gp[20]" SITE "D18"; # J2_17+ GP20 DIFF +LOCATE COMP "gn[20]" SITE "E17"; # J2_17- GN20 DIFF +IOBUF PORT "gp[14]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[14]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[15]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[15]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[16]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[16]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[17]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[17]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[18]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[18]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[19]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[19]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[20]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[20]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +LOCATE COMP "gp[21]" SITE "C18"; # J2_23+ GP21 DIFF +LOCATE COMP "gn[21]" SITE "D17"; # J2_23- GN21 DIFF +LOCATE COMP "gp[22]" SITE "B15"; # J2_25+ GP22 +LOCATE COMP "gn[22]" SITE "C15"; # J2_25- GN22 +LOCATE COMP "gp[23]" SITE "B17"; # J2_27+ GP23 +LOCATE COMP "gn[23]" SITE "C17"; # J2_27- GN23 +LOCATE COMP "gp[24]" SITE "C16"; # J2_29+ GP24 +LOCATE COMP "gn[24]" SITE "D16"; # J2_29- GN24 +LOCATE COMP "gp[25]" SITE "D14"; # J2_31+ GP25 +LOCATE COMP "gn[25]" SITE "E14"; # J2_31- GN25 +LOCATE COMP "gp[26]" SITE "B13"; # J2_33+ GP26 +LOCATE COMP "gn[26]" SITE "C13"; # J2_33- GN26 +LOCATE COMP "gp[27]" SITE "D13"; # J2_35+ GP27 +LOCATE COMP "gn[27]" SITE "E13"; # J2_35- GN27 +IOBUF PORT "gp[21]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[21]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[22]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[22]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[23]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[23]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[24]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[24]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[25]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[25]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[26]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[26]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[27]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[27]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## PROGRAMN (reload bitstream from FLASH, exit from bootloader) +# PCB v2.0.5 and higher +LOCATE COMP "user_programn" SITE "M4"; +IOBUF PORT "user_programn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## SHUTDOWN "power", "ram" sheet (connected from PCB v1.7.5) +# on PCB v1.7 shutdown is not connected to FPGA +LOCATE COMP "shutdown" SITE "G16"; # FPGA receives +IOBUF PORT "shutdown" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; diff --git a/README.md b/README.md index a6d15b7..c7ff830 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,8 @@ # fpga-cruft -Crufty scripts. \ No newline at end of file +Crufty scripts for FPGAs. + +WARNING: these scripts aren't set up for general use. + +Read the scripts before running, they may do who-knows-what. + diff --git a/config/ecp5-evn.cfg b/config/ecp5-evn.cfg new file mode 100644 index 0000000..8828b92 --- /dev/null +++ b/config/ecp5-evn.cfg @@ -0,0 +1,16 @@ +# this supports ECP5 Evaluation Board + +interface ftdi +ftdi_device_desc "Lattice ECP5 Evaluation Board" +ftdi_vid_pid 0x0403 0x6010 +# channel 1 does not have any functionality +ftdi_channel 0 +# just TCK TDI TDO TMS, no reset +ftdi_layout_init 0xfff8 0xfffb +reset_config none + +# default speed +adapter_khz 5000 + +# ECP5 device - LFE5UM5G-85F +jtag newtap ecp5 tap -irlen 8 -expected-id 0x81113043 diff --git a/config/ecp5-versa.cfg b/config/ecp5-versa.cfg new file mode 100644 index 0000000..4958627 --- /dev/null +++ b/config/ecp5-versa.cfg @@ -0,0 +1,18 @@ +# this supports ECP5 Versa board + +interface ftdi +ftdi_device_desc "Lattice ECP5 Versa Board" +ftdi_vid_pid 0x0403 0x6010 +# channel 1 does not have any functionality +ftdi_channel 0 +# just TCK TDI TDO TMS, no reset +ftdi_layout_init 0xfff8 0xfffb +reset_config none + +# default speed +adapter_khz 25000 + +# ispCLOCK device (should be bypassed by jumpers as it causes problems) +#jtag newtap ispclock tap -irlen 8 -expected-id 0x00191043 +# ECP5 device - LFE5UM-45F +jtag newtap ecp5 tap -irlen 8 -expected-id 0x01112043 diff --git a/config/ecp5-versa5g.cfg b/config/ecp5-versa5g.cfg new file mode 100644 index 0000000..78862b6 --- /dev/null +++ b/config/ecp5-versa5g.cfg @@ -0,0 +1,18 @@ +# this supports ECP5 Versa board + +interface ftdi +ftdi_device_desc "Lattice ECP5_5G VERSA Board" +ftdi_vid_pid 0x0403 0x6010 +# channel 1 does not have any functionality +ftdi_channel 0 +# just TCK TDI TDO TMS, no reset +ftdi_layout_init 0xfff8 0xfffb +reset_config none + +# default speed +adapter_khz 25000 + +# ispCLOCK device (should be bypassed by jumpers as it causes problems) +#jtag newtap ispclock tap -irlen 8 -expected-id 0x00191043 +# ECP5 device - LFE5UM5G-45F +jtag newtap ecp5 tap -irlen 8 -expected-id 0x81112043 diff --git a/config/ecp5.cfg b/config/ecp5.cfg new file mode 100644 index 0000000..78862b6 --- /dev/null +++ b/config/ecp5.cfg @@ -0,0 +1,18 @@ +# this supports ECP5 Versa board + +interface ftdi +ftdi_device_desc "Lattice ECP5_5G VERSA Board" +ftdi_vid_pid 0x0403 0x6010 +# channel 1 does not have any functionality +ftdi_channel 0 +# just TCK TDI TDO TMS, no reset +ftdi_layout_init 0xfff8 0xfffb +reset_config none + +# default speed +adapter_khz 25000 + +# ispCLOCK device (should be bypassed by jumpers as it causes problems) +#jtag newtap ispclock tap -irlen 8 -expected-id 0x00191043 +# ECP5 device - LFE5UM5G-45F +jtag newtap ecp5 tap -irlen 8 -expected-id 0x81112043 diff --git a/config/trellisboard.cfg b/config/trellisboard.cfg new file mode 100644 index 0000000..8aaa27d --- /dev/null +++ b/config/trellisboard.cfg @@ -0,0 +1,16 @@ +# TrellisBoard OpenOCD config + +interface ftdi +# ftdi_device_desc "TrellisBoard" +ftdi_vid_pid 0x0403 0x6010 +# channel 1 does not have any functionality +ftdi_channel 0 +# just TCK TDI TDO TMS, no reset +ftdi_layout_init 0xfff8 0xfffb +reset_config none + +# default speed +adapter_khz 5000 + +# ECP5 device - LFE5UM5G-85F +jtag newtap ecp5 tap -irlen 8 -expected-id 0x81113043 diff --git a/scripts/forksand-ecp5-lxterm-boot b/scripts/forksand-ecp5-lxterm-boot new file mode 100755 index 0000000..bc4309a --- /dev/null +++ b/scripts/forksand-ecp5-lxterm-boot @@ -0,0 +1,15 @@ +#!/bin/bash + +set -x + +for i in /dev/ttyUSB1 +do echo "USB Devices to use: $i" +done + +for i in /dev/ttyUSB1 +do echo "Using: $i" + lxterm --images=images.json $i --speed=2e6 --no-crc +done + + +#--serial-boot diff --git a/scripts/forksand-flash-ECP5-5G-45F b/scripts/forksand-flash-ECP5-5G-45F new file mode 100755 index 0000000..8c07761 --- /dev/null +++ b/scripts/forksand-flash-ECP5-5G-45F @@ -0,0 +1,5 @@ +#!/bin/bash + +set -x + +openocd -f ./ecp5.cfg -c "transport select jtag; init; svf ./SVF.svf; exit" diff --git a/scripts/forksand-fpga-git-commits b/scripts/forksand-fpga-git-commits new file mode 100755 index 0000000..683df1c --- /dev/null +++ b/scripts/forksand-fpga-git-commits @@ -0,0 +1,13 @@ +#!/bin/bash + +cd ~/devel/FPGA + +for i in `find . -name .git | sort` + do echo + cd ~/devel/FPGA + echo $i | sed -e 's/\.git$//g' | sed -e 's/^\.\///g' + cd `dirname $i` + git branch + git log | head -1 | cut -f 2 -d " " +done + diff --git a/scripts/forksand-fpga-git-commits-log b/scripts/forksand-fpga-git-commits-log new file mode 100755 index 0000000..81e2e24 --- /dev/null +++ b/scripts/forksand-fpga-git-commits-log @@ -0,0 +1,6 @@ +#!/bin/bash + +NOW=`date +%Y%m%d-%H%M%S` + +./forksand-fpga-git-commits > git-commit-versions/$NOW 2> git-commit-versions/$NOW-err + diff --git a/scripts/forksand-jeboot-ecp5 b/scripts/forksand-jeboot-ecp5 new file mode 100755 index 0000000..7f33f98 --- /dev/null +++ b/scripts/forksand-jeboot-ecp5 @@ -0,0 +1,11 @@ +#!/bin/bash + +#lxterm --images=jeboot.json /dev/ttyUSB1 --speed=2e6 --no-crc +#--serial-boot + +openocd -f ./ecp5.cfg -c "transport select jtag; init; svf ./SVF.svf; exit" + +echo "Now run:" +echo "lxterm /dev/ttyUSB1" +echo "or" +echo "lxterm /dev/ttyUSB1 --speed=2e6" diff --git a/scripts/forksand-jeboot-ecp5-linux b/scripts/forksand-jeboot-ecp5-linux new file mode 100755 index 0000000..d57f6cf --- /dev/null +++ b/scripts/forksand-jeboot-ecp5-linux @@ -0,0 +1,11 @@ +#!/bin/bash + +cd /home/jebba/devel/FPGA/litex/linux-on-litex-vexriscv + +#./make.py --board versa_ecp5 --build +./make.py --board versa_ecp5 --load +#./make.py --board versa_ecp5 --flash + +echo "Now run this to get the console" +echo "lxterm /dev/ttyUSB1 --speed=2e6" + diff --git a/scripts/forksand-jeboot-ecp5-litex b/scripts/forksand-jeboot-ecp5-litex new file mode 100755 index 0000000..fc60cb3 --- /dev/null +++ b/scripts/forksand-jeboot-ecp5-litex @@ -0,0 +1,62 @@ +#!/bin/bash + +set -x +# Wt +cd /home/jebba/devel/FPGA/litex/litex/litex/boards/targets + +rm -rf /home/jebba/devel/FPGA/litex/litex/litex/boards/targets/soc_basesoc_versa_ecp5 +rm -rf /home/jebba/devel/FPGA/litex/litex/litex/boards/targets/soc_ethernetsoc_versa_ecp5 + +echo +echo "NOW BUILDING" +echo + +# Build .svf +./versa_ecp5.py \ + --sys-clk-freq=66666666 \ + --gateware-toolchain=trellis \ + --gateware-toolchain-path=/usr/local \ + --cpu-type=vexriscv \ + --cpu-variant=linux+no-dsp \ + --csr-csv=./csr_ecp5versa.csv \ + || exit + +# If you add/remove ethernet, also need to change .svf below +# --with-ethernet \ +# --cpu-variant=linux \ +# --cpu-variant=linux+no-dsp \ +# --cpu-type=rocket \ +# --sys-clk-freq=60e6 \ + + +echo +echo "NOW FLASHING" +echo + +openocd \ + -f /home/jebba/devel/FPGA/muh/ecp5-versa5g.cfg \ + -c "transport select jtag; init; svf /home/jebba/devel/FPGA/litex/litex/litex/boards/targets/soc_basesoc_versa_ecp5/gateware/top.svf; exit" \ + || exit +# No ethernet +# XXX UPDATE +# -c "transport select jtag; init; svf /home/jebba/devel/FPGA/litex/litex/litex/boards/targets/soc_basesoc_versa_ecp5/gateware/top.svf; exit" \ +# With ethernet +# -c "transport select jtag; init; svf /home/jebba/devel/FPGA/litex/litex-boards/litex_boards/official/targets/soc_ethernetsoc_versa_ecp5/gateware/top.svf; exit" \ + + +echo "Running:" +echo "lxterm /dev/ttyUSB1" +echo "Hit ctrl-c twice to bail" +echo +echo "If that lxterm doesn't connect try like this:" +echo "lxterm /dev/ttyUSB1 --speed=2e6" + +echo +echo "NOW CONNECTING" +echo + +#lxterm /dev/ttyUSB1 + +echo "no, really gonna try to load a kernel instead:" +echo "lxterm --images=/home/jebba/devel/FPGA/muh/jeboot.json /dev/ttyUSB1 --no-crc --speed=1e6" + diff --git a/scripts/forksand-jeboot-ecp5-litex-boards b/scripts/forksand-jeboot-ecp5-litex-boards new file mode 100755 index 0000000..f14a8e1 --- /dev/null +++ b/scripts/forksand-jeboot-ecp5-litex-boards @@ -0,0 +1,60 @@ +#!/bin/bash + +set -x +# Wt +cd /home/jebba/devel/FPGA/litex/litex-boards/litex_boards/official/targets + +rm -fr /home/jebba/devel/FPGA/litex/litex-boards/litex_boards/official/targets/soc_basesoc_versa_ecp5/ +rm -rf /home/jebba/devel/FPGA/litex/litex-boards/litex_boards/official/targets/soc_ethernetsoc_versa_ecp5/gateware/ + +echo +echo "NOW BUILDING" +echo + +# Build .svf +./versa_ecp5.py \ + --sys-clk-freq=60e6 \ + --gateware-toolchain=trellis \ + --gateware-toolchain-path=/usr/local \ + --cpu-type=vexriscv \ + --csr-csv=./csr_ecp5versa.csv \ + || exit + +# If you add/remove ethernet, also need to change .svf below +# --cpu-type=rocket +# --sys-clk-freq=60e6 \ +# --with-ethernet \ +# --cpu-variant=linux \ + + +exit 0 + +echo +echo "NOW FLASHING" +echo + +openocd \ + -f /home/jebba/devel/FPGA/muh/ecp5-versa5g.cfg \ + -c "transport select jtag; init; svf /home/jebba/devel/FPGA/litex/litex-boards/litex_boards/official/targets/soc_basesoc_versa_ecp5/gateware/top.svf; exit" \ + || exit +# No ethernet +# -c "transport select jtag; init; svf /home/jebba/devel/FPGA/litex/litex-boards/litex_boards/official/targets/soc_basesoc_versa_ecp5/gateware/top.svf; exit" \ +# With ethernet +# -c "transport select jtag; init; svf /home/jebba/devel/FPGA/litex/litex-boards/litex_boards/official/targets/soc_ethernetsoc_versa_ecp5/gateware/top.svf; exit" \ + + + + +echo "Running:" +echo "lxterm /dev/ttyUSB1" +echo "Hit ctrl-c twice to bail" +echo +echo "If that lxterm doesn't connect try like this:" +echo "lxterm /dev/ttyUSB1 --speed=2e6" + +echo +echo "NOW CONNECTING" +echo + +lxterm /dev/ttyUSB1 + diff --git a/scripts/forksand-jeboot-ecp5-litex-boards-gud b/scripts/forksand-jeboot-ecp5-litex-boards-gud new file mode 100755 index 0000000..c2b22d8 --- /dev/null +++ b/scripts/forksand-jeboot-ecp5-litex-boards-gud @@ -0,0 +1,56 @@ +#!/bin/bash + +set -x +# Wt +cd /home/jebba/devel/FPGA/litex/litex-boards/litex_boards/official/targets +#rm -f /home/jebba/devel/FPGA/litex/litex-boards/litex_boards/official/targets/soc_basesoc_versa_ecp5/gateware/top.svf +rm -fr /home/jebba/devel/FPGA/litex/litex-boards/litex_boards/official/targets/soc_basesoc_versa_ecp5/ +rm -rf /home/jebba/devel/FPGA/litex/litex-boards/litex_boards/official/targets/soc_ethernetsoc_versa_ecp5/gateware/ + +echo +echo "NOW BUILDING" +echo + +# Build .svf +./versa_ecp5.py \ + --gateware-toolchain=trellis \ + --gateware-toolchain-path=/usr/local \ + --cpu-type=vexriscv \ + --csr-csv=./csr_ecp5versa.csv \ + || exit + +# --cpu-type=rocket +# --sys-clk-freq=60e6 \ +# --with-ethernet \ +# --cpu-variant=linux \ + + +echo +echo "NOW FLASHING" +echo + +openocd \ + -f /home/jebba/devel/FPGA/muh/ecp5-versa5g.cfg \ + -c "transport select jtag; init; svf /home/jebba/devel/FPGA/litex/litex-boards/litex_boards/official/targets/soc_basesoc_versa_ecp5/gateware/top.svf; exit" \ + || exit +# No ethernet +# -c "transport select jtag; init; svf /home/jebba/devel/FPGA/litex/litex-boards/litex_boards/official/targets/soc_basesoc_versa_ecp5/gateware/top.svf; exit" \ +# With ethernet +# -c "transport select jtag; init; svf /home/jebba/devel/FPGA/litex/litex-boards/litex_boards/official/targets/soc_ethernetsoc_versa_ecp5/gateware/top.svf; exit" \ + + + + +echo "Running:" +echo "lxterm /dev/ttyUSB1" +echo "Hit ctrl-c twice to bail" +echo +echo "If that lxterm doesn't connect try like this:" +echo "lxterm /dev/ttyUSB1 --speed=2e6" + +echo +echo "NOW CONNECTING" +echo + +lxterm /dev/ttyUSB1 + diff --git a/scripts/forksand-jeboot-ecp5-litex-boards-gudder b/scripts/forksand-jeboot-ecp5-litex-boards-gudder new file mode 100755 index 0000000..c60ae73 --- /dev/null +++ b/scripts/forksand-jeboot-ecp5-litex-boards-gudder @@ -0,0 +1,57 @@ +#!/bin/bash + +set -x +# Wt +cd /home/jebba/devel/FPGA/litex/litex-boards/litex_boards/official/targets +#rm -f /home/jebba/devel/FPGA/litex/litex-boards/litex_boards/official/targets/soc_basesoc_versa_ecp5/gateware/top.svf +rm -fr /home/jebba/devel/FPGA/litex/litex-boards/litex_boards/official/targets/soc_basesoc_versa_ecp5/ +rm -rf /home/jebba/devel/FPGA/litex/litex-boards/litex_boards/official/targets/soc_ethernetsoc_versa_ecp5/gateware/ + +echo +echo "NOW BUILDING" +echo + +# Build .svf +./versa_ecp5.py \ + --sys-clk-freq=60e6 \ + --gateware-toolchain=trellis \ + --gateware-toolchain-path=/usr/local \ + --cpu-type=vexriscv \ + --csr-csv=./csr_ecp5versa.csv \ + || exit + +# --cpu-type=rocket +# --sys-clk-freq=60e6 \ +# --with-ethernet \ +# --cpu-variant=linux \ + + +echo +echo "NOW FLASHING" +echo + +openocd \ + -f /home/jebba/devel/FPGA/muh/ecp5-versa5g.cfg \ + -c "transport select jtag; init; svf /home/jebba/devel/FPGA/litex/litex-boards/litex_boards/official/targets/soc_basesoc_versa_ecp5/gateware/top.svf; exit" \ + || exit +# No ethernet +# -c "transport select jtag; init; svf /home/jebba/devel/FPGA/litex/litex-boards/litex_boards/official/targets/soc_basesoc_versa_ecp5/gateware/top.svf; exit" \ +# With ethernet +# -c "transport select jtag; init; svf /home/jebba/devel/FPGA/litex/litex-boards/litex_boards/official/targets/soc_ethernetsoc_versa_ecp5/gateware/top.svf; exit" \ + + + + +echo "Running:" +echo "lxterm /dev/ttyUSB1" +echo "Hit ctrl-c twice to bail" +echo +echo "If that lxterm doesn't connect try like this:" +echo "lxterm /dev/ttyUSB1 --speed=2e6" + +echo +echo "NOW CONNECTING" +echo + +lxterm /dev/ttyUSB1 + diff --git a/scripts/forksand-litex-build b/scripts/forksand-litex-build new file mode 100755 index 0000000..4d17a96 --- /dev/null +++ b/scripts/forksand-litex-build @@ -0,0 +1,17 @@ +#/bin/bash + +set -x + +cd ~/devel/FPGA/litex/litex/litex/boards/targets + +./versa_ecp5.py + --gateware-toolchain trellis + --csr-csv ./csr_ecp5versa.csv + --with-ethernet + --sys-clk-freq=60e6 + --cpu-type vexriscv + --cpu-variant linux + +exit 0 + + --cpu-type rocket diff --git a/scripts/forksand-lxterm b/scripts/forksand-lxterm new file mode 100755 index 0000000..10dd9f2 --- /dev/null +++ b/scripts/forksand-lxterm @@ -0,0 +1,8 @@ +#!/bin/bash + +set -x + +for i in /dev/ttyUSB1 +do echo $i + lxterm $i +done diff --git a/scripts/forksand-lxterm-speed b/scripts/forksand-lxterm-speed new file mode 100755 index 0000000..492e536 --- /dev/null +++ b/scripts/forksand-lxterm-speed @@ -0,0 +1,7 @@ +#!/bin/bash + +set -x + +#xterm /dev/USB1 --speed=2e6 +xterm /dev/USB1 --speed=1e6 + diff --git a/scripts/forksand-trellis-all b/scripts/forksand-trellis-all new file mode 100755 index 0000000..6666a82 --- /dev/null +++ b/scripts/forksand-trellis-all @@ -0,0 +1,495 @@ +#!/bin/bash +# +# This updates every repo, rebuilds everything. +# Creates: +# RISC-V 32-bit core running Linux with root filesystem for ECP5 FPGA. + +# Directory where everything is stored +FPGADIR=/home/jebba/devel/FPGA +# Directory of scripts +FPGASCRIPTS=$FPGADIR/muh +# Timestamp +FPGANOW=`date +%Y%m%d-%H%M%S` + +# Log script +exec > >(tee $FPGADIR/log/trellis-$FPGANOW) 2>>$FPGADIR/log/trellis-$FPGANOW + +set -x + +cd $FPGASCRIPTS || exit + +# Write log of current git commits +./forksand-fpga-git-commits-log + +################################### +# Update and build icestorm tools # +################################### +cd $FPGADIR || exit + +# Update Icestorm +echo "===================================== Update icestorm" +cd icestorm && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git status && \ +git log | head -1 | cut -f 2 -d " " && \ +git pull && \ +git submodule update && \ +make clean && \ +# 18 seconds: +make -j$(nproc) && \ +sudo make install || exit +cd .. + +# Update Pjtrellis +echo "===================================== Update pjtrellis" +cd prjtrellis && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git status && \ +git log | head -1 | cut -f 2 -d " " +git pull && \ +git submodule update && \ +cd libtrellis && \ +make clean && \ +cmake -DCMAKE_INSTALL_PREFIX=/usr/local . && \ +# 1 second: +make -j$(nproc) && \ +sudo make install || exit +cd ../.. + +# Update Nextpnr +echo "===================================== Update nextpnr" +cd nextpnr && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git status && \ +git log | head -1 | cut -f 2 -d " " +git pull && \ +git submodule update && \ +make clean && \ +cmake -DARCH=ecp5 -DCMAKE_INSTALL_PREFIX=/usr/local . && \ +# 4m40s: +make -j$(nproc) && \ +sudo make install || exit +cd .. + +# Update Yosys +echo "===================================== Update yosys" +cd yosys && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git status && \ +git log | head -1 | cut -f 2 -d " " +git pull && \ +git submodule update && \ +make clean && \ +YOABCREV=`grep ^ABCREV Makefile |cut -f 2 -d "=" | sed -e 's/ //g'` && \ +cd abc && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git pull && \ +git submodule update && \ +git checkout $YOABCREV && \ +# 4 seconds: +# XXX which file XXX +#make -j$(nproc) && \ +cd .. +make -j$(nproc) && \ +sudo make install || exit +cd .. + +# Update OpenOCD +echo "===================================== Update openocd" +cd openocd && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git status && \ +git log | head -1 | cut -f 2 -d " " +git pull && \ +git submodule update && \ +make clean && \ +# 13 seconds: +make && \ +sudo make install || exit +cd .. + +############### +# Build LiteX # +############### +cd $FPGADIR/litex + +# Update Buildroot +echo "===================================== Update buildroot" +cd buildroot && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git status && \ +git log | head -1 | cut -f 2 -d " " +git pull && \ +git submodule update && \ +make clean && \ +# XXX Use custom linux.config +cp -p $FPGADIR/PATCH/linux-fstrellis.config \ + $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/board/litex_vexriscv/linux-fstrellis.config +# XXX Set up rootfs overlay files defined here: +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/board/litex_vexriscv/rootfs_overlay +cp -a $FPGADIR/PATCH/rootfs_overlay \ + $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/board/litex_vexriscv/rootfs_overlay +# XXX Use custom defconfig +cp -p $FPGADIR/PATCH/litex_vexriscv_fstrellis_defconfig \ + $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/configs/litex_vexriscv_fstrellis_defconfig +make BR2_EXTERNAL=../linux-on-litex-vexriscv/buildroot/ litex_vexriscv_fstrellis_defconfig \ +# 5m16s: +make && \ +# XXX COPY OUTPUT +# XXX *output/images/* +# Since tftp server is remote, mount it locally for convenience: +sshfs -o reconnect sparkle:/srv/tftp/ /srv/tftp/ +cp -p output/images/Image /srv/tftp/Image && \ +cp -p output/images/rootfs.cpio /srv/tftp/rootfs.cpio && \ +cp -p output/images/rootfs.tar /srv/tftp/rootfs.tar && \ +# Where dtb dts ? ./linux-on-litex-vexriscv/buildroot/rv32.dtb + +cd .. + +# Update migen +echo "===================================== Update migen" +cd migen && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git status && \ +git log | head -1 | cut -f 2 -d " " +git pull && \ +git submodule update && \ +# 1 second: +./setup.py clean && ./setup.py build && ./setup.py install --user || exit +cd .. + +# Update litedram +echo "===================================== Update litedram" +cd litedram && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git status && \ +git log | head -1 | cut -f 2 -d " " +git pull && \ +git submodule update && \ +# 1 second: +./setup.py clean && ./setup.py build && ./setup.py install --user || exit +cd .. + +# Update liteeth +echo "===================================== Update liteeth" +cd liteeth && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git status && \ +git log | head -1 | cut -f 2 -d " " +git pull && \ +git submodule update && \ +# 1 second: +./setup.py clean && ./setup.py build && ./setup.py install --user || exit +cd .. + +# Update litepcie +echo "===================================== Update litepcie" +cd litepcie && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git status && \ +git log | head -1 | cut -f 2 -d " " +git pull && \ +git submodule update && \ +# 1 second: +./setup.py clean && ./setup.py build && ./setup.py install --user || exit +cd .. + +# Update litesdcard +echo "===================================== Update litesdcard" +cd litesdcard && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git status && \ +git log | head -1 | cut -f 2 -d " " +git pull && \ +git submodule update && \ +# 1 second: +./setup.py clean && ./setup.py build && ./setup.py install --user || exit +cd .. + +# Update litevideo +echo "===================================== Update litevideo" +cd litevideo && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git status && \ +git log | head -1 | cut -f 2 -d " " +git pull && \ +git submodule update && \ +# 1 second: +./setup.py clean && ./setup.py build && ./setup.py install --user || exit +cd .. + +# Update liteiclink +echo "===================================== Update liteiclink" +# XXX needed? +cd liteiclink && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git status && \ +git log | head -1 | cut -f 2 -d " " +git pull && \ +git submodule update && \ +# 1 second: +./setup.py clean && ./setup.py build && ./setup.py install --user || exit +cd .. + +# Update litejesd204b +echo "===================================== Update litejesd204b" +# XXX needed? +cd litejesd204b && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git status && \ +git log | head -1 | cut -f 2 -d " " +git pull && \ +git submodule update && \ +# 1 second: +./setup.py clean && ./setup.py build && ./setup.py install --user || exit +cd .. + +# Update litesata +echo "===================================== Update litesata" +# XXX needed? +cd litesata && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git status && \ +git log | head -1 | cut -f 2 -d " " +git pull && \ +git submodule update && \ +# 1 second: +./setup.py clean && ./setup.py build && ./setup.py install --user || exit +cd .. + +# Update litex-boards +echo "===================================== Update litex-boards" +# XXX BUILD +cd litex-boards && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git status && \ +git log | head -1 | cut -f 2 -d " " +git pull && \ +git submodule update && \ +# 1 second: +./setup.py clean && ./setup.py build && ./setup.py install --user || exit +cd .. + +# Update litex +echo "===================================== Update litex" +# XXX BUILD +cd litex && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git status && \ +git log | head -1 | cut -f 2 -d " " +git pull && \ +git submodule update && \ +# XXX need to patch: +# XXX MEMORY PATCH AND MORE HERE +#cp -p $FPGADIR/PATCH/litex-soc_core.py \ +# ./litex/soc/integration/soc_core.py && \ +# XXX +# Set memory in crufty way: XXX +#sed -i -e 's/main_ram_size = min(main_ram_size, 0x20000000) # FIXME: limit to 512MB for now/main_ram_size = min(main_ram_size, 0x40000000) # FIXME: limit to 1G for now/g' $FPGADIR/litex/litex/litex/soc/integration/soc_sdram.py && \ +#sed -i -e 's/main_ram_size = min(main_ram_size, 0x20000000) # FIXME: limit to 512MB for now/main_ram_size = min(main_ram_size, 0x30000000) # FIXME: limit to 768MB for now/g' $FPGADIR/litex/litex/litex/soc/integration/soc_sdram.py && \ +#sed -i -e 's///g' $FPGADIR/litex/litex/litex/soc/integration/soc_core.py +# BUILD VexRiscv.v HERE XXX +cd litex/soc/cores/cpu/vexriscv/verilog && \ +# Remove older builds +rm -f *.v && \ +# BUILD VEXRISCV +# 1m8s: +make && \ +cd ../../../../../.. && \ +# Build LiteX +# 7 seconds: +./setup.py clean && ./setup.py build && ./setup.py install --user && \ +# REVERT memory in crufty way: XXX +#sed -i -e 's/main_ram_size = min(main_ram_size, 0x40000000) # FIXME: limit to 1G for now/main_ram_size = min(main_ram_size, 0x20000000) # FIXME: limit to 512MB for now/g' $FPGADIR/litex/litex/litex/soc/integration/soc_sdram.py && \ +#sed -i -e 's/main_ram_size = min(main_ram_size, 0x30000000) # FIXME: limit to 768MB for now/main_ram_size = min(main_ram_size, 0x20000000) # FIXME: limit to 512MB for now/g' $FPGADIR/litex/litex/litex/soc/integration/soc_sdram.py && \ +cd .. && \ +##################### +# Build RISC-V Core # +##################### +# XXX This build is done in above LiteX subdir +# XXX So this is unused duplicate +# XXX Should this really be built here earlier??? +# $FPGADIR/litex/litex/litex/soc/cores/cpu/vexriscv/verilog +# +# Update Vexrisc-verilog +echo "===================================== Update vexrisc-verilog" +# XXX BUILD +cd Vexriscv-verilog && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git status && \ +git log | head -1 | cut -f 2 -d " " +git pull && \ +git submodule update && \ +# XXX clean thusly? +# 5 seconds: +sbt clean reload && \ +# XXX Just checkout VexRiscv_LinuxNoDspFmax ? +# sbt "runMain vexriscv.GenCoreDefault" +# 10 seconds: +sbt "runMain vexriscv.GenCoreDefault --externalInterruptArray=true --csrPluginConfig=linux-minimal" && \ +# XXX OUTPUT FILES: +# VexRiscv.v VexRiscv.yaml +cd .. + +######################## +# Build Linux on LiteX # +######################## + +# Update Linux on LiteX Vexriscv +echo "===================================== Update linux-on-litex-vexriscv" +# XXX BUILD +cd linux-on-litex-vexriscv && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git status && \ +git log | head -1 | cut -f 2 -d " " +git pull && \ +git submodule update && \ +# Clean +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/__pycache__/ && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/build && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/rv32.dtb && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/board/litex_vexriscv/linux-fstrellis.config && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/configs/litex_vexriscv_fstrellis_defconfig && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/emulator/*.d && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/emulator/*.o && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/emulator/emulator.bin && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/emulator/emulator.elf && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/prog/trellisboard.cfg && \ +# Checkout custom branch +#git checkout fs-trellis && \ +#git status && \ +#git log | head -1 | cut -f 2 -d " " +# XXX PATCH +# XXX set ramdisk_size=131072 +#sed -i -e 's/root=\/dev\/ram0 init=/root=\/dev\/ram0 ramdisk_size=65536 debug init=/g' json2dts.py +# root=nbd::[:][:] +# XXX +# sed -i -e 's/root=\/dev\/ram0 init=/root=nbd:192.168.1.100:8992 debug init=/g' json2dts.py +cp -p $FPGADIR/PATCH/json2dts.py $FPGADIR/litex/linux-on-litex-vexriscv + +# TrellisBoard Patch to make.py +patch -p0 < $FPGADIR/PATCH/0001-linuxonlitex-make.diff && \ +# TrellisBoard config +cp -p $FPGADIR/PATCH/0000-trellisboard.cfg prog/trellisboard.cfg && \ +# motd :) +cp -p $FPGADIR/PATCH/linux-on-litex-motd \ + buildroot/board/litex_vexriscv/rootfs_overlay/etc/motd && \ +# motd date +echo "motd date `date`" >> buildroot/board/litex_vexriscv/rootfs_overlay/etc/motd +# XXX BUILD +# XXX Add output of Vexrisc.v and buildroot etc from above +# +# +# Really need to fix: +# 2m1s: +# XXX It actually builds, then fails at the end on something else (?) +# This is now broken: XXX NOW OK +./make.py --board=trellisboard --build +# +# Temporary work around: +#cd $FPGADIR/litex/litex-boards/litex_boards/partner/targets +#rm -rf soc_ethernetsoc_trellisboard +#./trellisboard.py \ +# --with-ethernet \ +# --sys-clk-freq=75e6 \ +# --gateware-toolchain=trellis \ +# --gateware-toolchain-path=/usr/local \ +# --cpu-type=vexriscv \ +# --cpu-variant=linux+no-dsp \ +# --csr-csv=./csr_trellisboard.csv +# +# +# +# +# +# XXX extra cruft +#cd ~/FPGADIR/litex/linux-on-litex-vexriscv && \ +## Now comment out the line that fails in make.py and rerun to get rest of build... +#sed -i -e 's/builder.build()/#builder.build()/g' make.py && \ +#./make.py --board=trellisboard --build && \ +# +# +# +# +# XXX Copy to tftp server 1 file needed ? +cp -p buildroot/rv32.dtb /srv/tftp/rv32.dtb && \ +# XXX copy to tftp server emulator.bin +cp -p emulator/emulator.bin /srv/tftp/emulator.bin && \ +# +# +# +# +# Load image on FPGA +# XXX busted: +./make.py --board=trellisboard --load && \ +# Use this to flash since make.py broken: +#cd $FPGADIR +#openocd \ +# -f litex/linux-on-litex-vexriscv/prog/trellisboard.cfg \ +# -c "init; svf litex/litex-boards/litex_boards/partner/targets/soc_ethernetsoc_trellisboard/gateware/top.svf ; exit" +## -c "init; svf litex/linux-on-litex-vexriscv/build/trellisboard/gateware/top.svf ; exit" +cd .. +###################### +# Load image on FPGA # +###################### +# Done above +# openocd +################### +# Connect to FPGA # +################### +# lxterm +# lxterm /dev/ttyUSB1 +# lxterm /dev/ttyUSB1 --speed=2e6 +# lxterm /dev/ttyUSB1 --speed=1e6 +echo "Connect to FPGA thusly:" && \ +echo "lxterm /dev/ttyUSB1 --speed=1e6" && \ +lxterm /dev/ttyUSB1 --speed=1e6 +lxterm /dev/ttyUSB2 --speed=1e6 +######## +# MISC # +######## +# Update GCC toolchain +####### +# END # +####### +exit 0 diff --git a/scripts/forksand-trellis-buildroot b/scripts/forksand-trellis-buildroot new file mode 100755 index 0000000..904954c --- /dev/null +++ b/scripts/forksand-trellis-buildroot @@ -0,0 +1,76 @@ +#!/bin/bash +# +# Just update buildroot + +# config kernel +# cd /home/jebba/devel/FPGA/litex/buildroot/output/build/linux-5.0.13 +# make ARCH=riscv CROSS_COMPILE="/home/jebba/devel/FPGA/litex/buildroot/output/host/bin/riscv32-buildroot-linux-gnu-" menuconfig + + +# Directory where everything is stored +FPGADIR=/home/jebba/devel/FPGA +# Directory of scripts +FPGASCRIPTS=$FPGADIR/muh +# Timestamp +FPGANOW=`date +%Y%m%d-%H%M%S` + +# Log script +exec > >(tee $FPGADIR/log/trellis-buildroot-$FPGANOW) 2>>$FPGADIR/log/trellis-buildroot-$FPGANOW + +set -x + +############### +# Build LiteX # +############### +cd $FPGADIR/litex + +# Update Buildroot +echo "===================================== Build buildroot" +cd buildroot && \ +# XXX Use custom linux.config +cp -p $FPGADIR/PATCH/linux-fstrellis.config \ + $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/board/litex_vexriscv/linux-fstrellis.config +# XXX Set up rootfs overlay files defined here: +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/board/litex_vexriscv/rootfs_overlay +cp -a $FPGADIR/PATCH/rootfs_overlay \ + $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/board/litex_vexriscv/rootfs_overlay +# XXX Use custom defconfig +cp -p $FPGADIR/PATCH/litex_vexriscv_fstrellis_defconfig \ + $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/configs/litex_vexriscv_fstrellis_defconfig +make BR2_EXTERNAL=../linux-on-litex-vexriscv/buildroot/ litex_vexriscv_fstrellis_defconfig \ +# 5m16s: +make && \ +# XXX COPY OUTPUT +# XXX *output/images/* +# Since tftp server is remote, mount it locally for convenience: +sshfs -o reconnect sparkle:/srv/tftp/ /srv/tftp/ +cp -p output/images/Image /srv/tftp/Image && \ +cp -p output/images/rootfs.cpio /srv/tftp/rootfs.cpio && \ +cp -p output/images/rootfs.tar /srv/tftp/rootfs.tar && \ +# Where dtb dts ? ./linux-on-litex-vexriscv/buildroot/rv32.dtb + +################## +# Linux on LiteX # +################## + +cd $FPGADIR/litex/linux-on-litex-vexriscv +# Load image on FPGA +cp -p $FPGADIR/PATCH/json2dts.py $FPGADIR/litex/linux-on-litex-vexriscv +# XXX +./make.py --board=trellisboard --load + +################### +# Connect to FPGA # +################### +# lxterm +# lxterm /dev/ttyUSB1 +# lxterm /dev/ttyUSB1 --speed=2e6 +# lxterm /dev/ttyUSB1 --speed=1e6 +echo "Connect to FPGA thusly:" && \ +echo "lxterm /dev/ttyUSB1 --speed=1e6" && \ +echo "lxterm /dev/ttyUSB2 --speed=1e6" && \ +#lxterm /dev/ttyUSB1 --speed=1e6 +#lxterm /dev/ttyUSB2 --speed=1e6 + +exit 0 + diff --git a/scripts/forksand-trellis-buildroot-all b/scripts/forksand-trellis-buildroot-all new file mode 100755 index 0000000..66280c6 --- /dev/null +++ b/scripts/forksand-trellis-buildroot-all @@ -0,0 +1,88 @@ +#!/bin/bash +# +# Just update buildroot + + + +# config kernel +# cd /home/jebba/devel/FPGA/litex/buildroot/output/build/linux-5.0.13 +# make ARCH=riscv CROSS_COMPILE="/home/jebba/devel/FPGA/litex/buildroot/output/host/bin/riscv32-buildroot-linux-gnu-" menuconfig + + +# Directory where everything is stored +FPGADIR=/home/jebba/devel/FPGA +# Directory of scripts +FPGASCRIPTS=$FPGADIR/muh +# Timestamp +FPGANOW=`date +%Y%m%d-%H%M%S` + +# Log script +exec > >(tee $FPGADIR/log/trellis-buildroot-$FPGANOW) 2>>$FPGADIR/log/trellis-buildroot-$FPGANOW + +set -x + +cd $FPGASCRIPTS || exit + +############### +# Build LiteX # +############### +cd $FPGADIR/litex + +# Update Buildroot +echo "===================================== Update buildroot" +cd buildroot && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git status && \ +git log | head -1 | cut -f 2 -d " " +git pull && \ +git submodule update && \ +make clean && \ +# XXX Use custom linux.config +cp -p $FPGADIR/PATCH/linux-fstrellis.config \ + $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/board/litex_vexriscv/linux-fstrellis.config +# XXX Set up rootfs overlay files defined here: +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/board/litex_vexriscv/rootfs_overlay +cp -a $FPGADIR/PATCH/rootfs_overlay \ + $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/board/litex_vexriscv/rootfs_overlay +# XXX Use custom defconfig +cp -p $FPGADIR/PATCH/litex_vexriscv_fstrellis_defconfig \ + $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/configs/litex_vexriscv_fstrellis_defconfig +make BR2_EXTERNAL=../linux-on-litex-vexriscv/buildroot/ litex_vexriscv_fstrellis_defconfig \ +# 5m16s: +make && \ +# XXX COPY OUTPUT +# XXX *output/images/* +# Since tftp server is remote, mount it locally for convenience: +sshfs -o reconnect sparkle:/srv/tftp/ /srv/tftp/ +cp -p output/images/Image /srv/tftp/Image && \ +cp -p output/images/rootfs.cpio /srv/tftp/rootfs.cpio && \ +cp -p output/images/rootfs.tar /srv/tftp/rootfs.tar && \ +# Where dtb dts ? ./linux-on-litex-vexriscv/buildroot/rv32.dtb + +################## +# Linux on LiteX # +################## + +cd $FPGADIR/litex/linux-on-litex-vexriscv +# Load image on FPGA +cp -p $FPGADIR/PATCH/json2dts.py $FPGADIR/litex/linux-on-litex-vexriscv +# XXX +./make.py --board=trellisboard --load + +################### +# Connect to FPGA # +################### +# lxterm +# lxterm /dev/ttyUSB1 +# lxterm /dev/ttyUSB1 --speed=2e6 +# lxterm /dev/ttyUSB1 --speed=1e6 +echo "Connect to FPGA thusly:" && \ +echo "lxterm /dev/ttyUSB1 --speed=1e6" && \ +echo "lxterm /dev/ttyUSB2 --speed=1e6" && \ +#lxterm /dev/ttyUSB1 --speed=1e6 +#lxterm /dev/ttyUSB2 --speed=1e6 + +exit 0 + diff --git a/scripts/forksand-trellis-kernel-root b/scripts/forksand-trellis-kernel-root new file mode 100755 index 0000000..912dcc0 --- /dev/null +++ b/scripts/forksand-trellis-kernel-root @@ -0,0 +1,171 @@ +#!/bin/bash +# +# Creates: +# RISC-V 32-bit core running Linux with root filesystem for ECP5 FPGA. + +# Directory where everything is stored +FPGADIR=/home/jebba/devel/FPGA +# Directory of scripts +FPGASCRIPTS=$FPGADIR/muh +# Timestamp +FPGANOW=`date +%Y%m%d-%H%M%S` + +# Log script +exec > >(tee $FPGADIR/log/trellis-vex-kernel-root-$FPGANOW) 2>>$FPGADIR/log/trellis-vex-kernel-root-$FPGANOW + +set -x + +cd $FPGASCRIPTS || exit + +############### +# Build LiteX # +############### +cd $FPGADIR/litex + +# Update Buildroot +echo "===================================== Update buildroot" +cd buildroot && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git status && \ +git log | head -1 | cut -f 2 -d " " +#git pull && \ +#git submodule update && \ +make clean && \ +# XXX Use custom linux.config +cp -p $FPGADIR/PATCH/linux-fstrellis.config \ + $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/board/litex_vexriscv/linux-fstrellis.config +# XXX Set up rootfs overlay files defined here: +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/board/litex_vexriscv/rootfs_overlay +cp -a $FPGADIR/PATCH/rootfs_overlay \ + $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/board/litex_vexriscv/rootfs_overlay +# XXX Use custom defconfig +cp -p $FPGADIR/PATCH/litex_vexriscv_fstrellis_defconfig \ + $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/configs/litex_vexriscv_fstrellis_defconfig +make BR2_EXTERNAL=../linux-on-litex-vexriscv/buildroot/ litex_vexriscv_fstrellis_defconfig \ +# 5m16s: +make && \ +# XXX COPY OUTPUT +# XXX *output/images/* +# Since tftp server is remote, mount it locally for convenience: +sshfs -o reconnect sparkle:/srv/tftp/ /srv/tftp/ +cp -p output/images/Image /srv/tftp/Image && \ +cp -p output/images/rootfs.cpio /srv/tftp/rootfs.cpio && \ +cp -p output/images/rootfs.tar /srv/tftp/rootfs.tar && \ +# Where dtb dts ? ./linux-on-litex-vexriscv/buildroot/rv32.dtb + +cd .. + +# Update litex +echo "===================================== Update litex" +# XXX BUILD +cd litex && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git status && \ +git log | head -1 | cut -f 2 -d " " +#git pull && \ +#git submodule update && \ +# BUILD VexRiscv.v HERE XXX +cd litex/soc/cores/cpu/vexriscv/verilog && \ +# Remove older builds +rm -f *.v && \ +# BUILD VEXRISCV +# 1m8s: +make && \ +cd ../../../../../.. && \ +# Build LiteX +# 7 seconds: +./setup.py clean && ./setup.py build && ./setup.py install --user && \ +cd .. && \ +##################### +# Build RISC-V Core # +##################### +# XXX This build is done in above LiteX subdir +# XXX So this is unused duplicate +# XXX Should this really be built here earlier??? +# $FPGADIR/litex/litex/litex/soc/cores/cpu/vexriscv/verilog +# +# Update Vexrisc-verilog +echo "===================================== Update vexrisc-verilog" +# XXX BUILD +cd Vexriscv-verilog && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git status && \ +git log | head -1 | cut -f 2 -d " " +#git pull && \ +#git submodule update && \ +# XXX clean thusly? +# 5 seconds: +sbt clean reload && \ +# XXX Just checkout VexRiscv_LinuxNoDspFmax ? +# sbt "runMain vexriscv.GenCoreDefault" +# 10 seconds: +sbt "runMain vexriscv.GenCoreDefault --externalInterruptArray=true --csrPluginConfig=linux-minimal" && \ +# XXX OUTPUT FILES: +# VexRiscv.v VexRiscv.yaml +cd .. + +######################## +# Build Linux on LiteX # +######################## + +# Update Linux on LiteX Vexriscv +echo "===================================== Update linux-on-litex-vexriscv" +# XXX BUILD +cd linux-on-litex-vexriscv && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git status && \ +git log | head -1 | cut -f 2 -d " " +#git pull && \ +#git submodule update && \ +# Clean +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/__pycache__/ && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/build && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/rv32.dtb && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/board/litex_vexriscv/linux-fstrellis.config && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/configs/litex_vexriscv_fstrellis_defconfig && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/emulator/*.d && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/emulator/*.o && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/emulator/emulator.bin && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/emulator/emulator.elf && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/prog/trellisboard.cfg && \ +# Custom config, set kernel boot line in this script +cp -p $FPGADIR/PATCH/json2dts.py $FPGADIR/litex/linux-on-litex-vexriscv + +# TrellisBoard Patch to make.py +patch -p0 < $FPGADIR/PATCH/0001-linuxonlitex-make.diff && \ +# TrellisBoard config +cp -p $FPGADIR/PATCH/0000-trellisboard.cfg prog/trellisboard.cfg && \ +# motd :) +cp -p $FPGADIR/PATCH/linux-on-litex-motd \ + buildroot/board/litex_vexriscv/rootfs_overlay/etc/motd && \ +# motd date +echo "motd date `date`" >> buildroot/board/litex_vexriscv/rootfs_overlay/etc/motd +# XXX BUILD +# XXX Add output of Vexrisc.v and buildroot etc from above +# +# +# 2m1s: +./make.py --board=trellisboard --build + +# XXX Copy to tftp server 1 file needed ? +cp -p buildroot/rv32.dtb /srv/tftp/rv32.dtb && \ +# XXX copy to tftp server emulator.bin +cp -p emulator/emulator.bin /srv/tftp/emulator.bin && \ +# +# +# Load image on FPGA +# XXX busted: +./make.py --board=trellisboard --load && \ +cd .. +echo "Connect to FPGA thusly:" && \ +echo "lxterm /dev/ttyUSB1 --speed=1e6" && \ +exit 0 + diff --git a/scripts/forksand-trellis-linux-litex b/scripts/forksand-trellis-linux-litex new file mode 100755 index 0000000..695a3a7 --- /dev/null +++ b/scripts/forksand-trellis-linux-litex @@ -0,0 +1,19 @@ +#!/bin/bash + +rm -rf /home/jebba/devel/FPGA/litex/linux-on-litex-vexriscv/build + +cd /home/jebba/devel/FPGA/litex/linux-on-litex-vexriscv/ +./make.py --board=trellisboard --build +./make.py --board=trellisboard --load + +lxterm /dev/ttyUSB1 --speed=1e6 + +#openocd -f /home/jebba/devel/FPGA/litex/linux-on-litex-vexriscv/prog/trellisboard.cfg -c "init; svf /home/jebba/devel/FPGA/litex/linux-on-litex-vexriscv/build/trellisboard/gateware/top.svf ; exit" + +#echo "To boot Linux from SLOW serial run:" +#echo "lxterm --images=/home/jebba/devel/FPGA/muh/jeboot.json /dev/ttyUSB1 --no-crc --speed=1e6" + +#echo "To just connect run, then TFTP boot is fastest:" +#echo "lxterm /dev/ttyUSB1 --speed=1e6" + + diff --git a/scripts/forksand-trellis-litex b/scripts/forksand-trellis-litex new file mode 100755 index 0000000..5ab4095 --- /dev/null +++ b/scripts/forksand-trellis-litex @@ -0,0 +1,15 @@ +#!/bin/bash + +set -x + +rm -rf /home/jebba/devel/FPGA/litex/litex-boards/litex_boards/partner/targets/soc_basesoc_trellisboard + +cd /home/jebba/devel/FPGA/litex/litex-boards/litex_boards/partner/targets + +./trellisboard.py --gateware-toolchain trellis + + +openocd -f /home/jebba/devel/FPGA/muh/trellisboard.cfg -c "init; svf /home/jebba/devel/FPGA/litex/litex-boards/litex_boards/partner/targets/soc_basesoc_trellisboard/gateware/top.svf ; exit" + +lxterm /dev/ttyUSB1 + diff --git a/scripts/forksand-trellis-litex_boards b/scripts/forksand-trellis-litex_boards new file mode 100755 index 0000000..5c9c741 --- /dev/null +++ b/scripts/forksand-trellis-litex_boards @@ -0,0 +1,48 @@ +#!/bin/bash + +set -x + +cd ~/devel/FPGA/litex/litex-boards/litex_boards/partner/targets + +./trellisboard.py \ + --with-ethernet \ + --sys-clk-freq=75e6 \ + --gateware-toolchain=trellis \ + --gateware-toolchain-path=/usr/local \ + --cpu-type=vexriscv \ + --cpu-variant=linux+no-dsp \ + --csr-csv=./csr_trellisboard.csv + +exit 0 +openocd \ + -f ~/devel/FPGA/muh/trellisboard.cfg \ + -c "init; svf soc_ethernetsoc_trellisboard/gateware/top.svf ; exit" + +#lxterm /dev/ttyUSB1 --speed=2e6 +#lxterm /dev/ttyUSB1 --speed=1e6 +lxterm /dev/ttyUSB1 + +exit 0 + +TypeError: __init__() got multiple values for keyword argument 'integrated_rom_size' + --integrated-rom-size=32768 \ + --integrated-rom-size=1 \ + --integrated-rom-size=0 \ + +ValueError: Memory region conflict between main_ram and main_ram + --integrated-main-ram-size=131072 \ + --integrated-main-ram-size=32768 \ + --integrated-main-ram-size=536870912 \ + --integrated-main-ram-size=10 \ + --integrated-main-ram-size=9 \ + --integrated-main-ram-size=8 \ + + assert(min < max) + --integrated-main-ram-size=1 \ + --integrated-main-ram-size=2 \ + --integrated-main-ram-size=3 \ + --integrated-main-ram-size=4 \ + --integrated-main-ram-size=7 \ + +BUILDS: + --integrated-main-ram-size=0 \ diff --git a/scripts/forksand-trellis-load-best b/scripts/forksand-trellis-load-best new file mode 100755 index 0000000..9757fa3 --- /dev/null +++ b/scripts/forksand-trellis-load-best @@ -0,0 +1,18 @@ +#!/bin/bash + +set -x + +# Set up tftp: +cp -p /home/jebba/devel/FPGA/muh/BEST/tftp/* /srv/tftp/ + +# Set up SVF +cp -p /home/jebba/devel/FPGA/muh/BEST/SVF/top.svf + +openocd \ +-f /home/jebba/devel/FPGA/muh/BEST/openocd/trellisboard.cfg \ +-c "init; svf /home/jebba/devel/FPGA/muh/BEST/SVF/top.svf ; exit" + +echo "lxterm /dev/ttyUSB1 --speed=1e6" + +lxterm /dev/ttyUSB2 --speed=1e6 + diff --git a/scripts/forksand-trellis-load-test b/scripts/forksand-trellis-load-test new file mode 100755 index 0000000..90f4565 --- /dev/null +++ b/scripts/forksand-trellis-load-test @@ -0,0 +1,18 @@ +#!/bin/bash + +set -x + +# Set up tftp: +cp -p /home/jebba/devel/FPGA/muh/TEST/tftp/* /srv/tftp/ + +# Set up SVF +cp -p /home/jebba/devel/FPGA/muh/TEST/SVF/top.svf + +openocd \ +-f /home/jebba/devel/FPGA/muh/TEST/openocd/trellisboard.cfg \ +-c "init; svf /home/jebba/devel/FPGA/muh/TEST/SVF/top.svf ; exit" + +echo "lxterm /dev/ttyUSB1 --speed=1e6" + +lxterm /dev/ttyUSB2 --speed=1e6 + diff --git a/scripts/forksand-trellis-rocket b/scripts/forksand-trellis-rocket new file mode 100755 index 0000000..320546f --- /dev/null +++ b/scripts/forksand-trellis-rocket @@ -0,0 +1,38 @@ +#!/bin/bash + +FPGADIR=/home/jebba/devel/FPGA +# Directory of scripts +FPGASCRIPTS=$FPGADIR/muh +# Timestamp +FPGANOW=`date +%Y%m%d-%H%M%S` + +# Log script +exec > >(tee $FPGADIR/log/trellis-rocket-$FPGANOW) 2>>$FPGADIR/log/trellis-rocket-$FPGANOW + +set -x + +cd $FPGADIR/litex/litex-boards/litex_boards/partner/targets + +rm -rf soc_ethernetsoc_trellisboard + +./trellisboard.py \ + --with-ethernet \ + --sys-clk-freq=60e6 \ + --gateware-toolchain=trellis \ + --gateware-toolchain-path=/usr/local \ + --cpu-type=rocket \ + --cpu-variant=linux \ + --csr-csv=./csr_trellisboard.csv + +# --sys-clk-freq=75e6 \ + + +cd $FPGADIR/litex/litex-boards/litex_boards/partner/targets/soc_ethernetsoc_trellisboard/gateware + +openocd \ + -f $FPGADIR/litex/linux-on-litex-vexriscv/prog/trellisboard.cfg \ + -c "init; svf top.svf ; exit" + + +echo "lxterm /dev/ttyUSB2 --speed=1e6" + diff --git a/scripts/forksand-trellis-simple b/scripts/forksand-trellis-simple new file mode 100755 index 0000000..13e6eb3 --- /dev/null +++ b/scripts/forksand-trellis-simple @@ -0,0 +1,6 @@ +#!/bin/bash + +set -x + +openocd -f /home/jebba/devel/FPGA/muh/trellisboard.cfg -c "init; svf /home/jebba/devel/forksand/fs-TrellisBoard/gateware/simple/demo.svf ; exit" + diff --git a/scripts/forksand-trellis-vex-kernel-root b/scripts/forksand-trellis-vex-kernel-root new file mode 100755 index 0000000..3097e91 --- /dev/null +++ b/scripts/forksand-trellis-vex-kernel-root @@ -0,0 +1,112 @@ +#!/bin/bash +# +# Creates: +# RISC-V 32-bit core running Linux with root filesystem for ECP5 FPGA. + +# Directory where everything is stored +FPGADIR=/home/jebba/devel/FPGA +# Directory of scripts +FPGASCRIPTS=$FPGADIR/muh +# Timestamp +FPGANOW=`date +%Y%m%d-%H%M%S` + +# Log script +exec > >(tee $FPGADIR/log/trellis-kernel-root-$FPGANOW) 2>>$FPGADIR/log/trellis-kernel-root-$FPGANOW + +set -x + +cd $FPGASCRIPTS || exit + +############### +# Build LiteX # +############### +cd $FPGADIR/litex + +# Update Buildroot +echo "===================================== Update buildroot" +cd buildroot && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git status && \ +git log | head -1 | cut -f 2 -d " " +#git pull && \ +#git submodule update && \ +make clean && \ +# XXX Use custom linux.config +cp -p $FPGADIR/PATCH/linux-fstrellis.config \ + $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/board/litex_vexriscv/linux-fstrellis.config +# XXX Set up rootfs overlay files defined here: +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/board/litex_vexriscv/rootfs_overlay +cp -a $FPGADIR/PATCH/rootfs_overlay \ + $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/board/litex_vexriscv/rootfs_overlay +# XXX Use custom defconfig +cp -p $FPGADIR/PATCH/litex_vexriscv_fstrellis_defconfig \ + $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/configs/litex_vexriscv_fstrellis_defconfig +make BR2_EXTERNAL=../linux-on-litex-vexriscv/buildroot/ litex_vexriscv_fstrellis_defconfig \ +# 5m16s: +make && \ +# XXX COPY OUTPUT +# XXX *output/images/* +# Since tftp server is remote, mount it locally for convenience: +sshfs -o reconnect sparkle:/srv/tftp/ /srv/tftp/ +cp -p output/images/Image /srv/tftp/Image && \ +cp -p output/images/rootfs.cpio /srv/tftp/rootfs.cpio && \ +cp -p output/images/rootfs.tar /srv/tftp/rootfs.tar && \ +# Where dtb dts ? ./linux-on-litex-vexriscv/buildroot/rv32.dtb + +cd .. + +######################## +# Build Linux on LiteX # +######################## + +# Update Linux on LiteX Vexriscv +echo "===================================== Update linux-on-litex-vexriscv" +# XXX BUILD +cd linux-on-litex-vexriscv && \ +git branch -a && \ +git checkout master && \ +git reset --hard HEAD && \ +git status && \ +git log | head -1 | cut -f 2 -d " " +#git pull && \ +#git submodule update && \ +# Clean +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/__pycache__/ && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/build && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/rv32.dtb && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/board/litex_vexriscv/linux-fstrellis.config && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/buildroot/configs/litex_vexriscv_fstrellis_defconfig && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/emulator/*.d && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/emulator/*.o && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/emulator/emulator.bin && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/emulator/emulator.elf && \ +rm -rf $FPGADIR/litex/linux-on-litex-vexriscv/prog/trellisboard.cfg && \ +# Custom config, set kernel boot line in this script +cp -p $FPGADIR/PATCH/json2dts.py $FPGADIR/litex/linux-on-litex-vexriscv + +# TrellisBoard Patch to make.py +patch -p0 < $FPGADIR/PATCH/0001-linuxonlitex-make.diff && \ +# TrellisBoard config +cp -p $FPGADIR/PATCH/0000-trellisboard.cfg prog/trellisboard.cfg && \ +# motd :) +cp -p $FPGADIR/PATCH/linux-on-litex-motd \ + buildroot/board/litex_vexriscv/rootfs_overlay/etc/motd && \ +# motd date +echo "motd date `date`" >> buildroot/board/litex_vexriscv/rootfs_overlay/etc/motd +# 2m1s: +./make.py --board=trellisboard --build + +# XXX Copy to tftp server 1 file needed ? +cp -p buildroot/rv32.dtb /srv/tftp/rv32.dtb && \ +# XXX copy to tftp server emulator.bin +cp -p emulator/emulator.bin /srv/tftp/emulator.bin && \ +# +# Load image on FPGA +./make.py --board=trellisboard --load && \ +cd .. +echo "Connect to FPGA thusly:" && \ +echo "lxterm /dev/ttyUSB1 --speed=1e6" && \ +exit 0 + diff --git a/scripts/forksand-trellis-vexriscv b/scripts/forksand-trellis-vexriscv new file mode 100755 index 0000000..fe63030 --- /dev/null +++ b/scripts/forksand-trellis-vexriscv @@ -0,0 +1,42 @@ +#!/bin/bash + +FPGADIR=/home/jebba/devel/FPGA +# Directory of scripts +FPGASCRIPTS=$FPGADIR/muh +# Timestamp +FPGANOW=`date +%Y%m%d-%H%M%S` + +# Log script +exec > >(tee $FPGADIR/log/trellis-vexriscv-$FPGANOW) 2>>$FPGADIR/log/trellis-vexriscv-$FPGANOW + +set -x + +cd $FPGADIR/litex/litex-boards/litex_boards/partner/targets + +rm -rf soc_ethernetsoc_trellisboard + +./trellisboard.py \ + --with-ethernet \ + --sys-clk-freq=75e6 \ + --gateware-toolchain=trellis \ + --gateware-toolchain-path=/usr/local \ + --cpu-type=vexriscv \ + --cpu-variant=linux+no-dsp \ + --csr-csv=./csr_trellisboard.csv + + +cd $FPGADIR/litex/litex-boards/litex_boards/partner/targets/soc_ethernetsoc_trellisboard/gateware + +openocd \ + -f $FPGADIR/litex/linux-on-litex-vexriscv/prog/trellisboard.cfg \ + -c "init; svf top.svf ; exit" + + +echo "lxterm /dev/ttyUSB2 --speed=1e6" +echo "lxterm /dev/ttyUSB2 --speed=2e6" +echo "lxterm /dev/ttyUSB2 --speed=115200" +echo "lxterm /dev/ttyUSB2" + +exit 0 + + diff --git a/scripts/forksand-trellis-vexriscv-load b/scripts/forksand-trellis-vexriscv-load new file mode 100755 index 0000000..35f1f89 --- /dev/null +++ b/scripts/forksand-trellis-vexriscv-load @@ -0,0 +1,29 @@ +#!/bin/bash +# +# Directory where everything is stored +FPGADIR=/home/jebba/devel/FPGA +# Timestamp +FPGANOW=`date +%Y%m%d-%H%M%S` + +# Log script +exec > >(tee $FPGADIR/log/trellis-vexriscv-load-$FPGANOW) 2>>$FPGADIR/log/trellis-vexriscv-load-$FPGANOW + +set -x + +####################### +# Load Linux on LiteX # +####################### +cd $FPGADIR/litex/linux-on-litex-vexriscv + +echo "===================================== Update linux-on-litex-vexriscv" +# Load image on FPGA +./make.py --board=trellisboard --load + +echo "Connect to FPGA thusly:" +echo "lxterm /dev/ttyUSB1 --speed=1e6" +echo "lxterm /dev/ttyUSB2 --speed=1e6" +lxterm /dev/ttyUSB1 --speed=1e6 +#lxterm /dev/ttyUSB2 --speed=1e6 + +exit 0 + diff --git a/scripts/forksand-trellis-vexriscv-make b/scripts/forksand-trellis-vexriscv-make new file mode 100755 index 0000000..4ebb841 --- /dev/null +++ b/scripts/forksand-trellis-vexriscv-make @@ -0,0 +1,27 @@ +#!/bin/bash +# +# Directory where everything is stored +FPGADIR=/home/jebba/devel/FPGA +# Timestamp +FPGANOW=`date +%Y%m%d-%H%M%S` + +# Log script +exec > >(tee $FPGADIR/log/trellis-vexriscv-load-$FPGANOW) 2>>$FPGADIR/log/trellis-vexriscv-load-$FPGANOW + +set -x + +####################### +# Load Linux on LiteX # +####################### +cd $FPGADIR/litex/linux-on-litex-vexriscv + +echo "===================================== Update linux-on-litex-vexriscv" + +# use custom json2dts.py that sets kernel boot line +cp -p $FPGADIR/PATCH/json2dts.py $FPGADIR/litex/linux-on-litex-vexriscv + +# make image on FPGA +./make.py --board=trellisboard --build + +exit 0 + diff --git a/scripts/forksand-trellis-vexriscv-openocd b/scripts/forksand-trellis-vexriscv-openocd new file mode 100755 index 0000000..da6de95 --- /dev/null +++ b/scripts/forksand-trellis-vexriscv-openocd @@ -0,0 +1,22 @@ +#!/bin/bash + +FPGADIR=/home/jebba/devel/FPGA +# Directory of scripts +FPGASCRIPTS=$FPGADIR/muh +# Timestamp +FPGANOW=`date +%Y%m%d-%H%M%S` + +# Log script +#exec > >(tee $FPGADIR/log/trellis-vexriscv-$FPGANOW) 2>>$FPGADIR/log/trellis-vexriscv-$FPGANOW + +set -x + +cd $FPGADIR/litex/litex-boards/litex_boards/partner/targets/soc_ethernetsoc_trellisboard/gateware + +openocd \ + -f $FPGADIR/litex/linux-on-litex-vexriscv/prog/trellisboard.cfg \ + -c "init; svf top.svf ; exit" + + +echo "lxterm /dev/ttyUSB2 --speed=1e6" + diff --git a/scripts/forksand-ulx3s-build b/scripts/forksand-ulx3s-build new file mode 100755 index 0000000..616f108 --- /dev/null +++ b/scripts/forksand-ulx3s-build @@ -0,0 +1,48 @@ +#!/bin/bash + +# Directory where everything is stored +FPGADIR=/home/jebba/devel/FPGA +# Directory of scripts +FPGASCRIPTS=$FPGADIR/muh +# Timestamp +FPGANOW=`date +%Y%m%d-%H%M%S` + +# Log script +exec > >(tee $FPGADIR/log/ulx3s-$FPGANOW) 2>>$FPGADIR/log/ulx3s-$FPGANOW + +set -x +cd $FPGADIR/litex/litex-boards/litex_boards/partner/targets + +./ulx3s.py \ + --gateware-toolchain=trellis \ + --gateware-toolchain-path=/usr/local \ + --device=LFE5UM-85F \ + --sys-clk-freq=50e6 \ + --cpu-type=vexriscv \ + --cpu-variant=linux+no-dsp \ + --csr-csv=./csr_ulx3s.csv + + +# ujprog $FPGADIR/litex/litex-boards/litex_boards/partner/targets/soc_basesoc_ulx3s/gateware/top.svf + +exit 0 + +# Flash mofo: +openocd \ + -f $FPGADIR/PATCH/ulx3s.cfg \ + -c "init; svf soc_basesoc_ulx3s/gateware/top.svf ; exit" + + + +exit 0 + + --device=LFE5U-85F \ + -f $FPGADIR/litex/linux-on-litex-vexriscv/prog/ulx3s.cfg \ + +# + --sdram-module SDRAM_MODULE + SDRAM module: MT48LC16M16, AS4C32M16 or AS4C16M16 + (default=MT48LC16M16) + +# +lxterm /dev/ttyUSB0 --speed=1e6 diff --git a/scripts/forksand-versa5-rocket b/scripts/forksand-versa5-rocket new file mode 100755 index 0000000..30833aa --- /dev/null +++ b/scripts/forksand-versa5-rocket @@ -0,0 +1,61 @@ +#!/bin/bash + +set -x +# Wt +cd /home/jebba/devel/FPGA/litex/litex/litex/boards/targets + +rm -rf /home/jebba/devel/FPGA/litex/litex/litex/boards/targets/soc_basesoc_versa_ecp5 +rm -rf /home/jebba/devel/FPGA/litex/litex/litex/boards/targets/soc_ethernetsoc_versa_ecp5 + +echo +echo "NOW BUILDING" +echo + +# Build .svf +./versa_ecp5.py \ + --with-ethernet \ + --sys-clk-freq 66e6 \ + --gateware-toolchain trellis \ + --gateware-toolchain-path /usr/local \ + --cpu-type rocket \ + --cpu-variant linux \ + --csr-csv ./csr_ecp5versa.csv \ + || exit + +# If you add/remove ethernet, also need to change .svf below +# --with-ethernet \ +# --cpu-type=rocket +# --sys-clk-freq=60e6 \ +# --cpu-variant=linux \ + + +exit 0 + +echo +echo "NOW FLASHING" +echo + +openocd \ + -f /home/jebba/devel/FPGA/muh/ecp5-versa5g.cfg \ + -c "transport select jtag; init; svf /home/jebba/devel/FPGA/litex/litex/litex/boards/targets/soc_basesoc_versa_ecp5/gateware/top.svf; exit" \ + || exit +# No ethernet +# XXX UPDATE +# -c "transport select jtag; init; svf /home/jebba/devel/FPGA/litex/litex/litex/boards/targets/soc_basesoc_versa_ecp5/gateware/top.svf; exit" \ +# With ethernet +# -c "transport select jtag; init; svf /home/jebba/devel/FPGA/litex/litex-boards/litex_boards/official/targets/soc_ethernetsoc_versa_ecp5/gateware/top.svf; exit" \ + + +echo "Running:" +echo "lxterm /dev/ttyUSB1" +echo "Hit ctrl-c twice to bail" +echo +echo "If that lxterm doesn't connect try like this:" +echo "lxterm /dev/ttyUSB1 --speed=2e6" + +echo +echo "NOW CONNECTING" +echo + +lxterm /dev/ttyUSB1 + diff --git a/scripts/install b/scripts/install new file mode 100644 index 0000000..fac35d4 --- /dev/null +++ b/scripts/install @@ -0,0 +1,6 @@ +PATH=$PATH:/home/jebba/devel/litex/toolchain/bin + +cd litedram +./setup.py build +./setup.py install --user +etc.... diff --git a/scripts/install-all b/scripts/install-all new file mode 100755 index 0000000..c25f73f --- /dev/null +++ b/scripts/install-all @@ -0,0 +1,32 @@ +#!/bin/bash + +set -x + +cd icestorm +make -j$(nproc) +sudo make install +cd .. + +cd arachne-pnr +make -j$(nproc) +sudo make install +cd .. + +cd prjtrellis +cd libtrellis +cmake -DCMAKE_INSTALL_PREFIX=/usr/local . +make -j$(nproc) +sudo make install +cd ../.. + +cd nextpnr +#cmake -DARCH=ice40 -DCMAKE_INSTALL_PREFIX=/usr/local . +cmake -DARCH=ecp5 -DCMAKE_INSTALL_PREFIX=/usr/local . +make -j$(nproc) +sudo make install +cd .. + +cd yosys +make -j$(nproc) +sudo make install +cd .. diff --git a/scripts/litex_setup.py b/scripts/litex_setup.py new file mode 100755 index 0000000..35cd2f8 --- /dev/null +++ b/scripts/litex_setup.py @@ -0,0 +1,66 @@ +#!/usr/bin/env python3 + +import os +import sys +from collections import OrderedDict + + +current_path = os.path.dirname(os.path.realpath(__file__)) + +# name, (url, recursive clone, develop) +repos = [ + # HDL + ("migen", ("https://github.com/m-labs/", True, True)), + + # LiteX SoC builder + ("litex", ("https://github.com/enjoy-digital/", True, True)), + + # LiteX cores ecosystem + ("liteeth", ("https://github.com/enjoy-digital/", False, True)), + ("litedram", ("https://github.com/enjoy-digital/", False, True)), + ("litepcie", ("https://github.com/enjoy-digital/", False, True)), + ("litesata", ("https://github.com/enjoy-digital/", False, True)), + ("litesdcard", ("https://github.com/enjoy-digital/", False, True)), + ("liteiclink", ("https://github.com/enjoy-digital/", False, True)), + ("litevideo", ("https://github.com/enjoy-digital/", False, True)), + ("litescope", ("https://github.com/enjoy-digital/", False, True)), + + # LiteX boards support + ("litex-boards", ("https://github.com/litex-hub/", False, True)), +] +repos = OrderedDict(repos) + +if len(sys.argv) < 2: + print("Available commands:") + print("- init") + print("- install (add --user to install to user directory)") + print("- update") + exit() + +if "init" in sys.argv[1:]: + for name in repos.keys(): + url, need_recursive, need_develop = repos[name] + # clone repo (recursive if needed) + print("[cloning " + name + "]...") + full_url = url + name + opts = "--recursive" if need_recursive else "" + os.system("git clone " + full_url + " " + opts) + +if "install" in sys.argv[1:]: + for name in repos.keys(): + url, need_recursive, need_develop = repos[name] + # develop if needed + print("[installing " + name + "]...") + if need_develop: + os.chdir(os.path.join(current_path, name)) + if "--user" in sys.argv[1:]: + os.system("python3 setup.py develop --user") + else: + os.system("python3 setup.py develop") + +if "update" in sys.argv[1:]: + for name in repos.keys(): + # update + print("[updating " + name + "]...") + os.chdir(os.path.join(current_path, name)) + os.system("git pull") diff --git a/scripts/update b/scripts/update new file mode 100755 index 0000000..3655cda --- /dev/null +++ b/scripts/update @@ -0,0 +1,29 @@ +#!/bin/bash + +# Manual updates: +# toolchain + +set -x + +# Just pull, don't build +# Git pull +for i in buildroot pcie_screamer Vexriscv-verilog versa_ecp5 litex-buildenv litex-buildenv-udev linux-on-litex-vexriscv-prebuilt linux-on-litex-vexriscv + do echo "Updating $i" + cd $i + #git checkout master + git pull + cd .. +done + +cd linux-on-litex-vexriscv ; git checkout fs-trellis + +# Python, git pull, build, install locally +for i in migen litedram liteeth liteiclink litejesd204b litepcie litesata litescope litesdcard litevideo litex-boards litex + do echo "Updating $i" + cd $i + git pull + ./setup.py clean && ./setup.py build && ./setup.py install --user || exit + cd .. +done + + diff --git a/scripts/update-all b/scripts/update-all new file mode 100755 index 0000000..b258f65 --- /dev/null +++ b/scripts/update-all @@ -0,0 +1,50 @@ +#!/bin/bash + +set -x + +cd icestorm && \ +git pull && \ +make clean && \ +make -j$(nproc) && \ +sudo make install || exit +cd .. + +cd arachne-pnr && \ +git pull && \ +make clean && \ +make -j$(nproc) && \ +sudo make install || exit +cd .. + +cd prjtrellis && \ +git pull && \ +cd libtrellis && \ +make clean && \ +cmake -DCMAKE_INSTALL_PREFIX=/usr/local . && \ +make -j$(nproc) && \ +sudo make install || exit +cd ../.. + +cd nextpnr && \ +git pull && \ +make clean && \ +#cmake -DARCH=ice40 -DCMAKE_INSTALL_PREFIX=/usr/local . && \ +cmake -DARCH=ecp5 -DCMAKE_INSTALL_PREFIX=/usr/local . && \ +make -j$(nproc) && \ +sudo make install || exit +cd .. + +cd yosys && \ +git pull && \ +make clean && \ +make -j$(nproc) && \ +sudo make install || exit +cd .. + +cd openocd && \ +git pull && \ +make clean && \ +make && \ +sudo make install || exit +cd .. +