Message ID | 20230515160032.126742-7-macroalpha82@gmail.com |
---|---|
State | Accepted |
Commit | 182d0ba6d6fe2155571babcc7b09f7a838e00e92 |
Delegated to: | Kever Yang |
Headers | show |
Series | Add Support for RG353PS and Panel Auto Detection | expand |
On 2023/5/16 00:00, Chris Morgan wrote: > From: Chris Morgan <macromorgan@hotmail.com> > > Update the Anbernic RGxx3 documentation to note that panel detection > has been added and how it works. > > Signed-off-by: Chris Morgan <macromorgan@hotmail.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com> Thanks, - Kever > --- > doc/board/anbernic/rgxx3.rst | 31 ++++++++++++++++++++----------- > 1 file changed, 20 insertions(+), 11 deletions(-) > > diff --git a/doc/board/anbernic/rgxx3.rst b/doc/board/anbernic/rgxx3.rst > index afa7538282..5aa676aa1d 100644 > --- a/doc/board/anbernic/rgxx3.rst > +++ b/doc/board/anbernic/rgxx3.rst > @@ -7,27 +7,36 @@ This allows U-Boot to boot the following Anbernic devices: > > - Anbernic RG353M > - Anbernic RG353P > + - Anbernic RG353PS > - Anbernic RG353V > - Anbernic RG353VS > - Anbernic RG503 > > The correct device is detected automatically by comparing ADC values > -from ADC channel 1. In the event of an RG353V, an attempt is then made > -to probe for an eMMC and if it fails the device is assumed to be an > -RG353VS. Based on the detected device, the environment variables > -"board", "board_name", and "fdtfile" are set to the correct values > -corresponding to the board which can be read by a boot script to boot > -with the correct device tree. > - > -Please note that there are some versions of the RG353 devices with > -different panels. Panel auto-detection is planned for a later date. > +from ADC channel 1. In the event of an RG353V or RG353P, an attempt > +is then made to probe for an eMMC and if it fails the device is assumed > +to be an RG353VS or RG353PS. Based on the detected device, the > +environment variables "board", "board_name", and "fdtfile" are set to > +the correct values corresponding to the board which can be read by a > +boot script to boot with the correct device tree. If the board detected > +is not of type RG503 (which currently has only 1 panel revision) a > +panel detect is then performed by probing a "dummy" display on the DSI > +bus and then querying the display ID. The display ID is then compared > +to a table to get the known compatible string for use in Linux, and > +this string is saved as an environment variable of "panel". > + > +FDT fixups are performed in the event of an RG353M to change the device > +name, or in the event the panel detected does not match the devicetree. > +This allows Linux to load the correct panel driver without having to > +know exactly which panel is used (as there is no user distingushable > +way to tell). > > Building U-Boot > --------------- > > .. code-block:: bash > > - $ export CROSS_COMPILE=aarch64-none-elf- > + $ export CROSS_COMPILE=aarch64-linux-gnu- > $ export BL31=../rkbin/bin/rk35/rk3568_bl31_v1.34.elf > $ export ROCKCHIP_TPL=../rkbin/bin/rk35/rk3568_ddr_1056MHz_v1.13.bin > $ make anbernic-rgxx3_defconfig > @@ -40,7 +49,7 @@ Image installation > ------------------ > > Write the ``u-boot-rockchip.bin`` to an SD card offset 32kb from the > -start. > +start. Please note that eMMC booting has not been tested at this time. > > .. code-block:: bash >
diff --git a/doc/board/anbernic/rgxx3.rst b/doc/board/anbernic/rgxx3.rst index afa7538282..5aa676aa1d 100644 --- a/doc/board/anbernic/rgxx3.rst +++ b/doc/board/anbernic/rgxx3.rst @@ -7,27 +7,36 @@ This allows U-Boot to boot the following Anbernic devices: - Anbernic RG353M - Anbernic RG353P + - Anbernic RG353PS - Anbernic RG353V - Anbernic RG353VS - Anbernic RG503 The correct device is detected automatically by comparing ADC values -from ADC channel 1. In the event of an RG353V, an attempt is then made -to probe for an eMMC and if it fails the device is assumed to be an -RG353VS. Based on the detected device, the environment variables -"board", "board_name", and "fdtfile" are set to the correct values -corresponding to the board which can be read by a boot script to boot -with the correct device tree. - -Please note that there are some versions of the RG353 devices with -different panels. Panel auto-detection is planned for a later date. +from ADC channel 1. In the event of an RG353V or RG353P, an attempt +is then made to probe for an eMMC and if it fails the device is assumed +to be an RG353VS or RG353PS. Based on the detected device, the +environment variables "board", "board_name", and "fdtfile" are set to +the correct values corresponding to the board which can be read by a +boot script to boot with the correct device tree. If the board detected +is not of type RG503 (which currently has only 1 panel revision) a +panel detect is then performed by probing a "dummy" display on the DSI +bus and then querying the display ID. The display ID is then compared +to a table to get the known compatible string for use in Linux, and +this string is saved as an environment variable of "panel". + +FDT fixups are performed in the event of an RG353M to change the device +name, or in the event the panel detected does not match the devicetree. +This allows Linux to load the correct panel driver without having to +know exactly which panel is used (as there is no user distingushable +way to tell). Building U-Boot --------------- .. code-block:: bash - $ export CROSS_COMPILE=aarch64-none-elf- + $ export CROSS_COMPILE=aarch64-linux-gnu- $ export BL31=../rkbin/bin/rk35/rk3568_bl31_v1.34.elf $ export ROCKCHIP_TPL=../rkbin/bin/rk35/rk3568_ddr_1056MHz_v1.13.bin $ make anbernic-rgxx3_defconfig @@ -40,7 +49,7 @@ Image installation ------------------ Write the ``u-boot-rockchip.bin`` to an SD card offset 32kb from the -start. +start. Please note that eMMC booting has not been tested at this time. .. code-block:: bash