PRU Overlay Problem
Nicola Mingotti
nmingotti at gmail.com
Tue Aug 28 07:43:23 UTC 2018
Also, i found this, in FreeBSD.11-1 decompiling the dtb i can see the pru
definition:
-------------------------------------------------------------------
#> cd /boot/dtb
#> dtc -I dtb -O dts am335x-boneblack.dtb | less
....
pruss at 4A300000 {
compatible = "ti,pruss-v2";
reg = <0x4a300000 0x80000>;
interrupt-parent = <0x1>;
interrupts = <0x14 0x15 0x16 0x17 0x18 0x19
0x1a 0x1b>;
};
...
-------------------------------------------------------------------
But, if i decompile the dtb in FreeBSD.12-ALPHA the only thing
matching pru is
---------------------------------
#> cd /boot/dtb
#> dtc -I dtb -O dts am335x-boneblack.dtb | less
....
pruss_ocp_gclk at 530 {
#clock-cells = <0x0>;
compatible =
"ti,mux-clock";
clocks = <0x1f 0x18>;
reg = <0x530>;
phandle = <0x20>;
};
....
---------------------------------
Then, i guess the PRU description is nor present at the moment in
FreeBSD-12-ALPHA
Well, these are just my considerations, i may be totally wrong. Wild
guesses.
bye
n.
On 08/28/18 01:23, Nicola Mingotti wrote:
>
> Hi !
>
> I am trying to configure the PRU in BeagleBone Black, FreeBSD-12-ALPHA.
>
> I found Rolf code online, it compiles and load => I see the PRU
> https://obsigna.com/articles/1530973669.html
>
> Ok, the problem is I would like to configure the pins for the PRU
> either in the new format
> that Ian says on in the old one. I tried to modify Rolf code copying
> from various resources
> but i failed. I ask your help. I admint this thing for me is in good
> part obscure.
>
> In previous post I saw the DTS sources are here:
> https://github.com/freebsd/freebsd/tree/master/sys/gnu/dts/arm
> But, i can't find the file defining the PRU, so I am stuck, i don't
> know where to copy from;)
>
> here is were i landed :
>
> --------------------- new style overlay ----------
> /dts-v1/;
> /plugin/;
>
> / {
> compatible = "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx";
> exclusive-use = "P9.27","P9.28","pru0";
> };
>
> &am33xx_pinmux {
> pru_pru_pins: pinmux_pru_pru_pins {
> pinctrl-single,pins = <
> 0x1a4 0x05 /* P9.27 pr1_pru0_pru_r30_5, Mode 5 output
> pull-down */
> 0x19c 0x26 /* P9.28 pr1_pru0_pru_r31_3, Mode 6 input
> pull-down */
> >;
> };
> };
>
> /* &"/" { ummm, problem, doh */
> &ocp {
> #address-cells = <1>;
> #size-cells = <1>;
> pruss at 4a300000 {
> status = "okay";
> compatible = "ti,pruss-v2";
> ti,deassert-hard-reset = "pruss", "pruss";
> reg = <0x4a300000 0x080000>;
> ti,pintc-offset = <0x20000>;
> interrupt-parent = <&intc>;
> interrupts = <20 21 22 23 24 25 26 27>;
> pinctrl-names = "default";
> pinctrl-0 = <&pru_pru_pins>;
> };
> };
> --------------------------------------
>
> ---------- old style overlay -----------------
> /dts-v1/;
> /plugin/;
>
> / {
> compatible = "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx";
> exclusive-use = "P9.27","P9.28", "pru0";
>
>
> pru_pru_pins: pinmux_pru_pru_pins {
> pinctrl-single,pins = <
> 0x1a4 0x05 /* P9.27 pr1_pru0_pru_r30_5, Mode 5 output
> pull-down */
> 0x19c 0x26 /* P9.28 pr1_pru0_pru_r31_3, Mode 6 input
> pull-down */
> >;
> };
>
> fragment at 1 {
> target-path="/";
> __overlay__ {
> ocp {
> #address-cells = <1>;
> #size-cells = <1>;
> pruss at 4a300000 {
> status = "okay";
> compatible = "ti,pruss-v2";
> ti,deassert-hard-reset = "pruss", "pruss";
> reg = <0x4a300000 0x080000>;
> ti,pintc-offset = <0x20000>;
> interrupt-parent = <&intc>;
> interrupts = <20 21 22 23 24 25 26 27>;
> pinctrl-0 = <&pru_pru_pins>;
> };
> };
> };
> };
>
> };
> ---------------------------------------------------
>
> bye
> Nicola
>
>
> --
> --------------------------
> Dr. Nicola Mingotti
> R&D - Borghi Srl
> CTO - BondInsider
> --------------------------
--
--------------------------
Dr. Nicola Mingotti
R&D - Borghi Srl
CTO - BondInsider
--------------------------
More information about the freebsd-arm
mailing list