flip |= CCS_IMAGE_ORIENTATION_VERTICAL_FLIP;
        }
 
-       flip ^= sensor->hvflip_inv_mask;
-
        dev_dbg(&client->dev, "flip %u\n", flip);
        return sensor->default_pixel_order ^ flip;
 }
                if (sensor->vflip->val)
                        orient |= CCS_IMAGE_ORIENTATION_VERTICAL_FLIP;
 
-               orient ^= sensor->hvflip_inv_mask;
-
                ccs_update_mbus_formats(sensor);
 
                break;
        struct v4l2_fwnode_endpoint bus_cfg = { .bus_type = V4L2_MBUS_UNKNOWN };
        struct fwnode_handle *ep;
        struct fwnode_handle *fwnode = dev_fwnode(dev);
-       u32 rotation;
        unsigned int i;
        int rval;
 
                goto out_err;
        }
 
-       rval = fwnode_property_read_u32(fwnode, "rotation", &rotation);
-       if (!rval) {
-               switch (rotation) {
-               case 180:
-                       hwcfg->module_board_orient =
-                               CCS_MODULE_BOARD_ORIENT_180;
-                       fallthrough;
-               case 0:
-                       break;
-               default:
-                       dev_err(dev, "invalid rotation %u\n", rotation);
-                       rval = -EINVAL;
-                       goto out_err;
-               }
-       }
-
        rval = fwnode_property_read_u32(dev_fwnode(dev), "clock-frequency",
                                        &hwcfg->ext_clk);
        if (rval)
        if (rval < 0)
                goto out_free_ccs_limits;
 
-       /*
-        * Handle Sensor Module orientation on the board.
-        *
-        * The application of H-FLIP and V-FLIP on the sensor is modified by
-        * the sensor orientation on the board.
-        *
-        * For CCS_BOARD_SENSOR_ORIENT_180 the default behaviour is to set
-        * both H-FLIP and V-FLIP for normal operation which also implies
-        * that a set/unset operation for user space HFLIP and VFLIP v4l2
-        * controls will need to be internally inverted.
-        *
-        * Rotation also changes the bayer pattern.
-        */
-       if (sensor->hwcfg.module_board_orient ==
-           CCS_MODULE_BOARD_ORIENT_180)
-               sensor->hvflip_inv_mask =
-                       CCS_IMAGE_ORIENTATION_HORIZONTAL_MIRROR |
-                       CCS_IMAGE_ORIENTATION_VERTICAL_FLIP;
-
        rval = ccs_call_quirk(sensor, limits);
        if (rval) {
                dev_err(&client->dev, "limits quirks failed\n");
 
 #define CCS_LIM_AT(sensor, limit, offset)      \
        ccs_get_limit(sensor, CCS_L_##limit, CCS_L_##limit##_OFFSET(offset))
 
-/*
- * Sometimes due to board layout considerations the camera module can be
- * mounted rotated. The typical rotation used is 180 degrees which can be
- * corrected by giving a default H-FLIP and V-FLIP in the sensor readout.
- * FIXME: rotation also changes the bayer pattern.
- */
-enum ccs_module_board_orient {
-       CCS_MODULE_BOARD_ORIENT_0 = 0,
-       CCS_MODULE_BOARD_ORIENT_180,
-};
-
 struct ccs_flash_strobe_parms {
        u8 mode;
        u32 strobe_width_high_us;
        u32 csi_signalling_mode;        /* CCS_CSI_SIGNALLING_MODE_* */
        u64 *op_sys_clock;
 
-       enum ccs_module_board_orient module_board_orient;
-
        struct ccs_flash_strobe_parms *strobe_setup;
 };
 
        u8 scale_m;
        u8 scaling_mode;
 
-       u8 hvflip_inv_mask; /* H/VFLIP inversion due to sensor orientation */
        u8 frame_skip;
        u16 embedded_start; /* embedded data start line */
        u16 embedded_end;