Skip to content

Conversation

@6by9
Copy link
Contributor

@6by9 6by9 commented Jul 6, 2020

Pulls in a driver for OV9281 from Rockchip's kernel tree, and then fixes it up to match mainline.

As it stands the first 3 commits won't build, but also the module isn't in the defconfig. Patch 4 fixes up the driver. The patches could be squashed but I really wanted to leave the history of where it came from.

Just noted that I've missed adding it to the defconfig, but also the patch for the Vision Components board doesn't work as the ID comes back as 0x72FF, so I'm reworking that.

Zefa Chen and others added 3 commits July 6, 2020 17:49
Change-Id: I7b77250bbc56d2f861450cf77271ad15f9b88ab1
Signed-off-by: Zefa Chen <[email protected]>
Takes the ov9281 part only from the Rockchip's patch.

Change-Id: I30e833baf2c1bb07d6d87ddb3b00759ab45a90e4
Signed-off-by: Zefa Chen <[email protected]>
…and hal3

Adds the ov9281 parts of the Rockchip patch adding enum_frame_interval to
a large number of drivers.

Change-Id: I03344cd6cf278dd7c18fce8e97479089ef185a5c
Signed-off-by: Zefa Chen <[email protected]>
@6by9
Copy link
Contributor Author

6by9 commented Jul 6, 2020

@naushir @davidplowman Just FYI.

@6by9 6by9 force-pushed the rpi-5.4.y-unicam branch from b393625 to a6d0e06 Compare July 6, 2020 17:46
@6by9
Copy link
Contributor Author

6by9 commented Jul 6, 2020

defconfigs and reading the chip ID fixed.
Naush - if I you fancied a quick review it would be appreciated.

Copy link
Contributor

@naushir naushir left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given this driver is imported from another tree, you may not want to address these minor things.

@6by9
Copy link
Contributor Author

6by9 commented Jul 7, 2020

Given this driver is imported from another tree, you may not want to address these minor things.

I have fixups for general API usage, so fixups on style can go in there too.

@6by9
Copy link
Contributor Author

6by9 commented Jul 7, 2020

More fixups required - I ran v4l2-compliance against it and got 8 failures. Colorspace mainly, and some streaming ioctl ones.

6by9 added 4 commits July 7, 2020 11:24
…om code

The Rockchip driver was based on a 4.4 kernel, and had several custom
Rockchip parts.

Update to 5.4 kernel APIs, with the relevant controls required by
libcamera, and remove custom Rockchip parts.

Signed-off-by: Dave Stevenson <[email protected]>
Vision Components have made an OV9281 module which blocks reading
back the majority of registers to comply with NDAs, and in doing
so doesn't allow auto-increment register reading as used when
reading the chip ID.

Use two reads and manually combine the results.

Signed-off-by: Dave Stevenson <[email protected]>
Adds an overlay for the OV9281 mono imaging sensor using 2 CSI-2
data lanes.

Signed-off-by: Dave Stevenson <[email protected]>
Adds the driver for use by the dtoverlay.

Signed-off-by: Dave Stevenson <[email protected]>
@6by9 6by9 force-pushed the rpi-5.4.y-unicam branch from a6d0e06 to 3e26f10 Compare July 7, 2020 14:10
@6by9
Copy link
Contributor Author

6by9 commented Jul 7, 2020

Updated. Hopefully thaat is all the changes required for libcamera to be happy too.

@6by9 6by9 changed the title WIP: OV9281 driver and overlay OV9281 driver and overlay Jul 7, 2020
@naushir
Copy link
Contributor

naushir commented Jul 7, 2020

LGTM

@pelwell
Copy link
Contributor

pelwell commented Jul 7, 2020

I've not seen anything wrong with it.

@pelwell pelwell merged commit dfdb9e9 into raspberrypi:rpi-5.4.y Jul 7, 2020
popcornmix added a commit to raspberrypi/firmware that referenced this pull request Jul 13, 2020
kernel: vc4_hdmi: Support HBR audio
See: raspberrypi/linux#3717

kernel: OV7251 overlay and defconfig
See: raspberrypi/linux#3714

kernel: Imx290 & unicam v4l2-compliance fixes
See: raspberrypi/linux#3712

kernel: Enhances the DAC+ driver to control the optional headphone amplifier
See: raspberrypi/linux#3711

kernel: OV9281 driver and overlay
See: raspberrypi/linux#3709

kernel: dtoverlays: Fixup imx219 and imx477 overlays due to parsing failures
See: raspberrypi/linux#3706

kernel: FKMS: max refresh rate and blocking 1366x768
See: raspberrypi/linux#3704

kernel: Fix lockups and IRQ jitter on multicore RasPis
See: raspberrypi/linux#3703

kernel: dts: Further simplify firmware clocks
See: raspberrypi/linux#3609

kernel: configs: Add CAN_EMS_USB=m
See: raspberrypi/linux#3716

kernel: configs: Enable CONFIG_BLK_DEV_NVME=m

kernel: ARM: dts: Make bcm2711 dts more like 5.7

firmware: arm_loader: Don't enable the ARM USB IRQ
See: raspberrypi/linux#3703

firmware: hdmi: Remove M2MC/BVB min turbo clock request
popcornmix added a commit to Hexxeh/rpi-firmware that referenced this pull request Jul 13, 2020
kernel: vc4_hdmi: Support HBR audio
See: raspberrypi/linux#3717

kernel: OV7251 overlay and defconfig
See: raspberrypi/linux#3714

kernel: Imx290 & unicam v4l2-compliance fixes
See: raspberrypi/linux#3712

kernel: Enhances the DAC+ driver to control the optional headphone amplifier
See: raspberrypi/linux#3711

kernel: OV9281 driver and overlay
See: raspberrypi/linux#3709

kernel: dtoverlays: Fixup imx219 and imx477 overlays due to parsing failures
See: raspberrypi/linux#3706

kernel: FKMS: max refresh rate and blocking 1366x768
See: raspberrypi/linux#3704

kernel: Fix lockups and IRQ jitter on multicore RasPis
See: raspberrypi/linux#3703

kernel: dts: Further simplify firmware clocks
See: raspberrypi/linux#3609

kernel: configs: Add CAN_EMS_USB=m
See: raspberrypi/linux#3716

kernel: configs: Enable CONFIG_BLK_DEV_NVME=m

kernel: ARM: dts: Make bcm2711 dts more like 5.7

firmware: arm_loader: Don't enable the ARM USB IRQ
See: raspberrypi/linux#3703

firmware: hdmi: Remove M2MC/BVB min turbo clock request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants