Varshit B Pandya has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/44397 )
Change subject: mb/google/dedede: Replace static Camera ACPI by driver for WDoo ......................................................................
mb/google/dedede: Replace static Camera ACPI by driver for WDoo
Signed-off-by: Pandya, Varshit B varshit.b.pandya@intel.com Change-Id: Ib7e875d297c04f35d4e980ff33d9a3767d2910ac --- M src/mainboard/google/dedede/Kconfig M src/mainboard/google/dedede/Kconfig.name M src/mainboard/google/dedede/variants/waddledoo/overridetree.cb 3 files changed, 141 insertions(+), 7 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/97/44397/1
diff --git a/src/mainboard/google/dedede/Kconfig b/src/mainboard/google/dedede/Kconfig index d5057c71..e4c6fb2 100644 --- a/src/mainboard/google/dedede/Kconfig +++ b/src/mainboard/google/dedede/Kconfig @@ -107,10 +107,4 @@ default "wheelie" if BOARD_GOOGLE_WHEELIE default "magolor" if BOARD_GOOGLE_MAGOLOR
-config VARIANT_HAS_CAMERA_ACPI - bool - default n - help - Select this option to enable camera ACPI support on the variant. - endif #BOARD_GOOGLE_BASEBOARD_DEDEDE diff --git a/src/mainboard/google/dedede/Kconfig.name b/src/mainboard/google/dedede/Kconfig.name index 40738a0..b168f19 100644 --- a/src/mainboard/google/dedede/Kconfig.name +++ b/src/mainboard/google/dedede/Kconfig.name @@ -42,7 +42,6 @@ select BOARD_ROMSIZE_KB_32768 select DRIVERS_GENERIC_MAX98357A select DRIVERS_I2C_DA7219 - select VARIANT_HAS_CAMERA_ACPI
config BOARD_GOOGLE_WADDLEDEE bool "Waddledee" diff --git a/src/mainboard/google/dedede/variants/waddledoo/overridetree.cb b/src/mainboard/google/dedede/variants/waddledoo/overridetree.cb index 3943882..7cc2351 100644 --- a/src/mainboard/google/dedede/variants/waddledoo/overridetree.cb +++ b/src/mainboard/google/dedede/variants/waddledoo/overridetree.cb @@ -50,6 +50,21 @@ }, }" device domain 0 on + device pci 05.0 on + chip drivers/intel/mipi_camera + register "acpi_uid" = "0x50000" + register "acpi_name" = ""IPU0"" + register "device_type" = "INTEL_ACPI_CAMERA_CIO2" + + register "cio2_num_ports" = "2" + register "cio2_lanes_used" = "{2,2}" + register "cio2_lane_endpoint[0]" = ""^I2C3.CAM0"" + register "cio2_lane_endpoint[1]" = ""^I2C3.CAM1"" + register "cio2_prt[0]" = "0" + register "cio2_prt[1]" = "2" + device generic 0 on end + end + end device pci 14.0 on chip drivers/usb/acpi device usb 0.0 on @@ -122,6 +137,132 @@ device i2c 10 on end end end # I2C 2 + device pci 15.3 on #I2C #3 CAM0 CAM1 and VCM0 + chip drivers/intel/mipi_camera + register "acpi_hid" = ""OVTI8856"" + register "acpi_uid" = "0" + register "acpi_name" = ""CAM1"" + register "chip_name" = ""Ov 8856 Camera"" + register "device_type" = "INTEL_ACPI_CAMERA_SENSOR" + + register "ssdb.lanes_used" = "2" + register "ssdb.link_used" = "1" + register "ssdb.vcm_type" = "0x0C" + register "vcm_name" = ""VCM0"" + register "num_freq_entries" = "1" + register "link_freq[0]" = "DEFAULT_LINK_FREQ" + register "remote_name" = ""IPU0"" + + register "has_power_resource" = "1" + #Controls + register "clk_panel.clks[0].clknum" = "1" #IMGCLKOUT_1 + register "clk_panel.clks[0].freq" = "1" #19.2 Mhz + + register "gpio_panel.gpio[0].gpio_num" = "GPP_D4" #power_enable + register "gpio_panel.gpio[1].gpio_num" = "GPP_C19" #reset + + #_ON + register "on_seq.ops_cnt" = "4" + register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)" + register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)" + register "on_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 5)" + register "on_seq.ops[3]" = "SEQ_OPS_GPIO_ENABLE(1, 5)" + + #_OFF + register "off_seq.ops_cnt" = "3" + register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(1, 0)" + register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(0, 0)" + register "off_seq.ops[2]" = "SEQ_OPS_CLK_DISABLE(0, 0)" + + device i2c 36 on end + end + chip drivers/intel/mipi_camera + register "acpi_hid" = "ACPI_DT_NAMESPACE_HID" + register "acpi_uid" = "3" + register "acpi_name" = ""VCM0"" + register "chip_name" = ""DW AF DAC"" + register "device_type" = "INTEL_ACPI_CAMERA_VCM" + + register "pr0" = ""\_SB.PCI0.I2C5.CAM1.PRIC"" + register "vcm_compat" = ""dongwoon,dw9714"" + + register "ssdb.lanes_used" = "2" + register "num_freq_entries" = "1" + register "link_freq[0]" = "DEFAULT_LINK_FREQ" + register "remote_name" = ""IPU0"" + device i2c 0C on end + end + chip drivers/intel/mipi_camera + register "acpi_hid" = ""OVTI2740"" + register "acpi_uid" = "0" + register "acpi_name" = ""CAM0"" + register "chip_name" = ""Ov 2740 Camera"" + register "device_type" = "INTEL_ACPI_CAMERA_SENSOR" + register "has_power_resource" = "1" + + register "ssdb.lanes_used" = "2" + register "num_freq_entries" = "1" + register "link_freq[0]" = "360000000" + register "remote_name" = ""IPU0"" + + #Controls + register "clk_panel.clks[0].clknum" = "0" #IMGCLKOUT_3 + register "clk_panel.clks[0].freq" = "1" #19.2 Mhz + + register "gpio_panel.gpio[0].gpio_num" = "GPP_D5" #reset + register "gpio_panel.gpio[1].gpio_num" = "GPP_B14" #power + + #_ON + register "on_seq.ops_cnt" = "4" + register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)" + register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)" + register "on_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 5)" + register "on_seq.ops[3]" = "SEQ_OPS_GPIO_ENABLE(1, 5)" + + #_OFF + register "off_seq.ops_cnt" = "3" + register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(1, 0)" + register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(0, 0)" + register "off_seq.ops[2]" = "SEQ_OPS_CLK_DISABLE(0, 0)" + + device i2c 10 on end + end + chip drivers/intel/mipi_camera + register "acpi_hid" = ""OVTI9734"" + register "acpi_uid" = "0" + register "acpi_name" = ""CAM0"" + register "chip_name" = ""Ov 2740 Camera"" + register "device_type" = "INTEL_ACPI_CAMERA_SENSOR" + register "has_power_resource" = "1" + + register "ssdb.lanes_used" = "2" + register "num_freq_entries" = "1" + register "link_freq[0]" = "360000000" + register "remote_name" = ""IPU0"" + + #Controls + register "clk_panel.clks[0].clknum" = "0" #IMGCLKOUT_3 + register "clk_panel.clks[0].freq" = "1" #19.2 Mhz + + register "gpio_panel.gpio[0].gpio_num" = "GPP_D5" #reset + register "gpio_panel.gpio[1].gpio_num" = "GPP_B14" #power + + #_ON + register "on_seq.ops_cnt" = "4" + register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)" + register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)" + register "on_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 5)" + register "on_seq.ops[3]" = "SEQ_OPS_GPIO_ENABLE(1, 5)" + + #_OFF + register "off_seq.ops_cnt" = "3" + register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(1, 0)" + register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(0, 0)" + register "off_seq.ops[2]" = "SEQ_OPS_CLK_DISABLE(0, 0)" + + device i2c 10 on end + end + end device pci 1c.7 on chip drivers/intel/wifi register "wake" = "GPE0_DW2_03"
Sugnan Prabhu S has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/44397 )
Change subject: mb/google/dedede: Replace static Camera ACPI by driver for WDoo ......................................................................
Patch Set 7:
This change is ready for review.
Sugnan Prabhu S has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/44397 )
Change subject: mb/google/dedede: Replace static Camera ACPI by driver for WDoo ......................................................................
Patch Set 8:
This change is ready for review.
Matt Delco has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/44397 )
Change subject: mb/google/dedede: Replace static Camera ACPI by driver for WDoo ......................................................................
Patch Set 9:
(4 comments)
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... File src/mainboard/google/dedede/variants/waddledoo/overridetree.cb:
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... PS9, Line 184: ACPI_DT_NAMESPACE_HID This is already the default for VCM so doesn't need to be specified.
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... PS9, Line 185: 0 I know this was copied from the asl, but I suspect there's a decent chance there already is (or will eventually be) a PRP0001 with UID 0. Offhand the closest I could find is src/mainboard/google/dedede/variants/baseboard/devicetree.cb using ACPI_DT_NAMESPACE_HID for the cr50, though it doesn't seem to specify a UID. It might be worth checking if there's a conflict on the system (if you have one handy) or just proactively use a higher number.
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... PS9, Line 196: ACPI_DT_NAMESPACE_HID I thought NVM devices used INT3499 (which is the mipi camera driver's default). I realize the asl you're replacing used ACPI_DT_NAMESPACE_HID. I had assumed the driver just auto-detects the chip, though I don't know this for certain nor know if it would work for this chip or not.
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... PS9, Line 229: "GPP_D13" #power_enable_2p8 : register "gpio_panel.gpio[1].gpio_num" = "GPP_D14" I didn't follow the ref-counting change but I'm assuming it's doing some ref-counting on D13 and D14 so that if both camera are on and only 1 is turned off then the other camera still stays on.
Tim Wawrzynczak has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/44397 )
Change subject: mb/google/dedede: Replace static Camera ACPI by driver for WDoo ......................................................................
Patch Set 9:
(2 comments)
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... File src/mainboard/google/dedede/variants/waddledoo/overridetree.cb:
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... PS9, Line 185: 0
I know this was copied from the asl, but I suspect there's a decent chance there already is (or will […]
the drivers/spi/acpi driver (for cr50) will just use the UID it was given (or defaulted to 0), which is 0 in this case, so you would need a different UID.
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... PS9, Line 229: "GPP_D13" #power_enable_2p8 : register "gpio_panel.gpio[1].gpio_num" = "GPP_D14"
I didn't follow the ref-counting change but I'm assuming it's doing some ref-counting on D13 and D14 […]
Yes, it should work exactly that way. There is a static variable in the mipi_camera driver storing the _OFF and _ON resources, and if one (e.g. GPP_D13) is already found in that cache, it will reuse the guard variable/method.
Sugnan Prabhu S has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/44397 )
Change subject: mb/google/dedede: Replace static Camera ACPI by driver for WDoo ......................................................................
Patch Set 9:
(1 comment)
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... File src/mainboard/google/dedede/variants/waddledoo/overridetree.cb:
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... PS9, Line 229: "GPP_D13" #power_enable_2p8 : register "gpio_panel.gpio[1].gpio_num" = "GPP_D14"
Yes, it should work exactly that way. […]
@Matt, Every resource operation (GPIO/clock) is protected with a reference count variable, irrespective whether it is shared or not. The resource is actually disabled only if the reference count reaches zero. Earlier we were following the approach what @Tim mentioned but it was causing issues and complications in handling scenarios where the resource is not properly marked as shared in the devicetree.
Varshit B Pandya has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/44397 )
Change subject: mb/google/dedede: Replace static Camera ACPI by driver for WDoo ......................................................................
Patch Set 9:
(4 comments)
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... File src/mainboard/google/dedede/variants/waddledoo/overridetree.cb:
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... PS9, Line 184: ACPI_DT_NAMESPACE_HID
This is already the default for VCM so doesn't need to be specified.
ACK
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... PS9, Line 185: 0
the drivers/spi/acpi driver (for cr50) will just use the UID it was given (or defaulted to 0), which […]
Please correct me if I am wrong here, if PRP0001 is returned by _HID, the ACPI subsystem will look for the "compatible" property in the device object's _DSD and will use the value of that property to identify the corresponding device in analogy with the original DT device identification algorithm. So will it matter if we have same HID and UID for two devices. Also the scope of these two devices VCM and CR50 will be different.
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... PS9, Line 196: ACPI_DT_NAMESPACE_HID
I thought NVM devices used INT3499 (which is the mipi camera driver's default). […]
I think the ACPI subsystem will look for the "compatible" property in _DSD and link the driver according to the string, which in this case is "atmel,24c1024"
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... PS9, Line 229: "GPP_D13" #power_enable_2p8 : register "gpio_panel.gpio[1].gpio_num" = "GPP_D14"
I didn't follow the ref-counting change but I'm assuming it's doing some ref-counting on D13 and D14 […]
Yes this is correct
Hello Matt Delco, build bot (Jenkins), Tian Shu Qiu, Maulik V Vaghela, Sugnan Prabhu S, Tim Wawrzynczak, Rizwan Qureshi, Ronak Kanabar, Karthikeyan Ramasubramanian,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/44397
to look at the new patch set (#10).
Change subject: mb/google/dedede: Replace static Camera ACPI by driver for WDoo ......................................................................
mb/google/dedede: Replace static Camera ACPI by driver for WDoo
This change updates devicetree to enable SSDT generation for world facing camera and user facing camera of Waddledoo. Also reverts DSDT changes related to both the camera.
Signed-off-by: Pandya, Varshit B varshit.b.pandya@intel.com Change-Id: Ib7e875d297c04f35d4e980ff33d9a3767d2910ac Signed-off-by: Sugnan Prabhu S sugnan.prabhu.s@intel.com --- M src/mainboard/google/dedede/Kconfig M src/mainboard/google/dedede/Kconfig.name D src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/cam0.asl D src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/cam1.asl D src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/camera.asl D src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/ipu_endpoints.asl D src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/ipu_mainboard.asl D src/mainboard/google/dedede/variants/waddledoo/include/variant/acpi/camera.asl M src/mainboard/google/dedede/variants/waddledoo/overridetree.cb 9 files changed, 128 insertions(+), 676 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/97/44397/10
Matt Delco has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/44397 )
Change subject: mb/google/dedede: Replace static Camera ACPI by driver for WDoo ......................................................................
Patch Set 10:
(1 comment)
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... File src/mainboard/google/dedede/variants/waddledoo/overridetree.cb:
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... PS9, Line 196: ACPI_DT_NAMESPACE_HID
I think the ACPI subsystem will look for the "compatible" property in _DSD and link the driver accor […]
AFAIK the PRP0001 scheme is entirely a coreboot invention that's using a vendor ID that doesn't belong to coreboot, and further the scheme of using the "compatible" property is non-standard in ACPI and something that wouldn't work with Windows (since it bases which driver to use solely on the hardware ID). The INT3499 lets Windows use a Intel-specific driver, though since Windows tends to use the monolothic camera representation (vs. individual devices for things like the camera, NVM, and VCM) this might be a moot point (since on Windows a "null" driver would be used for the NVM and VCM devices--these devices would instead be controlled by the camera driver that uses information reported in the camera device to locate the I2C addresses for the NCM and VCM devices).
Sugnan Prabhu S has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/44397 )
Change subject: mb/google/dedede: Replace static Camera ACPI by driver for WDoo ......................................................................
Patch Set 10:
(1 comment)
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... File src/mainboard/google/dedede/variants/waddledoo/overridetree.cb:
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... PS9, Line 203: register "vcm_compat" = ""atmel,24c1024" This is not having any effect here, as the device type is NVM There is a fix in the patch CB:44939, we have to do the same here. https://review.coreboot.org/c/coreboot/+/44939/5/src/mainboard/google/dedede...
Sugnan Prabhu S has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/44397 )
Change subject: mb/google/dedede: Replace static Camera ACPI by driver for WDoo ......................................................................
Patch Set 10:
(1 comment)
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... File src/mainboard/google/dedede/variants/waddledoo/overridetree.cb:
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... PS9, Line 203: register "vcm_compat" = ""atmel,24c1024"
This is not having any effect here, as the device type is NVM […]
CB:45161, you can replace vcm_compat with nvm_compat
Rizwan Qureshi has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/44397 )
Change subject: mb/google/dedede: Replace static Camera ACPI by driver for WDoo ......................................................................
Patch Set 10:
(1 comment)
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... File src/mainboard/google/dedede/variants/waddledoo/overridetree.cb:
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... PS9, Line 196: ACPI_DT_NAMESPACE_HID
AFAIK the PRP0001 scheme is entirely a coreboot invention that's using a vendor ID that doesn't belo […]
I agree. it may be a non-standard implementation of compatible property, but it is agreed upon in the coreboot and linux kernel community (https://www.kernel.org/doc/html/latest/firmware-guide/acpi/enumeration.html#...). And I also agree that the current implementation will not work for windows. This implementation is considering the present need/ask and available resources. We also clarified in the beginning of this effort that we will be prioritizing the support for the linux kernel driver. Having said that, it is not our intention to not support windows driver, we can take it up when there is a need for it.
Hello Matt Delco, build bot (Jenkins), Tian Shu Qiu, Maulik V Vaghela, Rizwan Qureshi, Sugnan Prabhu S, Tim Wawrzynczak, Aamir Bohra, Ronak Kanabar, Karthikeyan Ramasubramanian,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/44397
to look at the new patch set (#11).
Change subject: mb/google/dedede: Replace static Camera ACPI by driver for WDoo ......................................................................
mb/google/dedede: Replace static Camera ACPI by driver for WDoo
This change updates devicetree to enable SSDT generation for world facing camera and user facing camera of Waddledoo. Also reverts DSDT changes related to both the camera.
Signed-off-by: Pandya, Varshit B varshit.b.pandya@intel.com Change-Id: Ib7e875d297c04f35d4e980ff33d9a3767d2910ac Signed-off-by: Sugnan Prabhu S sugnan.prabhu.s@intel.com --- M src/mainboard/google/dedede/Kconfig M src/mainboard/google/dedede/Kconfig.name D src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/cam0.asl D src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/cam1.asl D src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/camera.asl D src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/ipu_endpoints.asl D src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/ipu_mainboard.asl D src/mainboard/google/dedede/variants/waddledoo/include/variant/acpi/camera.asl M src/mainboard/google/dedede/variants/waddledoo/overridetree.cb 9 files changed, 128 insertions(+), 676 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/97/44397/11
Varshit B Pandya has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/44397 )
Change subject: mb/google/dedede: Replace static Camera ACPI by driver for WDoo ......................................................................
Patch Set 11:
(3 comments)
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... File src/mainboard/google/dedede/variants/waddledoo/overridetree.cb:
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... PS9, Line 184: ACPI_DT_NAMESPACE_HID
ACK
Done
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... PS9, Line 185: 0
Please correct me if I am wrong here, if PRP0001 is returned by _HID, the ACPI subsystem will look f […]
Done
https://review.coreboot.org/c/coreboot/+/44397/9/src/mainboard/google/dedede... PS9, Line 203: register "vcm_compat" = ""atmel,24c1024"
CB:45161, you can replace vcm_compat with nvm_compat
Done
Rizwan Qureshi has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/44397 )
Change subject: mb/google/dedede: Replace static Camera ACPI by driver for WDoo ......................................................................
Patch Set 12: Code-Review+2
Patrick Georgi has submitted this change. ( https://review.coreboot.org/c/coreboot/+/44397 )
Change subject: mb/google/dedede: Replace static Camera ACPI by driver for WDoo ......................................................................
mb/google/dedede: Replace static Camera ACPI by driver for WDoo
This change updates devicetree to enable SSDT generation for world facing camera and user facing camera of Waddledoo. Also reverts DSDT changes related to both the camera.
Signed-off-by: Pandya, Varshit B varshit.b.pandya@intel.com Change-Id: Ib7e875d297c04f35d4e980ff33d9a3767d2910ac Signed-off-by: Sugnan Prabhu S sugnan.prabhu.s@intel.com Reviewed-on: https://review.coreboot.org/c/coreboot/+/44397 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Rizwan Qureshi rizwan.qureshi@intel.com --- M src/mainboard/google/dedede/Kconfig M src/mainboard/google/dedede/Kconfig.name D src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/cam0.asl D src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/cam1.asl D src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/camera.asl D src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/ipu_endpoints.asl D src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/ipu_mainboard.asl D src/mainboard/google/dedede/variants/waddledoo/include/variant/acpi/camera.asl M src/mainboard/google/dedede/variants/waddledoo/overridetree.cb 9 files changed, 128 insertions(+), 676 deletions(-)
Approvals: build bot (Jenkins): Verified Rizwan Qureshi: Looks good to me, approved
diff --git a/src/mainboard/google/dedede/Kconfig b/src/mainboard/google/dedede/Kconfig index 328c7e0..79c2995 100644 --- a/src/mainboard/google/dedede/Kconfig +++ b/src/mainboard/google/dedede/Kconfig @@ -24,6 +24,8 @@ select SOC_INTEL_COMMON_BLOCK_DTT select SOC_INTEL_CSE_LITE_SKU select GENERIC_SPD_BIN if !BOARD_GOOGLE_DEDEDE + select DRIVERS_INTEL_MIPI_CAMERA + select SOC_INTEL_COMMON_BLOCK_IPU
if BOARD_GOOGLE_BASEBOARD_DEDEDE
@@ -119,10 +121,4 @@ default "wheelie" if BOARD_GOOGLE_WHEELIE default "magolor" if BOARD_GOOGLE_MAGOLOR
-config VARIANT_HAS_CAMERA_ACPI - bool - default n - help - Select this option to enable camera ACPI support on the variant. - endif #BOARD_GOOGLE_BASEBOARD_DEDEDE diff --git a/src/mainboard/google/dedede/Kconfig.name b/src/mainboard/google/dedede/Kconfig.name index 8c7a51f..bc31ea5 100644 --- a/src/mainboard/google/dedede/Kconfig.name +++ b/src/mainboard/google/dedede/Kconfig.name @@ -34,7 +34,6 @@ select BOARD_GOOGLE_BASEBOARD_DEDEDE select BASEBOARD_DEDEDE_LAPTOP select DRIVERS_GENERIC_MAX98357A - select VARIANT_HAS_CAMERA_ACPI
config BOARD_GOOGLE_WADDLEDOO bool "Waddledoo" @@ -43,7 +42,8 @@ select BOARD_ROMSIZE_KB_32768 select DRIVERS_GENERIC_MAX98357A select DRIVERS_I2C_DA7219 - select VARIANT_HAS_CAMERA_ACPI + select DRIVERS_INTEL_MIPI_CAMERA + select SOC_INTEL_COMMON_BLOCK_IPU
config BOARD_GOOGLE_WADDLEDEE bool "Waddledee" diff --git a/src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/cam0.asl b/src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/cam0.asl deleted file mode 100644 index aca7d04..0000000 --- a/src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/cam0.asl +++ /dev/null @@ -1,187 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ - -Scope (_SB.PCI0.I2C3) -{ - Name (STA0, Zero) - - /* Method to turn off Power Rails */ - Method (POFF, 0) - { - /* Disable PP1200 lane */ - CTXS(GPP_D14) - /* Disable PP2800 lane */ - CTXS(GPP_D13) - } - - Method (PON, 0) - { - /* Enable PP2800 lane */ - STXS(GPP_D13) - /* Enable PP1200 lane */ - STXS(GPP_D14) - } - - PowerResource (FCPR, 0x00, 0x0000) - { - Method (_ON, 0, Serialized) /* _ON_: Power On */ - { - MCON(0, 1) /* Clock 0, 19.2MHz */ - IF(!STA1) - { - /* Other sensor is OFF, so turn on power signals. */ - PON() - } - /* Assert Reset */ - CTXS(GPP_D15) - Sleep(5) /* 5 us */ - /* Deassert Reset */ - STXS(GPP_D15) - Sleep(5) /* 5 us */ - STA0 = 1 - } - - Method (_OFF, 0, Serialized) /* _OFF_: Power Off */ - { - MCOF(0) /* Clock 0 */ - /* Assert Reset */ - CTXS(GPP_D15) - IF(!STA1) - { - /* Other sensor is OFF, so turn off power signals. */ - POFF() - } - STA0 = 0 - } - - Method (_STA, 0, NotSerialized) /* _STA: Status */ - { - Return (STA0) - } - } - - Device (CAM0) - { - Name (_HID, "OVTI9734") /* _HID: Hardware ID */ - - Name (_UID, Zero) /* _UID: Unique ID */ - - Name (_DDN, "Ov 9734 Camera") /* _DDN: DOS Device Name */ - - Method (_STA, 0, NotSerialized) /* _STA: Status */ - { - Return (0x0F) - } - - Name (_CRS, ResourceTemplate () /* _CRS: Current Resource Settings */ - { - I2cSerialBus (0x0036, ControllerInitiated, 0x00061A80, - AddressingMode7Bit, "\_SB.PCI0.I2C3", - 0x00, ResourceConsumer, , - ) - }) - - Name (_PR0, Package (0x01) /* _PR0: Power Resources for D0 */ - { - FCPR - }) - - Name (_PR3, Package (0x01) /* _PR3: Power Resources for D3hot */ - { - FCPR - }) - - Name (_DSD, Package (0x04) /* _DSD: Device-Specific Data */ - { - ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"), - Package (0x01) - { - Package (0x02) - { - "port0", - "PRT0" - } - }, - - ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), - Package (0x01) - { - Package (0x02) - { - "clock-frequency", - 0x0124F800 - }, - } - }) - - Name (PRT0, Package (0x04) - { - ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), - Package (0x01) - { - Package (0x02) - { - "port", - Zero - } - }, - - ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"), - Package (0x01) - { - Package (0x02) - { - "endpoint0", - "EP00" - } - } - }) - - Name (EP00, Package (0x02) - { - ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), - Package (0x05) - { - Package (0x02) - { - "endpoint", - Zero - }, - - Package (0x02) - { - "clock-lanes", - Zero - }, - - Package (0x02) - { - "data-lanes", - Package (0x01) - { - One - } - }, - - Package (0x02) - { - "link-frequencies", - Package (0x01) - { - 180000000 - } - }, - - Package (0x02) - { - "remote-endpoint", - Package (0x03) - { - IPU0, - Zero, - Zero - } - } - } - }) - } -} diff --git a/src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/cam1.asl b/src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/cam1.asl deleted file mode 100644 index ef2a2a0..0000000 --- a/src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/cam1.asl +++ /dev/null @@ -1,308 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ - -Scope (_SB.PCI0.I2C3) -{ - Name (STA1, Zero) - - PowerResource (RCPR, 0x00, 0x0000) - { - Method (_ON, 0, Serialized) /* _ON_: Power On */ - { - MCON(1, 1) /* Clock 1, 19.2MHz */ - /* Check if another sensor is ON */ - IF(!STA0) - { - /* Other sensor is OFF, so turn on power signals. */ - PON() - } - /* Assert Reset */ - CTXS(GPP_D12) - Sleep(5) /* 5 us */ - /* DeAssert Reset */ - STXS(GPP_D12) - Sleep(5) /* 5 us */ - STA1 = 1 - } - - Method (_OFF, 0, Serialized) /* _OFF_: Power Off */ - { - MCOF(1) /* Clock 1 */ - /* Assert Reset */ - CTXS(GPP_D12) - IF(!STA0) - { - /* Other sensor is OFF, so turn off power signals. */ - POFF() - } - STA1 = 0 - } - - Method (_STA, 0, NotSerialized) /* _STA: Status */ - { - Return (STA1) - } - } - - Device(CAM1) - { - Name (_HID, "OVTI8856") /* _HID: Hardware ID */ - - Name (_UID, Zero) /* _UID: Unique ID */ - - Name (_DDN, "Ov 8856 Camera") /* _DDN: DOS Device Name */ - - Method (_STA, 0, NotSerialized) /* _STA: Status */ - { - Return (0x0F) - } - - Name (_CRS, ResourceTemplate () /* _CRS: Current Resource Settings */ - { - I2cSerialBus (0x0010, ControllerInitiated, 0x00061A80, - AddressingMode7Bit, "\_SB.PCI0.I2C3", - 0x00, ResourceConsumer, , - ) - }) - - Name (_PR0, Package (0x01) /* _PR0: Power Resources for D0 */ - { - RCPR - }) - - Name (_PR3, Package (0x01) /* _PR3: Power Resources for D3hot */ - { - RCPR - }) - - Name (_DSD, Package (0x04) /* _DSD: Device-Specific Data */ - { - ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"), - Package (0x01) - { - Package (0x02) - { - "port0", - "PRT0" - } - }, - - ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), - Package (0x02) - { - Package (0x02) - { - "clock-frequency", - 0x0124F800 - }, - - Package (0x02) - { - "lens-focus", - Package (0x01) - { - VCM0 - } - } - } - }) - - Name (PRT0, Package (0x04) - { - ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), - Package (0x01) - { - Package (0x02) - { - "port", - Zero - } - }, - - ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"), - Package (0x01) - { - Package (0x02) - { - "endpoint0", - "EP00" - } - } - }) - - Name (EP00, Package (0x02) - { - ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), - Package (0x05) - { - Package (0x02) - { - "endpoint", - Zero - }, - - Package (0x02) - { - "clock-lanes", - Zero - }, - - Package (0x02) - { - "data-lanes", - Package (0x04) - { - One, - 0x02, - 0x03, - 0x04, - } - }, - - Package (0x02) - { - "link-frequencies", - Package (0x02) - { - 0x15752A00, - 0xABA9500 - } - }, - - Package (0x02) - { - "remote-endpoint", - Package (0x03) - { - IPU0, - One, - Zero - } - } - } - }) - } - - Device(VCM0) - { - Name (_HID, "PRP0001") /* _HID: Hardware ID */ - - Name (_UID, 0x00) /* _UID: Unique ID */ - - Name (_DDN, "DW9768 VCM") /* _DDN: DOS Device Name */ - - Method (_STA, 0, NotSerialized) /* _STA: Status */ - { - Return (0x0F) - } - - Name (_CRS, ResourceTemplate () /* _CRS: Current Resource Settings */ - { - I2cSerialBusV2 (0x000C, ControllerInitiated, 0x00061A80, - AddressingMode7Bit, "\_SB.PCI0.I2C3", - 0x00, ResourceConsumer, , Exclusive, - ) - }) - - Name (_DEP, Package (0x01) /* _DEP: Dependencies */ - { - CAM1 - }) - - Name (_PR0, Package (0x01) /* _PR0: Power Resources for D0 */ - { - RCPR - }) - - Name (_PR3, Package (0x01) /* _PR3: Power Resources for D3hot */ - { - RCPR - }) - - Name (_DSD, Package (0x02) /* _DSD: Device-Specific Data */ - { - ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), /* Device Properties for _DSD */ - Package (0x01) - { - Package (0x02) - { - "compatible", - "dongwoon,dw9768" - } - } - }) - } - - Device (NVM0) - { - Name (_HID, "PRP0001") /* _HID: Hardware ID */ - - Name (_UID, 0x01) /* _UID: Unique ID */ - - Name (_DDN, "AT24 EEPROM") /* _DDN: DOS Device Name */ - - Method (_STA, 0, NotSerialized) /* _STA: Status*/ - { - Return (0x0F) - } - - Name (_CRS, ResourceTemplate () /* _CRS: Current Resource Settings */ - { - I2cSerialBusV2 (0x0058, ControllerInitiated, 0x00061A80, - AddressingMode7Bit, "\_SB.PCI0.I2C3", - 0x00, ResourceConsumer, , Exclusive, - ) - }) - - Name (_DEP, Package (0x01) /* _DEP: Dependencies */ - { - CAM1 - }) - - Name (_PR0, Package (0x01) /* _PR0: Power Resources for D0 */ - { - RCPR - }) - - Name (_PR3, Package (0x01) /* _PR3: Power Resources for D3hot */ - { - RCPR - }) - - Name (_DSD, Package (0x02) /* _DSD: Device-Specific Data */ - { - ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), /* Device Properties for _DSD */ - Package (0x05) - { - Package (0x02) - { - "size", - 0x2800 - }, - - Package (0x02) - { - "pagesize", - One - }, - - Package (0x02) - { - "read-only", - One - }, - - Package (0x02) - { - "address-width", - 0x0E - }, - - Package (0x02) - { - "compatible", - "atmel,24c1024" - } - } - }) - } -} diff --git a/src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/camera.asl b/src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/camera.asl deleted file mode 100644 index 51b4ebc..0000000 --- a/src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/camera.asl +++ /dev/null @@ -1,6 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ - -#include "ipu_mainboard.asl" -#include "ipu_endpoints.asl" -#include "cam0.asl" -#include "cam1.asl" diff --git a/src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/ipu_endpoints.asl b/src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/ipu_endpoints.asl deleted file mode 100644 index 81cbf61..0000000 --- a/src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/ipu_endpoints.asl +++ /dev/null @@ -1,84 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ - -Scope (_SB.PCI0.IPU0) -{ - Name (EP00, Package (0x02) - { - ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), - Package (0x04) - { - Package (0x02) - { - "endpoint", - Zero - }, - - Package (0x02) - { - "clock-lanes", - Zero - }, - - Package (0x02) - { - "data-lanes", - Package (0x01) - { - One, - } - }, - - Package (0x02) - { - "remote-endpoint", - Package (0x03) - { - ^I2C3.CAM0, - Zero, - Zero - } - } - } - }) - Name (EP10, Package (0x02) - { - ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), - Package (0x04) - { - Package (0x02) - { - "endpoint", - Zero - }, - - Package (0x02) - { - "clock-lanes", - Zero - }, - - Package (0x02) - { - "data-lanes", - Package (0x04) - { - One, - 0x02, - 0x03, - 0x04, - } - }, - - Package (0x02) - { - "remote-endpoint", - Package (0x03) - { - ^I2C3.CAM1, - Zero, - Zero - } - } - } - }) -} diff --git a/src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/ipu_mainboard.asl b/src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/ipu_mainboard.asl deleted file mode 100644 index 34c3d4b..0000000 --- a/src/mainboard/google/dedede/variants/baseboard/include/baseboard/acpi/ipu_mainboard.asl +++ /dev/null @@ -1,79 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ - -Scope (_SB.PCI0) -{ - Device (IPU0) - { - Name (_ADR, 0x00050000) /* _ADR: Address */ - - Name (_DDN, "Camera and Imaging Subsystem") /* _DDN: DOS Device Name */ - } -} - -Scope (_SB.PCI0.IPU0) -{ - Name (_DSD, Package (0x02) /* _DSD: Device-Specific Data */ - { - ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"), - Package (0x02) - { - Package (0x02) - { - "port0", - "PRT0" - }, - - Package (0x02) - { - "port1", - "PRT1" - } - } - }) - - Name (PRT0, Package (0x04) - { - ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), - Package (0x01) - { - Package (0x02) - { - "port", - Zero - } - }, - - ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"), - Package (0x01) - { - Package (0x02) - { - "endpoint0", - "EP00" - } - } - }) - - Name (PRT1, Package (0x04) - { - ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), - Package (0x01) - { - Package (0x02) - { - "port", - 2 - } - }, - - ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"), - Package (0x01) - { - Package (0x02) - { - "endpoint0", - "EP10" - } - } - }) -} diff --git a/src/mainboard/google/dedede/variants/waddledoo/include/variant/acpi/camera.asl b/src/mainboard/google/dedede/variants/waddledoo/include/variant/acpi/camera.asl deleted file mode 100644 index 318b0de..0000000 --- a/src/mainboard/google/dedede/variants/waddledoo/include/variant/acpi/camera.asl +++ /dev/null @@ -1,3 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ - -#include <baseboard/acpi/camera.asl> diff --git a/src/mainboard/google/dedede/variants/waddledoo/overridetree.cb b/src/mainboard/google/dedede/variants/waddledoo/overridetree.cb index 396c4a5..969bebb 100644 --- a/src/mainboard/google/dedede/variants/waddledoo/overridetree.cb +++ b/src/mainboard/google/dedede/variants/waddledoo/overridetree.cb @@ -50,7 +50,21 @@ }, }" device domain 0 on - device pci 05.0 on end # IPU - MIPI Camera + device pci 05.0 on # IPU - MIPI Camera + chip drivers/intel/mipi_camera + register "acpi_uid" = "0x50000" + register "acpi_name" = ""IPU0"" + register "device_type" = "INTEL_ACPI_CAMERA_CIO2" + + register "cio2_num_ports" = "2" + register "cio2_lanes_used" = "{1,4}" + register "cio2_lane_endpoint[0]" = ""^I2C3.CAM0"" + register "cio2_lane_endpoint[1]" = ""^I2C3.CAM1"" + register "cio2_prt[0]" = "0" + register "cio2_prt[1]" = "2" + device generic 0 on end + end + end device pci 14.0 on chip drivers/usb/acpi device usb 0.0 on @@ -123,6 +137,115 @@ device i2c 10 on end end end # I2C 2 + device pci 15.3 on #I2C #3 CAM0 CAM1 and VCM0 + chip drivers/intel/mipi_camera + register "acpi_hid" = ""OVTI8856"" + register "acpi_uid" = "0" + register "acpi_name" = ""CAM1"" + register "chip_name" = ""Ov 8856 Camera"" + register "device_type" = "INTEL_ACPI_CAMERA_SENSOR" + + register "ssdb.lanes_used" = "4" + register "ssdb.link_used" = "1" + register "ssdb.vcm_type" = "0x0C" + register "vcm_name" = ""VCM0"" + register "num_freq_entries" = "2" + register "link_freq[0]" = "360000000" + register "link_freq[1]" = "180000000" + register "remote_name" = ""IPU0"" + + register "has_power_resource" = "1" + #Controls + register "clk_panel.clks[0].clknum" = "1" #IMGCLKOUT_1 + register "clk_panel.clks[0].freq" = "1" #19.2 Mhz + + register "gpio_panel.gpio[0].gpio_num" = "GPP_D13" #power_enable_2p8 + register "gpio_panel.gpio[1].gpio_num" = "GPP_D14" #power_enable_1p2 + register "gpio_panel.gpio[2].gpio_num" = "GPP_D12" #reset + + #_ON + register "on_seq.ops_cnt" = "5" + register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)" + register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)" + register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(1, 5)" + register "on_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 5)" + register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(2, 5)" + + #_OFF + register "off_seq.ops_cnt" = "4" + register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)" + register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(2, 0)" + register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)" + register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(0, 0)" + + device i2c 10 on end + end + chip drivers/intel/mipi_camera + register "acpi_uid" = "2" + register "acpi_name" = ""VCM0"" + register "chip_name" = ""DW9768 VCM"" + register "device_type" = "INTEL_ACPI_CAMERA_VCM" + + register "pr0" = ""\_SB.PCI0.I2C3.CAM1.PRIC"" + register "vcm_compat" = ""dongwoon,dw9768"" + + device i2c 0C on end + end + chip drivers/intel/mipi_camera + register "acpi_uid" = "1" + register "acpi_name" = ""NVM0"" + register "chip_name" = ""AT24 EEPROM"" + register "device_type" = "INTEL_ACPI_CAMERA_NVM" + + register "pr0" = ""\_SB.PCI0.I2C3.CAM1.PRIC"" + register "nvm_compat" = ""atmel,24c1024"" + + register "nvm_size" = "0x2800" + register "nvm_pagesize" = "0x01" + register "nvm_readonly" = "0x01" + register "nvm_width" = "0x0E" + + device i2c 58 on end + end + chip drivers/intel/mipi_camera + register "acpi_hid" = ""OVTI9734"" + register "acpi_uid" = "0" + register "acpi_name" = ""CAM0"" + register "chip_name" = ""Ov 9734 Camera"" + register "device_type" = "INTEL_ACPI_CAMERA_SENSOR" + register "has_power_resource" = "1" + + register "ssdb.lanes_used" = "1" + register "num_freq_entries" = "1" + register "link_freq[0]" = "180000000" + register "remote_name" = ""IPU0"" + + #Controls + register "clk_panel.clks[0].clknum" = "0" #IMGCLKOUT_0 + register "clk_panel.clks[0].freq" = "1" #19.2 Mhz + + register "gpio_panel.gpio[0].gpio_num" = "GPP_D13" #power_enable_2p8 + register "gpio_panel.gpio[1].gpio_num" = "GPP_D14" #power_enable_1p2 + register "gpio_panel.gpio[2].gpio_num" = "GPP_D15" #reset + + #_ON + register "on_seq.ops_cnt" = "5" + register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)" + register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)" + register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(1, 5)" + register "on_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 5)" + register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(2, 5)" + + #_OFF + register "off_seq.ops_cnt" = "4" + register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)" + register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(2, 0)" + register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)" + register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(0, 0)" + + device i2c 36 on end + end + end device pci 1c.7 on chip drivers/intel/wifi register "wake" = "GPE0_DW2_03"