device tree i reset nodów

Odpowiedz Nowy wątek
fvg
2019-05-06 16:08
fvg

Rejestracja: 1 rok temu

Ostatnio: 2 tygodnie temu

0

Hej
Zna się tu ktoś na programowaniu w kernel spejsie, bo na forach zagranicznych poświęconych programowaniu w kernelu nie da się zarejestrować, mejle aktywacyjne nie dochodzą a ja mam tylko małe doświadczenie przy programowaniu character deviców.
Mam problem ze zrozumieniem tagów resets i reset-names:

    rst: [email protected] {
            #reset-cells = <1>;
            compatible = "altr,rst-mgr";
            reg = <0xffd11000 0x1000>;
            altr,modrst-offset = <0x20>;
        };

        mmc: [email protected] {
            compatible = "altr,socfpga-dw-mshc";
            reg = <0xff808000 0x1000>;
                         ...
            resets = <&rst SDMMC_RESET>;
            reset-names = "reset";
            ...
        };

Jak sobie podglądam implementację kernel drivera dla powyższego układu to tagi resets, reset-names w ogóle nie są parsowane:
https://github.com/torvalds/l[...]ivers/mmc/host/dw_mmc-pltfm.c
Więc nie bardzo rozumiem jak z poziomu user spejsa mogę wywołać reset tego układu odwołując się do tego drivera, jakim kawałkiem softu?

Co do rst:
https://github.com/torvalds/l[...]/drivers/reset/reset-simple.c
to są metody assert i deassert, którym mógłbyś przekazać id=SDMMC_RESET ale z user spejsa też nie da się odwołac do tego drivera bo to nie jest char device tylko to instaluje się w katalogach:
/sys/devices/platform/soc => ffd11000.rstmgr
/sys/bus/platform/devices/soc => ffd11000.rstmgr
i nie masz jak się odwołać do tego.

Więc nie bardzo wiem co ja mogę zrobić z tagai resets i reset-names. Może implementacja dw_mmc-pltfm.c jest niepełna i brakuje tam parsowania tych tagów? Właśnie spodziewałem się że jakaś funkcja zostanie podmapowana pod te tagi.

edytowany 3x, ostatnio: fvg, 2019-05-06 16:10

Pozostało 580 znaków

2019-05-06 17:03

Rejestracja: 6 lat temu

Ostatnio: 21 minut temu

0

Nie moja część kernela, także idę po omacku, ale czy do_hwreset i stojący za nim ioctl w https://git.kernel.org/pub/sc[...]mmc-utils.git/tree/mmc_cmds.c to nie będzie dobry trop?

edytowany 1x, ostatnio: alagner, 2019-05-06 17:03

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0