1. 27 11月, 2012 1 次提交
    • A
      can: c_can: Add d_can raminit support · 52cde85a
      AnilKumar Ch 提交于
      Add D_CAN raminit support to C_CAN driver to enable D_CAN RAM,
      which holds all the message objects during transmission or
      receiving of data. This initialization/de-initialization should
      be done in synchronous with D_CAN clock.
      
      In case of AM335X-EVM (current user of D_CAN driver) message RAM is
      controlled through control module register for both instances. So
      control module register details is required to initialization or
      de-initialization of message RAM according to instance number.
      
      Control module memory resource is obtained from D_CAN dt node and
      instance number obtained from device tree aliases node.
      
      This patch was tested on AM335x-EVM along with pinctrl data addition
      patch, d_can dt aliases addition and control module data addition.
      pinctrl data addition is not added to am335x-evm.dts (only supports
      CPLD profile#0) because d_can1 is supported under CPLD profile#1.
      Signed-off-by: NAnilKumar Ch <anilkumar@ti.com>
      [mkl: fix instance for non DT in probe, cleaned up raminit]
      Signed-off-by: NMarc Kleine-Budde <mkl@pengutronix.de>
      52cde85a
  2. 22 9月, 2012 5 次提交
  3. 31 7月, 2012 1 次提交
  4. 07 6月, 2012 2 次提交
    • A
      can: c_can: Add support for Bosch D_CAN controller · 69927fcc
      AnilKumar Ch 提交于
      This patch adds the support for D_CAN controller driver to the existing
      C_CAN driver.
      
      Bosch D_CAN controller is a full-CAN implementation which is compliant
      to CAN protocol version 2.0 part A and B. Bosch D_CAN user manual can be
      obtained from: http://www.semiconductors.bosch.de/media/en/pdf/
      ipmodules_1/can/d_can_users_manual_111.pdf
      
      A new array is added for accessing the d_can registers, according to d_can
      controller register space.
      
      Current D_CAN implementation has following limitations, this is done
      to avoid large changes to the C_CAN driver.
      1. Message objects are limited to 32, 16 for RX and 16 for TX. C_CAN IP
         supports upto 32 message objects but in case of D_CAN we can configure
         upto 128 message objects.
      2. Using two 16bit reads/writes for accessing the 32bit D_CAN registers.
      3. These patches have been tested on little endian machine, there might
         be some hidden endian-related issues due to the nature of the accesses
         (32-bit registers accessed as 2 16-bit registers). However, I do not
         have a big-endian D_CAN implementation to confirm.
      Signed-off-by: NAnilKumar Ch <anilkumar@ti.com>
      Signed-off-by: NMarc Kleine-Budde <mkl@pengutronix.de>
      69927fcc
    • A
      can: c_can: Move overlay structure to array with offset as index · 33f81009
      AnilKumar Ch 提交于
      c_can uses overlay structure for accessing c_can module registers.
      With this kind of implementation it is difficult to add one more ip
      which is similar to c_can in functionality but different register
      offsets.
      
      This patch changes the overlay structure implementation to an array
      with register offset as index. This way we can overcome the above
      limitation.
      Signed-off-by: NAnilKumar Ch <anilkumar@ti.com>
      Signed-off-by: NMarc Kleine-Budde <mkl@pengutronix.de>
      33f81009
  5. 29 11月, 2011 1 次提交
  6. 24 7月, 2011 1 次提交
  7. 24 6月, 2011 1 次提交
  8. 20 6月, 2011 1 次提交
  9. 28 3月, 2011 1 次提交
  10. 14 2月, 2011 1 次提交