ls1046ardb USE DPAA platform Output 1PPS

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

ls1046ardb USE DPAA platform Output 1PPS

1,085 Views
hongyuanz
Contributor IV

 

Use FMAN_RTC  API   How to modify dts ..?

From  lnxwrp_fm.c
#ifdef CONFIG_FSL_SDK_FMAN_RTC_API
/* Get the RTC base address and size */
memset(ids, 0, sizeof(ids));
if (WARN_ON(strlen("ptp-timer") >= sizeof(ids[0].name)))
return NULL;
strcpy(ids[0].name, "ptp-timer");
if (WARN_ON(strlen("fsl,fman-ptp-timer") >= sizeof(ids[0].compatible)))
return NULL;
strcpy(ids[0].compatible, "fsl,fman-ptp-timer");
for_each_child_of_node(fm_node, dev_node) {
if (likely(of_match_node(ids, dev_node) != NULL)) {
_errno = of_address_to_resource(dev_node, 0, &res);
if (unlikely(_errno < 0)) {
REPORT_ERROR(MAJOR, E_INVALID_VALUE, ("of_address_to_resource() = %d", _errno));
DestroyFmDev(p_LnxWrpFmDev);
return NULL;
}

p_LnxWrpFmDev->fmRtcBaseAddr = 0;
p_LnxWrpFmDev->fmRtcPhysBaseAddr = res.start;
p_LnxWrpFmDev->fmRtcMemSize = res.end + 1 - res.start;
}
}
#endif

0 Kudos
8 Replies

1,081 Views
yipingwang
NXP TechSupport
NXP TechSupport

You could refer to the following section in arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi.

ptp_timer0: ptp-timer@1afe000 {
              compatible = "fsl,fman-ptp-timer", "fsl,fman-rtc";
              reg = <0x0 0x1afe000 0x0 0x1000>;
              interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
              clocks = <&clockgen 3 0>;
              fsl,extts-fifo;
};

0 Kudos

1,074 Views
hongyuanz
Contributor IV

Adding definition does not work

vim arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi

rtc@fe000 {
compatible = "fsl,fman-ptp-timer", "fsl,fman-rtc";
reg = <0xfe000 0x1000>;
};

 

fman0: fman@1a00000 {
#address-cells = <1>;
#size-cells = <1>;
cell-index = <0>;
compatible = "fsl,fman";
ranges = <0x0 0x0 0x1a00000 0xfe000>;
reg = <0x0 0x1a00000 0x0 0xfe000>;
interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clockgen 3 0>;
clock-names = "fmanclk";
fsl,qman-channel-range = <0x800 0x10>;
ptimer-handle = <&ptp_timer0>;

cc {
compatible = "fsl,fman-cc";
};

muram@0 {
compatible = "fsl,fman-muram";
reg = <0x0 0x60000>;
};

bmi@80000 {
compatible = "fsl,fman-bmi";
reg = <0x80000 0x400>;
};

qmi@80400 {
compatible = "fsl,fman-qmi";
reg = <0x80400 0x400>;
};

rtc@fe000 {
compatible = "fsl,fman-ptp-timer", "fsl,fman-rtc";
reg = <0xfe000 0x1000>;
};

};

 

 

