get the CAM module working ?

I am trying my best to get the cam module working. Switched on clock
and power (as far as I understood this). But the CM_IDLEST_CAM still
gives me "Standby" and the CM_CLKSTST_CAM
"No domain interface clock activity".
Obviously I missed something important. But I don't know what. (I2C is
working).

I did (in a kernel driver):

  val = omap_readl(0x48004f00); // CM_FCLKEN_CAM
  val = val | BIT0 | BIT1; // CAM_MCLK, CSI2_96M_FCLK is enabled
  omap_writel(val, 0x48004f00);

  val = omap_readl(0x48004f10); // CM_ICLKEN_CAM
  val = val | BIT0; // CAM_L3_ICK and CAM_L4_ICLK are enabled
  omap_writel(val, 0x48004f10);

  val = omap_readl(0x48004f30); // CM_AUTOIDLE_CAM
  val = 0x0; // always on
  omap_writel(val, 0x48004f30);

  val = omap_readl(0x48004f20); // CM_IDLEST_CAM
  printk("CM_IDLEST_CAM %8x (0 is active / 1 is standby\n", val);

  val = omap_readl(0x48004f40); // CM_CLKSEL_CAM
  val = 0x10; // Divider = 16
  omap_writel(val, 0x48004f40);

  val = omap_readl(0x48004f44); // CM_SLEEPDEP_CAM
  val = val | 0x1; //
  omap_writel(val, 0x48004f44);

  val = omap_readl(0x48004f48); // CM_CLKSTCTRL_CAM
  val = val | 0x3; //
  omap_writel(val, 0x48004f48);

  val = omap_readl(0x48004f4c); // CM_CLKSTST_CAM
  printk("CM_CLKSTST_CAM must give 1 - and gives %8x\n", val);

  val = omap_readl(0x48306fe0); // PM_PWSTCTRL_CAM
  val = 0x3; // POWERSTATE = ON
  omap_writel(val, 0x48306fe0);

  val = omap_readl(0x48306fe0); // PM_PWSTCTRL_CAM
  printk("PM_PWSTCTRL_CAM %8x\n", val);

  val = omap_readl(0x48306fe4); // PM_PWSTST_CAM
  printk("PM_PWSTST_CAM %8x\n", val);