mirror of
				https://github.com/NixOS/nixos-hardware.git
				synced 2025-11-04 17:27:14 +08:00 
			
		
		
		
	Merge pull request #1605 from RossComputerGuy/fix/fyde
fydetab/duo: fix hardware.firmware being applied
This commit is contained in:
		@@ -5,6 +5,8 @@ The Fydetab Duo is an open source and hackable tablet by FydeOS.
 | 
				
			|||||||
## Features
 | 
					## Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Display: **works**
 | 
					- Display: **works**
 | 
				
			||||||
 | 
					  - X11: **untested**
 | 
				
			||||||
 | 
					  - Wayland: **not working** (niri, sway, COSMIC)
 | 
				
			||||||
- GPU driver: **not working**
 | 
					- GPU driver: **not working**
 | 
				
			||||||
- WiFi: **working**
 | 
					- WiFi: **working**
 | 
				
			||||||
- Cellular: **untested**
 | 
					- Cellular: **untested**
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6540,7 +6540,7 @@ CONFIG_HID_WIIMOTE=m
 | 
				
			|||||||
# CONFIG_HID_XINMO is not set
 | 
					# CONFIG_HID_XINMO is not set
 | 
				
			||||||
# CONFIG_HID_ZEROPLUS is not set
 | 
					# CONFIG_HID_ZEROPLUS is not set
 | 
				
			||||||
# CONFIG_HID_ZYDACRON is not set
 | 
					# CONFIG_HID_ZYDACRON is not set
 | 
				
			||||||
# CONFIG_HID_SENSOR_HUB is not set
 | 
					CONFIG_HID_SENSOR_HUB=m
 | 
				
			||||||
# CONFIG_HID_ALPS is not set
 | 
					# CONFIG_HID_ALPS is not set
 | 
				
			||||||
# CONFIG_HID_MCP2221 is not set
 | 
					# CONFIG_HID_MCP2221 is not set
 | 
				
			||||||