[ 6.058271] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------fman-firmware fman-firmware-5
[ 6.068362] cp = fsl,fman-firmware
[ 6.071762] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------cc cc-5
[ 6.079945] cp = fsl,fman-cc
[ 6.082823] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------muram@0 muram-5
[ 6.091698] cp = fsl,fman-muram
[ 6.094836] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------bmi@80000 bmi-5
[ 6.103713] cp = fsl,fman-bmi
[ 6.106677] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------qmi@80400 qmi-5
[ 6.115552] cp = fsl,fman-qmi
[ 6.118516] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------port@82000 port-5
[ 6.127564] cp = fsl,fman-port-oh
[ 6.130876] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------port@83000 port-5
[ 6.139925] cp = fsl,fman-port-oh
[ 6.143237] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------port@84000 port-5
[ 6.152287] cp = fsl,fman-port-oh
[ 6.155598] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------port@85000 port-5
[ 6.164647] cp = fsl,fman-port-oh
[ 6.167958] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------port@86000 port-5
[ 6.177008] cp = fsl,fman-port-oh
[ 6.180316] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------port@87000 port-5
[ 6.189365] cp = fsl,fman-port-oh
[ 6.192674] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------policer@c0000 policer-5
[ 6.202248] cp = fsl,fman-policer
[ 6.205560] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------keygen@c1000 keygen-5
[ 6.214957] cp = fsl,fman-keygen
[ 6.218181] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------dma@c2000 dma-5
[ 6.227056] cp = fsl,fman-dma
[ 6.230019] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------fpm@c3000 fpm-5
[ 6.238894] cp = fsl,fman-fpm
[ 6.241858] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------parser@c7000 parser-5
[ 6.251255] cp = fsl,fman-parser
[ 6.254478] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------vsps@dc000 vsps-5
[ 6.263527] cp = fsl,fman-vsps
[ 6.266577] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------mdio@fc000 mdio-5
[ 6.275627] cp = fsl,fman-memac-mdio
[ 6.279195] cp = fsl,fman-xmdio
[ 6.282332] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------mdio@fd000 mdio-5
[ 6.291381] cp = fsl,fman-memac-mdio
[ 6.294949] cp = fsl,fman-xmdio
[ 6.298086] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------port@88000 port-5
[ 6.307135] cp = fsl,fman-v3-port-rx
[ 6.310703] cp = fsl,fman-port-1g-rx
[ 6.314277] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------port@a8000 port-5
[ 6.323328] cp = fsl,fman-v3-port-tx
[ 6.326896] cp = fsl,fman-port-1g-tx
[ 6.330468] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------ethernet@e0000 ethernet-5
[ 6.340212] cp = fsl,fman-memac
[ 6.343350] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------mdio@e1000 mdio-5
[ 6.352400] cp = fsl,fman-memac-mdio
[ 6.355968] cp = fsl,fman-xmdio
[ 6.359108] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------port@89000 port-5
[ 6.368158] cp = fsl,fman-v3-port-rx
[ 6.371726] cp = fsl,fman-port-1g-rx
[ 6.375298] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------port@a9000 port-5
[ 6.384346] cp = fsl,fman-v3-port-tx
[ 6.387914] cp = fsl,fman-port-1g-tx
[ 6.391487] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------ethernet@e2000 ethernet-5
[ 6.401231] cp = fsl,fman-memac
[ 6.404365] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------mdio@e3000 mdio-5
[ 6.413424] cp = fsl,fman-memac-mdio
[ 6.416993] cp = fsl,fman-xmdio
[ 6.420134] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------port@8a000 port-5
[ 6.429183] cp = fsl,fman-v3-port-rx
[ 6.432751] cp = fsl,fman-port-1g-rx
[ 6.436323] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------port@aa000 port-5
[ 6.445371] cp = fsl,fman-v3-port-tx
[ 6.448939] cp = fsl,fman-port-1g-tx
[ 6.452511] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------ethernet@e4000 ethernet-5
[ 6.462256] cp = fsl,fman-memac
[ 6.465393] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------mdio@e5000 mdio-5
[ 6.474441] cp = fsl,fman-memac-mdio
[ 6.478009] cp = fsl,fman-xmdio
[ 6.481146] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------port@8b000 port-5
[ 6.490194] cp = fsl,fman-v3-port-rx
[ 6.493763] cp = fsl,fman-port-1g-rx
[ 6.497334] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------port@ab000 port-5
[ 6.506383] cp = fsl,fman-v3-port-tx
[ 6.509951] cp = fsl,fman-port-1g-tx
[ 6.513523] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------ethernet@e6000 ethernet-5
[ 6.523268] cp = fsl,fman-memac
[ 6.526407] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------mdio@e7000 mdio-5
[ 6.535457] cp = fsl,fman-memac-mdio
[ 6.539025] cp = fsl,fman-xmdio
[ 6.542162] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------port@8c000 port-5
[ 6.551211] cp = fsl,fman-v3-port-rx
[ 6.554779] cp = fsl,fman-port-1g-rx
[ 6.558350] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------port@ac000 port-5
[ 6.567400] cp = fsl,fman-v3-port-tx
[ 6.570968] cp = fsl,fman-port-1g-tx
[ 6.574540] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------ethernet@e8000 ethernet-5
[ 6.584284] cp = fsl,fman-memac
[ 6.587423] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------mdio@e9000 mdio-5
[ 6.596471] cp = fsl,fman-memac-mdio
[ 6.600039] cp = fsl,fman-xmdio
[ 6.603177] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------port@8d000 port-5
[ 6.612226] cp = fsl,fman-v3-port-rx
[ 6.615794] cp = fsl,fman-port-1g-rx
[ 6.619367] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------port@ad000 port-5
[ 6.628416] cp = fsl,fman-v3-port-tx
[ 6.631984] cp = fsl,fman-port-1g-tx
[ 6.635556] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------ethernet@ea000 ethernet-5
[ 6.645304] cp = fsl,fman-memac
[ 6.648438] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------mdio@eb000 mdio-5
[ 6.657489] cp = fsl,fman-memac-mdio
[ 6.661057] cp = fsl,fman-xmdio
[ 6.664194] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------port@90000 port-5
[ 6.673245] cp = fsl,fman-v3-port-rx
[ 6.676813] cp = fsl,fman-port-10g-rx
[ 6.680471] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------port@b0000 port-5
[ 6.689520] cp = fsl,fman-v3-port-tx
[ 6.693089] cp = fsl,fman-port-10g-tx
[ 6.696748] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------ethernet@f0000 ethernet-5
[ 6.706493] cp = fsl,fman-memac
[ 6.709631] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------mdio@f1000 mdio-5
[ 6.718679] cp = fsl,fman-memac-mdio
[ 6.722247] cp = fsl,fman-xmdio
[ 6.725384] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------port@91000 port-5
[ 6.734432] cp = fsl,fman-v3-port-rx
[ 6.738001] cp = fsl,fman-port-10g-rx
[ 6.741659] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------port@b1000 port-5
[ 6.750708] cp = fsl,fman-v3-port-tx
[ 6.754276] cp = fsl,fman-port-10g-tx
[ 6.757937] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------ethernet@f2000 ethernet-5
[ 6.767684] cp = fsl,fman-memac
[ 6.770821] ReadFmDevTreeNode CONFIG_FSL_SDK_FMAN_RTC_API-------------------------mdio@f3000 mdio-5
[ 6.779871] cp = fsl,fman-memac-mdio
[ 6.783440] cp = fsl,fman-xmdio

