can: flexcan: Remodel FlexCAN register r/w APIs for big endian FlexCAN controllers.
The FlexCAN driver assumed that FlexCAN controller is big endian for powerpc architecture and little endian for other architectures. But this may not be the case. FlexCAN controller can be little or big endian on any architecture. For e.g. NXP LS1021A ARM based SOC has big endian FlexCAN controller. Therefore, the driver has been modified to add a provision for both types of controllers using an additional device tree property. On a "fsl,p1010-flexcan" device BE is default, on all other devices LE is. Big Endian controllers should have "big-endian" set in the device tree. check "Documentation/devicetree/bindings/net/can/fsl-flexcan.txt" for usage. This is the standard practice followed in linux. for more info check: Documentation/devicetree/bindings/common-properties.txt Signed-off-by: NPankaj Bansal <pankaj.bansal@nxp.com> Signed-off-by: NBhupesh Sharma <bhupesh.sharma@freescale.com> Signed-off-by: NSakar Arora <Sakar.Arora@freescale.com> Reviewed-by: NZhengxiong Jin <Jason.Jin@freescale.com> Reviewed-by: NPoonam Aggrwal <poonam.aggrwal@nxp.com> Signed-off-by: NMarc Kleine-Budde <mkl@pengutronix.de>
Showing
想要评论请 注册 或 登录