Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Cyclone V SoC / soc_system.dts добавление ip блока
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
chirik
Всем привет!

Взял за основу пример для платы DE10_Standard -> DE10_Standard_GHRD (quartus, qsys, soc_system.dts)
1) Добавил блок Frame Buffer II (и соответственно тестовую таблицу и вывод видео)
2) Добавил в hps еще один интерфейс f2h_sdram1
Нажмите для просмотра прикрепленного файла

Внес изменения в soc_system.dts но в нем есть места в которых я не уверен.
мой DE10_GHRD_vip_soc_system.dts: Нажмите для просмотра прикрепленного файла
Описание в нем Frame Buffer II https://github.com/terasic/linux-socfpga/bl...eo/altvipfb.txt
Цитата
alt_vip_vfr_0: vip@0x100010000 {
compatible = "altr,vip-frame-reader-1.0";
reg = <0x00000001 0x00010000 0x00000080>;
max-width = <640>;
max-height = <480>;
bits-per-color = <8>;
mem-word-width = <128>;
};

В нем почему то не строчки с клоком clocks = <&clk_0>; как в других блоках, так и должно быть?

По ангиологии поправил описание моста
Цитата
hps_0_bridges: bridge@0xc0000000 {
compatible = "altr,bridge-16.1", "simple-bus";
reg = <0xc0000000 0x20000000>,
<0xff200000 0x00200000>;
reg-names = "axi_h2f", "axi_h2f_lw";
clocks = <&clk_0 &clk_0 &clk_0 &clk_0>;
clock-names = "h2f_axi_clock", "h2f_lw_axi_clock", "f2h_sdram0_clock", "f2h_sdram1_clock";
#address-cells = <2>;
#size-cells = <1>;
ranges = <0x00000001 0x00020000 0xff220000 0x00000008>,
<0x00000001 0x00030000 0xff230000 0x00000100>,
<0x00000001 0x00001000 0xff201000 0x00000008>,
<0x00000001 0x00005000 0xff205000 0x00000010>,
<0x00000001 0x00004000 0xff204000 0x00000010>,
<0x00000001 0x00003000 0xff203000 0x00000010>;
<0x00000001 0x00010000 0xff210000 0x00000080>;

Здесь жирным цветом, то что я добавил правильно ли?

И в описании клоков clocks
Цитата
hps_0_f2s_sdram_ref_clk: hps_0_f2s_sdram_ref_clk {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <0>; /* 0.00 Hz */
clock-output-names = "hps_0_f2s_sdram_ref_clk-clk";
}; //end hps_0_f2s_sdram_ref_clk (hps_0_f2s_sdram_ref_clk)

этот клок не задан, не совсем понял, что это за клок и нужен ли он мне?
Gleb80
Доброго времени суток. Оговорюсь сразу, что ответа на ваши вопросы я не знаю. Но темой интересуюсь, т.к. потихоньку, разбираюсь с платой DE10-Nano.
Если я правильно понимаю, то Device Tree Blob (DTB), в который в последствии должен конвертироваться .dts файл, читается при загрузке Linux различными модулями ядра (драйверами), причем, разные секции разными модулями, глядя по тому, какая информация об аппаратуре их интересует. Например про alt_vip_vfr_0 интересно знать графическим модулям, а про мост hps_0_bridges: bridge@0xc0000000, который вы добавляете, кто и что должен знать в системе? Кто будет его использовать? Мне кажется, от этого зависит что там должно быть.
Прошу поправить, если я что-то не так понимаю.
sonycman
Код
ranges = <0x00000001 0x00020000 0xff220000 0x00000008>,
<0x00000001 0x00030000 0xff230000 0x00000100>,
<0x00000001 0x00001000 0xff201000 0x00000008>,
<0x00000001 0x00005000 0xff205000 0x00000010>,
<0x00000001 0x00004000 0xff204000 0x00000010>,
<0x00000001 0x00003000 0xff203000 0x00000010>;
<0x00000001 0x00010000 0xff210000 0x00000080>;

Бросается в глаза точка с запятой в конце предпоследней строки.
Наверное, надо исправить на запятую.
chirik
Это я подправил, иначе он не компилировал .dtb )
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.