Tags (15)
0 Kudos

1,066 Views
yipingwang
NXP TechSupport
NXP TechSupport

fsl-ls1046-post.dtsi includes qoriq-fman3-0.dtsi, just including fsl-ls1046-post.dtsi in your dts file and enable CONFIG_FSL_SDK_FMAN_RTC_API to check whether it could work normally.

0 Kudos

1,059 Views
hongyuanz
Contributor IV

You have a dts file for testing. . ?

0 Kudos

1,041 Views
yipingwang
NXP TechSupport
NXP TechSupport

Please use fsl-ls1046a-rdb-sdk.dts

0 Kudos

1,027 Views
hongyuanz
Contributor IV

I use this fsl-ls1046a-rdb-sdk.dts
Field not found in test DTS
"fsl,fman-ptp-timer"

vim drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_fm.c

#ifdef CONFIG_FSL_SDK_FMAN_RTC_API
/* Get the RTC base address and size */
memset(ids, 0, sizeof(ids));
if (WARN_ON(strlen("ptp-timer") >= sizeof(ids[0].name)))
return NULL;
strcpy(ids[0].name, "ptp-timer");
if (WARN_ON(strlen("fsl,fman-ptp-timer") >= sizeof(ids[0].compatible)))
return NULL;
strcpy(ids[0].compatible, "fsl,fman-ptp-timer");
for_each_child_of_node(fm_node, dev_node) {
if (likely(of_match_node(ids, dev_node) != NULL)) {
_errno = of_address_to_resource(dev_node, 0, &res);
if (unlikely(_errno < 0)) {
REPORT_ERROR(MAJOR, E_INVALID_VALUE, ("of_address_to_resource() = %d", _errno));
DestroyFmDev(p_LnxWrpFmDev);
return NULL;
}

p_LnxWrpFmDev->fmRtcBaseAddr = 0;
p_LnxWrpFmDev->fmRtcPhysBaseAddr = res.start;
p_LnxWrpFmDev->fmRtcMemSize = res.end + 1 - res.start;
}
}
#endif

0 Kudos

995 Views
yipingwang
NXP TechSupport
NXP TechSupport

ptp_timer0: ptp-timer@1afe000 {
compatible = "fsl,fman-ptp-timer", "fsl,fman-rtc";
reg = <0x0 0x1afe000 0x0 0x1000>;
interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clockgen 3 0>;
fsl,extts-fifo;
};

The following is defined in fsl-ls1046a-rdb-sdk.dts

&ptp_timer0 {
dma-coherent;
};

0 Kudos

1,030 Views
hongyuanz
Contributor IV

hi yipingwang

When uboot starts, how do you decide to use that DTS?

0 Kudos