Re: [PATCH 3/5] arch: sh: kfr2r09: Use new renesas-ceu camera driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jacopo,

On Mon, May 28, 2018 at 6:37 PM, Jacopo Mondi <jacopo+renesas@xxxxxxxxxx> wrote:
> Use the new renesas-ceu camera driver in kfr2r09 board file instead of
> the soc_camera based sh_mobile_ceu_camera driver.
>
> Get rid of soc_camera specific components, and move clk and gpio handling
> away from board file, registering the clock source and the enable gpios
> for driver consumption.
>
> Memory for the CEU video buffers is now reserved with membocks APIs,
> and need to be declared as dma_coherent during machine initialization to
> remove that architecture specific part from CEU driver.
>
> While at there update license to SPDX header and sort headers alphabetically.
>
> No need to udapte the clock source names, as
> commit c2f9b05fd5c1 ("media: arch: sh: ecovec: Use new renesas-ceu camera driver")
> already updated it to the new ceu driver name for all SH7724 boards (possibly
> breaking kfr2r09 before this commit).
>
> Compile tested only.
>
> Signed-off-by: Jacopo Mondi <jacopo+renesas@xxxxxxxxxx>

Thanks for your patch!

> --- a/arch/sh/boards/mach-kfr2r09/setup.c
> +++ b/arch/sh/boards/mach-kfr2r09/setup.c
> @@ -1,41 +1,53 @@

> @@ -635,6 +580,36 @@ static int __init kfr2r09_devices_setup(void)
>
>         i2c_register_board_info(0, &kfr2r09_backlight_board_info, 1);
>
> +       /* Set camera clock frequency and register and alias for rj54n1. */
> +       camera_clk = clk_get(NULL, "video_clk");
> +       if (!IS_ERR(camera_clk)) {
> +               clk_set_rate(camera_clk,
> +                            clk_round_rate(camera_clk, CEU_MCLK_FREQ));
> +               clk_put(camera_clk);
> +       }
> +       clk_add_alias(NULL, "1-0050", "video_clk", NULL);
> +
> +       /* set DRVCRB
> +        *
> +        * use 1.8 V for VccQ_VIO
> +        * use 2.85V for VccQ_SR
> +        */
> +       __raw_writew((__raw_readw(DRVCRB) & ~0x0003) | 0x0001, DRVCRB);
> +
> +       gpiod_add_lookup_table(&rj54n1_gpios);
> +
> +       i2c_register_board_info(1, &kfr2r09_i2c_camera, 1);
> +
> +       /* Initialize CEU platform device separately to map memory first */
> +       device_initialize(&kfr2r09_ceu_device.dev);
> +       arch_setup_pdev_archdata(&kfr2r09_ceu_device);

arch_setup_pdev_archdata() is a no-op on SH, so I think this can be
dropped (also in patches 4/5 and 5/5).

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux