starfive: add new target for StarFive JH7100/7110 SoC
authorZoltan HERPAI <wigyori@uid0.hu>
Sun, 28 May 2023 13:14:02 +0000 (15:14 +0200)
committerZoltan HERPAI <wigyori@uid0.hu>
Sun, 10 Mar 2024 17:21:46 +0000 (18:21 +0100)
commit4070e2a64c524b1de38573700ba1c4fcc79de1bf
treeb98776aacec6a7af3d424c3842e363658cd12de5
parentdb0d7cf6a19f909a3cce958c5a8457511c1179e8
starfive: add new target for StarFive JH7100/7110 SoC

This target adds support for the StarFive JH7100 and JH7110 SoCs, based on
6.1, as well as a couple boards equipped with these.

Specifications:

SoCs:

JH7100:
 - StarFive JH7100 dual-core RISC-V (U74, RC64GC)
 - additional monitoring (S7) and control (E24) cores
 - 2Mb L2 cache

JH7110:
 - StarFive JH7110 quad-core RISC-V (U74, RV64GC)
 - additional monitoring (S7) and control (E24) cores
 - 2Mb L2 cache

Boards:

VisionFive1:
 - JH7100 @ 1GHz
 - Memory: 8Gb LPDDR4
 - 4x USB3.0
 - 1x GBit ethernet
 - AMPak 6236 wifi / bluetooth
 - audio
 - powered via USB-C

VisionFive2:
 - JH7110 @ 1.5GHz
 - Memory: 2/4/8Gb DDR4
 - 2x Gbit ethernet
 - 2x USB3.0 / 2x USB2.0
 - eMMC / SDIO
 - various multimedia input/outputs (MIPI CSI, HDMI, audio)
 - M.2 key M slot
 - PoE support
 - powered via USB-C