# end of Special HID drivers
 | 
					# end of Special HID drivers
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -43,56 +43,68 @@ in
 | 
				
			|||||||
      })
 | 
					      })
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    hardware = {
 | 
					    hardware = lib.mkMerge [
 | 
				
			||||||
      deviceTree = lib.mkMerge [
 | 
					      {
 | 
				
			||||||
        {
 | 
					        deviceTree = lib.mkMerge [
 | 
				
			||||||
          name = "rockchip/rk3588s-fydetab-duo.dtb";
 | 
					          {
 | 
				
			||||||
        }
 | 
					            name = "rockchip/rk3588s-fydetab-duo.dtb";
 | 
				
			||||||
        (lib.mkIf config.hardware.fydetab.duo.enablePanthor {
 | 
					          }
 | 
				
			||||||
          overlays = [
 | 
					          (lib.mkIf config.hardware.fydetab.duo.enablePanthor {
 | 
				
			||||||
            {
 | 
					            overlays = [
 | 
				
			||||||
              name = "fydetab-panthor-gpu";
 | 
					              {
 | 
				
			||||||
              dtsText = ''
 | 
					                name = "fydetab-panthor-gpu";
 | 
				
			||||||
                /dts-v1/;
 | 
					                dtsText = ''
 | 
				
			||||||
                /plugin/;
 | 
					                  /dts-v1/;
 | 
				
			||||||
 | 
					                  /plugin/;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                #include <dt-bindings/clock/rk3588-cru.h>
 | 
					                  #include <dt-bindings/clock/rk3588-cru.h>
 | 
				
			||||||
                #include <dt-bindings/interrupt-controller/arm-gic.h>
 | 
					                  #include <dt-bindings/interrupt-controller/arm-gic.h>
 | 
				
			||||||
                #include <dt-bindings/power/rk3588-power.h>
 | 
					                  #include <dt-bindings/power/rk3588-power.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                / {
 | 
					                  / {
 | 
				
			||||||
                  compatible = "rockchip,rk3588s-tablet-12c-linux";
 | 
					                    compatible = "rockchip,rk3588s-tablet-12c-linux";
 | 
				
			||||||
                  fragment@0 {
 | 
					                    fragment@0 {
 | 
				
			||||||
                    target = <&gpu>;
 | 
					                      target = <&gpu>;
 | 
				
			||||||
                    __overlay__ {
 | 
					                      __overlay__ {
 | 
				
			||||||
                      status = "disabled";
 | 
					                        status = "disabled";
 | 
				
			||||||
 | 
					                      };
 | 
				
			||||||
 | 
					                    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    fragment@1 {
 | 
				
			||||||
 | 
					                      target = <&gpu_panthor>;
 | 
				
			||||||
 | 
					                      __overlay__ {
 | 
				
			||||||
 | 
					                        status = "okay";
 | 
				
			||||||
 | 
					                        mali-supply = <&vdd_gpu_s0>;
 | 
				
			||||||
 | 
					                      };
 | 
				
			||||||
                    };
 | 
					                    };
 | 
				
			||||||
                  };
 | 
					                  };
 | 
				
			||||||
 | 
					                '';
 | 
				
			||||||
                  fragment@1 {
 | 
					              }
 | 
				
			||||||
                    target = <&gpu_panthor>;
 | 
					            ];
 | 
				
			||||||
                    __overlay__ {
 | 
					          })
 | 
				
			||||||
                      status = "okay";
 | 
					        ];
 | 
				
			||||||
                      mali-supply = <&vdd_gpu_s0>;
 | 
					        rockchip = {
 | 
				
			||||||
                    };
 | 
					          rk3588.enable = true;
 | 
				
			||||||
                  };
 | 
					          platformFirmware = pkgs.callPackage ./u-boot.nix { };
 | 
				
			||||||
                };
 | 
					        };
 | 
				
			||||||
              '';
 | 
					      }
 | 
				
			||||||
            }
 | 
					      (lib.mkIf config.networking.wireless.iwd.enable {
 | 
				
			||||||
          ];
 | 
					        firmware = [
 | 
				
			||||||
        })
 | 
					          # Only iwd is supported by the interface
 | 
				
			||||||
      ];
 | 
					          ap6275pFirmware
 | 
				
			||||||
      rockchip = {
 | 
					        ];
 | 
				
			||||||
        rk3588.enable = true;
 | 
					      })
 | 
				
			||||||
        platformFirmware = pkgs.callPackage ./u-boot.nix { };
 | 
					      (lib.mkIf config.hardware.graphics.enable {
 | 
				
			||||||
      };
 | 
					        firmware = [
 | 
				
			||||||
      firmware = lib.mkMerge [
 | 
					          (pkgs.callPackage ./mali-g610.nix { })
 | 
				
			||||||
        # Only iwd is supported by the interface
 | 
					        ];
 | 
				
			||||||
        (lib.mkIf config.networking.wireless.iwd.enable ap6275pFirmware)
 | 
					      })
 | 
				
			||||||
        (lib.mkIf config.hardware.graphics.enable (pkgs.callPackage ./mali-g610.nix { }))
 | 
					      (lib.mkIf config.hardware.sensor.iio.enable {
 | 
				
			||||||
        (lib.mkIf config.hardware.sensor.iio.enable (pkgs.callPackage ./himax.nix { }))
 | 
					        firmware = [
 | 
				
			||||||
      ];
 | 
					          (pkgs.callPackage ./himax.nix { })
 | 
				
			||||||
    };
 | 
					        ];
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    systemd.services.bluetooth-fydetab = lib.mkIf config.hardware.bluetooth.enable {
 | 
					    systemd.services.bluetooth-fydetab = lib.mkIf config.hardware.bluetooth.enable {
 | 
				
			||||||
      description = "FydeTab Duo Bluetooth fix";
 | 
					      description = "FydeTab Duo Bluetooth fix";
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,6 +9,7 @@ stdenv.mkDerivation (_finalAttrs: {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  src = fetchurl {
 | 
					  src = fetchurl {
 | 
				
			||||||
    url = "https://github.com/Linux-for-Fydetab-Duo/pkgbuilds/raw/f4c012bd42d87f677370f987f703982d53cd233d/fydetabduo-post-install/Himax_firmware.bin";
 | 
					    url = "https://github.com/Linux-for-Fydetab-Duo/pkgbuilds/raw/f4c012bd42d87f677370f987f703982d53cd233d/fydetabduo-post-install/Himax_firmware.bin";
 | 
				
			||||||
 | 
					    hash = "sha256-z0p/zXcNTBdhKCV6GmM2C8C02lu4Wkb2HP+Ir/nQJTc=";
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  compressFirmware = false;
 | 
					  compressFirmware = false;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user