Installation:
Standard SD-card installation via dd-ing the generated image to
an SD-card of at least 256Mb.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
161 files changed:
target/linux/starfive/Makefile [new file with mode: 0644]
target/linux/starfive/base-files/etc/board.d/02_network [new file with mode: 0644]
target/linux/starfive/base-files/etc/inittab [new file with mode: 0644]
target/linux/starfive/base-files/lib/firmware/brcm/brcmfmac43430-sdio.txt [new file with mode: 0644]
target/linux/starfive/base-files/lib/firmware/brcm/brcmfmac43430a0-sdio.txt [new symlink]
target/linux/starfive/config-6.1 [new file with mode: 0644]
target/linux/starfive/generic/target.mk [new file with mode: 0644]
target/linux/starfive/image/Config.in [new file with mode: 0644]
target/linux/starfive/image/Makefile [new file with mode: 0644]
target/linux/starfive/image/gen_starfive_sdcard_img.sh [new file with mode: 0755]
target/linux/starfive/image/mmc.bootscript.jh7100 [new file with mode: 0644]
target/linux/starfive/image/mmc.bootscript.jh7110 [new file with mode: 0644]
target/linux/starfive/modules.mk [new file with mode: 0644]
target/linux/starfive/patches-6.1/0001-dt-bindings-clock-Add-StarFive-JH7110-system-clock-a.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0002-dt-bindings-clock-Add-StarFive-JH7110-always-on-cloc.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0003-clk-starfive-Replace-SOC_STARFIVE-with-ARCH_STARFIVE.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0004-clk-starfive-Factor-out-common-JH7100-and-JH7110-cod.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0005-clk-starfive-Rename-clk-starfive-jh7100.h-to-clk-sta.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0006-clk-starfive-Rename-jh7100-to-jh71x0-for-the-common-.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0007-reset-starfive-Replace-SOC_STARFIVE-with-ARCH_STARFI.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0008-reset-Create-subdirectory-for-StarFive-drivers.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0009-reset-starfive-Factor-out-common-JH71X0-reset-code.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0010-reset-starfive-Extract-the-common-JH71X0-reset-code.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0011-reset-starfive-Rename-jh7100-to-jh71x0-for-the-commo.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0012-reset-starfive-jh71x0-Use-32bit-I-O-on-32bit-registe.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0013-clk-starfive-Add-StarFive-JH7110-system-clock-driver.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0014-clk-starfive-Add-StarFive-JH7110-always-on-clock-dri.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0015-reset-starfive-Add-StarFive-JH7110-reset-driver.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0016-MAINTAINERS-generalise-StarFive-clk-reset-entries.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0017-clk-starfive-Avoid-casting-iomem-pointers.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0018-dt-bindings-timer-Add-StarFive-JH7110-clint.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0019-dt-bindings-interrupt-controller-Add-StarFive-JH7110.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0020-dt-bindings-riscv-Add-SiFive-S7-compatible.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0021-riscv-dts-starfive-Add-initial-StarFive-JH7110-devic.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0022-riscv-dts-starfive-Add-StarFive-JH7110-pin-function-.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0023-riscv-dts-starfive-Add-StarFive-JH7110-VisionFive-2-.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0024-riscv-dts-starfive-Add-StarFive-VisionFive-V1-device.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0025-riscv-dts-starfive-Add-common-DT-for-JH7100-based-bo.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0026-dt-bindings-pinctrl-Add-StarFive-JH7110-sys-pinctrl.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0027-dt-bindings-pinctrl-Add-StarFive-JH7110-aon-pinctrl.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0028-pinctrl-starfive-Add-StarFive-JH7110-sys-controller-.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0029-pinctrl-starfive-Add-StarFive-JH7110-aon-controller-.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0030-config-add-jh7110-defconfig-for-test-mini.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0031-dt-bindings-clock-Add-StarFive-JH7110-PLL-clock-gene.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0032-clk-starfive-Add-StarFive-JH7110-PLL-clock-driver.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0033-dt-bindings-clock-jh7110-syscrg-Add-PLL-clock-inputs.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0034-clk-starfive-jh7110-sys-Modify-PLL-clocks-source.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0035-dt-bindings-power-Add-starfive-jh7110-pmu.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0036-soc-starfive-Add-StarFive-JH71XX-pmu-driver.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0037-dt-bindings-soc-starfive-Add-StarFive-syscon-module.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0038-riscv-dts-starfive-jh7110-Add-syscon-nodes.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0039-riscv-dts-starfive-jh7110-Add-PLL-clock-node-and-mod.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0040-dt-bindings-net-snps-dwmac-Add-dwmac-5.20-version.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0041-net-stmmac-platform-Add-snps-dwmac-5.20-IP-compatibl.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0042-dt-bindings-net-snps-dwmac-Add-ahb-reset-reset-name.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0043-dt-bindings-net-Add-support-StarFive-dwmac.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0044-net-stmmac-Add-glue-layer-for-StarFive-JH7110-SoC.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0045-net-stmmac-dwmac-starfive-Add-phy-interface-settings.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0046-riscv-dts-starfive-jh7110-Add-ethernet-device-nodes.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0047-riscv-dts-starfive-visionfive-2-Add-configuration-of.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0048-dt-bindings-net-Add-Motorcomm-yt8xxx-ethernet-phy.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0049-dt-bindings-net-motorcomm-Add-pad-driver-strength-cf.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0050-riscv-dts-starfive-visionfive-2-v1.3B-Set-the-driver.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0051-dt-bindings-clock-Add-StarFive-JH7110-System-Top-Gro.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0052-clk-starfive-Add-StarFive-JH7110-System-Top-Group-cl.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0053-dt-bindings-clock-Add-StarFive-JH7110-Image-Signal-P.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0054-clk-starfive-Add-StarFive-JH7110-Image-Signal-Proces.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0055-dt-bindings-clock-Add-StarFive-JH7110-Video-Output-c.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0056-clk-starfive-Add-StarFive-JH7110-Video-Output-clock-.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0057-reset-starfive-jh7110-Add-StarFive-STG-ISP-VOUT-rese.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0058-clk-starfive-update-jh7110-PLL-clock-driver.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0059-dt-bindings-timer-Add-timer-for-StarFive-JH7110-SoC.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0060-clocksource-Add-StarFive-timer-driver.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0061-dt-bindings-net-motorcomm-Add-pad-driver-strength-cf.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0062-dt-bindings-PWM-Add-StarFive-PWM-module.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0063-pwm-starfive-Add-PWM-driver-support.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0064-dt-bindings-crypto-Add-StarFive-crypto-module.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0065-crypto-starfive-Add-crypto-engine-support.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0066-crypto-starfive-Fix-driver-dependencies.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0067-riscv-Kconfig-Add-select-ARM_AMBA-to-SOC_STARFIVE.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0068-ASoC-dt-bindings-Add-TDM-controller-bindings-for-Sta.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0069-ASoC-starfive-Add-JH7110-TDM-driver.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0070-dt-bindings-power-Add-power-domain-header-for-JH7110.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0071-soc-starfive-Replace-SOC_STARFIVE-with-ARCH_STARFIVE.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0072-soc-starfive-Extract-JH7110-pmu-private-operations.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0073-soc-starfive-Add-JH7110-AON-PMU-support.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0074-dt-bindings-phy-Add-starfive-jh7110-dphy-rx.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0075-phy-starfive-Add-mipi-dphy-rx-support.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0076-media-dt-bindings-cadence-csi2rx-Convert-to-DT-schem.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0077-media-dt-bindings-cadence-csi2rx-Add-resets-property.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0078-media-cadence-Add-operation-on-reset.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0079-media-cadence-Add-support-for-external-dphy.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0080-media-cadence-Add-support-for-JH7110-SoC.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0081-media-dt-bindings-Add-JH7110-Camera-Subsystem.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0082-media-admin-guide-Add-starfive_camss.rst-for-Starfiv.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0083-media-starfive-Add-basic-driver.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0084-media-starfive-Add-video-driver.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0085-media-starfive-Add-ISP-driver.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0086-media-starfive-Add-VIN-driver.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0087-dt-bindings-phy-Add-StarFive-JH7110-USB-PHY.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0088-dt-bindings-phy-Add-StarFive-JH7110-PCIe-PHY.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0089-phy-starfive-Add-JH7110-USB-2.0-PHY-driver.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0090-phy-starfive-Add-JH7110-PCIE-2.0-PHY-driver.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0091-dt-bindings-usb-Add-StarFive-JH7110-USB-controller.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0092-dt-bindings-qspi-cdns-qspi-nor-constrain-minItems-ma.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0093-usb-cdns3-Add-StarFive-JH7110-USB-driver.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0094-dt-binding-pci-add-JH7110-PCIe-dt-binding-documents.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0095-spi-cadence-quadspi-Add-support-for-StarFive-JH7110-.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0096-pcie-starfive-add-StarFive-JH7110-PCIe-driver.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0097-cpufreq-dt-platdev-Add-JH7110-SOC-to-the-allowlist.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0098-riscv-dts-starfive-Add-full-support-for-JH7110-and-V.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0099-update-jh7110_defconfig-for-test.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0100-Add-readme.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0101-dt-bindings-rng-Add-StarFive-TRNG-module.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0102-hwrng-starfive-Add-TRNG-driver-for-StarFive-SoC.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0103-hwrng-starfive-Enable-compile-testing.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0104-dt-bindings-watchdog-Add-watchdog-for-StarFive-JH710.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0105-drivers-watchdog-Add-StarFive-Watchdog-driver.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0106-riscv-dts-starfive-jh7100-Add-watchdog-node.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0107-dt-bindings-mmc-Add-StarFive-MMC-module.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0108-mmc-starfive-Add-sdio-emmc-driver-support.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0109-dt-bindings-hwmon-Add-starfive-jh71x0-temp.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0110-hwmon-sfctemp-Add-StarFive-JH71x0-temperature-sensor.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0111-dt-bindings-dma-snps-dw-axi-dmac-constrain-the-items.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0112-dmaengine-dw-axi-dmac-Add-support-for-StarFive-JH711.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0113-dmaengine-dw-axi-dmac-Increase-polling-time-to-DMA-t.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0114-RISC-V-Change-suspend_save_csrs-and-suspend_restore_.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0115-RISC-V-Factor-out-common-code-of-__cpu_resume_enter.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0116-RISC-V-Add-arch-functions-to-support-hibernation-sus.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0117-driver-mfd-axp20x-Add-support-for-AXP15060.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0118-driver-regulator-axp20x-Support-AXP15060-variant.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0119-riscv-dts-visionfive2-add-EEPROM-node.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0120-riscv-dts-visionfive2-add-mmc-aliases.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0121-drivers-include-cpufreq-Kconfig-for-riscv.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/0126-clk-starfive-jh7110-sys-Fix-lower-rate-of-CPUfreq-by.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/1000-net-stmmac-dwmac-starfive-Add-JH7100-support.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/1001-dt-bindings-mfd-syscon-Add-StarFive-JH7100-sysmain-c.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/1002-serial-8250_dw-Add-starfive-jh7100-hsuart-compatible.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/1003-riscv-dts-starfive-Group-tuples-in-interrupt-propert.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/1004-RISC-V-Add-StarFive-JH7100-audio-clock-node.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/1005-RISC-V-Mark-StarFive-JH7100-as-having-non-coherent-D.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/1006-drivers-tty-serial-8250-update-driver-for-JH7100.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/1007-dmaengine-dw-axi-dmac-Handle-xfer-start-while-non-id.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/1008-dmaengine-dw-axi-dmac-Add-StarFive-JH7100-support.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/1009-pinctrl-starfive-Reset-pinmux-settings.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/1010-clk-starfive-Add-flags-argument-to-JH71X0__MUX-macro.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/1011-clk-starfive-jh7100-Add-CLK_SET_RATE_PARENT-to-gmac_.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/1012-clk-starfive-jh7100-Keep-more-clocks-alive.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/1013-net-stmmac-use-GFP_DMA32.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/1014-hwrng-Add-StarFive-JH7100-Random-Number-Generator-dr.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/1015-pwm-sifive-ptc-Add-SiFive-PWM-PTC-driver.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/1016-riscv-Implement-non-coherent-DMA-support-via-SiFive-.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/1017-dt-bindings-riscv-sifive-ccache-Add-uncached-offset-.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/1018-soc-sifive-ccache-Add-StarFive-JH71x0-support.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/1019-soc-sifive-ccache-Add-non-coherent-DMA-handling.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/1020-dt-bindings-reset-Add-StarFive-JH7100-audio-reset-de.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/1021-dt-bindings-reset-Add-starfive-jh7100-audrst-binding.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/1022-reset-starfive-Add-JH7100-audio-reset-driver.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/1023-RISC-V-Add-StarFive-JH7100-audio-reset-node.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/1024-riscv-dts-Add-full-JH7100-Starlight-and-VisionFive-s.patch [new file with mode: 0644]
target/linux/starfive/patches-6.1/1025-riscv-dts-visionfive1-enable-QSPI.patch [new file with mode: 0644]